@teseor/css 1.4.0 → 1.6.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 (59) hide show
  1. package/dist/compiled.css +1 -1
  2. package/dist/index.css +22 -0
  3. package/package.json +1 -1
  4. package/src/04-components/actions/close-button/close-button-visual.png +0 -0
  5. package/src/04-components/actions/close-button/close-button.api.json +71 -0
  6. package/src/04-components/actions/close-button/close-button.docs.json +264 -0
  7. package/src/04-components/actions/close-button/close-button.visual.spec.ts +14 -0
  8. package/src/04-components/actions/close-button/index.scss +101 -0
  9. package/src/04-components/data-display/image/image-visual.png +0 -0
  10. package/src/04-components/data-display/image/image.api.json +76 -0
  11. package/src/04-components/data-display/image/image.docs.json +337 -0
  12. package/src/04-components/data-display/image/image.visual.spec.ts +14 -0
  13. package/src/04-components/data-display/image/index.scss +103 -0
  14. package/src/04-components/feedback/progress-circle/index.scss +92 -0
  15. package/src/04-components/feedback/progress-circle/progress-circle-visual.png +0 -0
  16. package/src/04-components/feedback/progress-circle/progress-circle.api.json +53 -0
  17. package/src/04-components/feedback/progress-circle/progress-circle.docs.json +377 -0
  18. package/src/04-components/feedback/progress-circle/progress-circle.visual.spec.ts +14 -0
  19. package/src/04-components/forms/checkbox-group/checkbox-group-visual.png +0 -0
  20. package/src/04-components/forms/checkbox-group/checkbox-group.api.json +54 -0
  21. package/src/04-components/forms/checkbox-group/checkbox-group.docs.json +338 -0
  22. package/src/04-components/forms/checkbox-group/checkbox-group.visual.spec.ts +14 -0
  23. package/src/04-components/forms/checkbox-group/index.scss +84 -0
  24. package/src/04-components/forms/fieldset/fieldset-visual.png +0 -0
  25. package/src/04-components/forms/fieldset/fieldset.api.json +49 -0
  26. package/src/04-components/forms/fieldset/fieldset.docs.json +520 -0
  27. package/src/04-components/forms/fieldset/fieldset.visual.spec.ts +14 -0
  28. package/src/04-components/forms/fieldset/index.scss +69 -0
  29. package/src/04-components/forms/form/form-visual.png +0 -0
  30. package/src/04-components/forms/form/form.api.json +38 -0
  31. package/src/04-components/forms/form/form.docs.json +482 -0
  32. package/src/04-components/forms/form/form.visual.spec.ts +14 -0
  33. package/src/04-components/forms/form/index.scss +62 -0
  34. package/src/04-components/forms/radio-group/index.scss +84 -0
  35. package/src/04-components/forms/radio-group/radio-group-visual.png +0 -0
  36. package/src/04-components/forms/radio-group/radio-group.api.json +54 -0
  37. package/src/04-components/forms/radio-group/radio-group.docs.json +350 -0
  38. package/src/04-components/forms/radio-group/radio-group.visual.spec.ts +14 -0
  39. package/src/04-components/forms/search-input/index.scss +172 -0
  40. package/src/04-components/forms/search-input/search-input-visual.png +0 -0
  41. package/src/04-components/forms/search-input/search-input.api.json +85 -0
  42. package/src/04-components/forms/search-input/search-input.docs.json +257 -0
  43. package/src/04-components/forms/search-input/search-input.visual.spec.ts +14 -0
  44. package/src/04-components/forms/slider/index.scss +153 -0
  45. package/src/04-components/forms/slider/slider-visual.png +0 -0
  46. package/src/04-components/forms/slider/slider.api.json +70 -0
  47. package/src/04-components/forms/slider/slider.docs.json +144 -0
  48. package/src/04-components/forms/slider/slider.visual.spec.ts +14 -0
  49. package/src/04-components/index.scss +11 -0
  50. package/src/04-components/typography/code-block/code-block-visual.png +0 -0
  51. package/src/04-components/typography/code-block/code-block.api.json +56 -0
  52. package/src/04-components/typography/code-block/code-block.docs.json +289 -0
  53. package/src/04-components/typography/code-block/code-block.visual.spec.ts +14 -0
  54. package/src/04-components/typography/code-block/index.scss +87 -0
  55. package/src/04-components/typography/list/index.scss +65 -0
  56. package/src/04-components/typography/list/list-visual.png +0 -0
  57. package/src/04-components/typography/list/list.api.json +33 -0
  58. package/src/04-components/typography/list/list.docs.json +293 -0
  59. package/src/04-components/typography/list/list.visual.spec.ts +14 -0
package/dist/index.css CHANGED
@@ -36,6 +36,8 @@
36
36
  @layer components.styles{.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--ui-space-1, 0.5rem);block-size:var(--ui-_height);padding-inline:var(--ui-_padding-x);margin:0;font-family:var(--ui-font-sans, system-ui, -apple-system, blinkmacsystemfont, Segoe UI, roboto, Helvetica Neue, arial, sans-serif);font-size:var(--ui-_font-size);font-weight:var(--ui-_font-weight);line-height:1;text-decoration:none;white-space:nowrap;color:var(--ui-_text);background:var(--ui-_bg);border:var(--ui-_border, none);border-radius:var(--ui-_radius);cursor:pointer;transition:background-color var(--ui-duration-base) var(--ui-ease-default),color var(--ui-duration-base) var(--ui-ease-default),transform var(--ui-duration-fast) var(--ui-ease-default)}.ui-button:hover,.ui-button--hover{color:var(--ui-_text-hover, var(--ui-_text));background:var(--ui-_bg-hover)}.ui-button:focus-visible,.ui-button--focus{outline:var(--ui-border-width-md, 0.125rem) solid var(--ui-color-focus, oklch(75% 0.15 250deg));outline-offset:var(--ui-border-width-md, 0.125rem)}.ui-button:active,.ui-button--active{transform:scale(0.98)}.ui-button:disabled{opacity:.5;cursor:not-allowed}.ui-button:disabled:hover{background:var(--ui-_bg);transform:none}.ui-button--icon{inline-size:var(--ui-_height)}.ui-button--block{inline-size:100%}.ui-button--link{text-decoration:underline;text-underline-offset:var(--ui-space-quarter)}.ui-button--link:hover{text-decoration-thickness:var(--ui-space-quarter)}.ui-button__icon{flex-shrink:0;block-size:1em;inline-size:1em}.ui-button__icon--start{order:-1}.ui-button__icon--end{order:1}.ui-button--loading{position:relative;opacity:.7;pointer-events:none}.ui-button--loading::after{content:"";position:absolute;block-size:1em;inline-size:1em;border:2px solid currentcolor;border-radius:50%;animation:button-spin .6s linear infinite;border-inline-end-color:rgba(0,0,0,0)}@keyframes button-spin{to{transform:rotate(360deg)}}}
37
37
  @layer components.tokens{.ui-button-group{--ui-_radius: var(--ui-button-group-radius, var(--ui-radius-md, calc(0.5rem / 2)))}}
38
38
  @layer components.styles{.ui-button-group{display:inline-flex}.ui-button-group>.ui-button:not(:first-child,:last-child){border-radius:0}.ui-button-group>.ui-button:first-child:not(:last-child){border-start-end-radius:0;border-end-end-radius:0}.ui-button-group>.ui-button:last-child:not(:first-child){border-start-start-radius:0;border-end-start-radius:0}.ui-button-group>.ui-button+.ui-button{margin-inline-start:calc(0.5rem/-8)}.ui-button-group>.ui-button:focus-visible{z-index:1}.ui-button-group--vertical{flex-direction:column}.ui-button-group--vertical>.ui-button:not(:first-child,:last-child){border-radius:0}.ui-button-group--vertical>.ui-button:first-child:not(:last-child){border-end-start-radius:0;border-end-end-radius:0}.ui-button-group--vertical>.ui-button:last-child:not(:first-child){border-start-start-radius:0;border-start-end-radius:0}.ui-button-group--vertical>.ui-button+.ui-button{border-block-start-width:0;margin-inline-start:0}.ui-button-group--attached>.ui-button{border-inline-end-width:0}.ui-button-group--attached>.ui-button:last-child{border-inline-end-width:1px}.ui-button-group--attached>.ui-button+.ui-button{margin-inline-start:0}}
39
+ @layer components.tokens{.ui-close-button{--ui-_size: var(--ui-close-button-size, var(--ui-row-2, 2rem));--ui-_icon-size: var(--ui-close-button-icon-size, var(--ui-size-md, 1rem));--ui-_color: var(--ui-close-button-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_bg: var(--ui-close-button-bg, transparent);--ui-_hover-bg: var(--ui-close-button-hover-bg, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));--ui-_radius: var(--ui-close-button-radius, var(--ui-radius-md, 0.5rem))}.ui-close-button--sm{--ui-_size: var(--ui-close-button-size-sm, calc(0.5rem * 3));--ui-_icon-size: var(--ui-close-button-icon-size-sm, var(--ui-size-sm, 0.75rem))}.ui-close-button--lg{--ui-_size: var(--ui-close-button-size-lg, var(--ui-row-3, 3rem));--ui-_icon-size: var(--ui-close-button-icon-size-lg, var(--ui-size-lg, 1.25rem))}.ui-close-button--subtle{--ui-_color: var(--ui-close-button-subtle-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));--ui-_hover-bg: var(--ui-close-button-subtle-hover-bg, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)))}}
40
+ @layer components.styles{.ui-close-button{display:inline-flex;align-items:center;justify-content:center;block-size:var(--ui-_size);inline-size:var(--ui-_size);padding:0;margin:0;font:inherit;color:var(--ui-_color);background:var(--ui-_bg);border:none;border-radius:var(--ui-_radius);cursor:pointer;appearance:none;transition:background-color var(--ui-duration-base, 150ms) var(--ui-ease-default, ease),color var(--ui-duration-base, 150ms) var(--ui-ease-default, ease)}.ui-close-button:hover,.ui-close-button--hover{color:var(--ui-color-text, hsl(220, 10%, 10%));background:var(--ui-_hover-bg)}.ui-close-button:focus-visible,.ui-close-button--focus{outline:var(--ui-border-width-md, 0.125rem) solid var(--ui-color-focus, oklch(75% 0.15 250deg));outline-offset:var(--ui-border-width-md, 0.125rem)}.ui-close-button:active,.ui-close-button--active{transform:scale(0.92)}.ui-close-button:disabled{opacity:.5;cursor:not-allowed}.ui-close-button:disabled:hover{color:var(--ui-_color);background:var(--ui-_bg);transform:none}.ui-close-button__icon{flex-shrink:0;block-size:var(--ui-_icon-size);inline-size:var(--ui-_icon-size);fill:none;stroke:currentcolor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}}
39
41
  @layer components.tokens{.ui-avatar{--ui-_size: var(--ui-avatar-size, calc(0.5rem * 5));--ui-_bg: var(--ui-avatar-bg, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)));--ui-_color: var(--ui-avatar-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_font-size: var(--ui-avatar-font-size, var(--ui-font-size-sm, 0.875rem));--ui-_radius: var(--ui-avatar-radius, 50%)}.ui-avatar--xs{--ui-_size: var(--ui-avatar-size-xs, calc(0.5rem * 3));--ui-_font-size: var(--ui-avatar-font-size-xs, var(--ui-font-size-xs, 0.75rem))}.ui-avatar--sm{--ui-_size: var(--ui-avatar-size-sm, calc(0.5rem * 4));--ui-_font-size: var(--ui-avatar-font-size-sm, var(--ui-font-size-xs, 0.75rem))}.ui-avatar--lg{--ui-_size: var(--ui-avatar-size-lg, calc(0.5rem * 6));--ui-_font-size: var(--ui-avatar-font-size-lg, var(--ui-font-size-md, 1rem))}.ui-avatar--xl{--ui-_size: var(--ui-avatar-size-xl, calc(0.5rem * 8));--ui-_font-size: var(--ui-avatar-font-size-xl, var(--ui-font-size-lg, 1.25rem))}.ui-avatar--square{--ui-_radius: var(--ui-avatar-radius-square, var(--ui-radius-md, 0.5rem))}}
40
42
  @layer components.styles{.ui-avatar{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;position:relative;block-size:var(--ui-_size);inline-size:var(--ui-_size);overflow:hidden;font-size:var(--ui-_font-size);font-weight:var(--ui-weight-medium, 500);line-height:1;text-transform:uppercase;color:var(--ui-_color);background:var(--ui-_bg);border-radius:var(--ui-_radius)}.ui-avatar__image{position:absolute;inset:0;block-size:100%;inline-size:100%;object-fit:cover;border-radius:inherit}.ui-avatar__fallback{display:flex;align-items:center;justify-content:center;block-size:100%;inline-size:100%;user-select:none}.ui-avatar-group{display:flex;flex-direction:row-reverse;justify-content:flex-end}.ui-avatar-group>.ui-avatar{margin-inline-start:calc(var(--ui-_size)*-0.25);border:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-color-bg, hsl(220, 10%, 98%))}.ui-avatar-group>.ui-avatar:last-child{margin-inline-start:0}}
41
43
  @layer components.tokens{.ui-badge{--ui-_accent: var(--ui-badge-accent, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));--ui-_height: var(--ui-badge-height, calc(var(--ui-row, 1rem) * 1.25));--ui-_padding-x: var(--ui-badge-padding-x, var(--ui-space-1, 0.5rem));--ui-_font-size: var(--ui-badge-font-size, var(--ui-font-size-xs, 0.75rem));--ui-_font-weight: var(--ui-badge-font-weight, var(--ui-weight-medium, 500));--ui-_radius: var(--ui-badge-radius, var(--ui-radius-full, 9999px));--ui-_bg: var(--ui-_accent);--ui-_text: var(--ui-badge-text, var(--ui-color-text, hsl(220, 10%, 10%)))}.ui-badge--sm{--ui-_height: var(--ui-badge-height-sm, var(--ui-row, 1rem));--ui-_padding-x: var(--ui-badge-padding-x-sm, var(--ui-space-0, 0.25rem));--ui-_font-size: var(--ui-badge-font-size-sm, calc(var(--ui-font-size-xs, 0.75rem) * 0.85))}.ui-badge--primary{--ui-_accent: var(--ui-color-primary, oklch(55% 0.22 250deg));--ui-_text: var(--ui-color-text-inverse, hsl(220, 10%, 98%))}.ui-badge--success{--ui-_accent: var(--ui-color-success, oklch(60% 0.18 145deg));--ui-_text: var(--ui-color-text-inverse, hsl(220, 10%, 98%))}.ui-badge--warning{--ui-_accent: var(--ui-color-warning, oklch(75% 0.18 70deg));--ui-_text: var(--ui-color-text, hsl(220, 10%, 10%))}.ui-badge--danger{--ui-_accent: var(--ui-color-danger, oklch(60% 0.22 25deg));--ui-_text: var(--ui-color-text-inverse, hsl(220, 10%, 98%))}}
@@ -46,6 +48,8 @@
46
48
  @layer components.styles{.ui-data-list{display:flex;flex-direction:column;gap:var(--ui-_gap);margin:0;line-height:var(--ui-row-1, 1rem)}.ui-data-list__item{display:flex;flex-direction:column;gap:var(--ui-_item-gap)}.ui-data-list__label{font-size:var(--ui-font-size-sm, 0.875rem);font-weight:var(--ui-weight-medium, 500);line-height:var(--ui-row-1, 1rem);color:var(--ui-_label-color)}.ui-data-list__value{margin:0;line-height:var(--ui-row-1, 1rem);color:var(--ui-_value-color)}.ui-data-list--horizontal .ui-data-list__item{flex-direction:row;align-items:baseline;justify-content:space-between;gap:calc(0.5rem*2)}.ui-data-list--horizontal .ui-data-list__label{flex-shrink:0}.ui-data-list--horizontal .ui-data-list__value{text-align:end}.ui-data-list--divided .ui-data-list__item{padding-block-end:calc(var(--ui-_gap) - var(--ui-border-width-sm, 0.0625rem));border-block-end:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-color-border, hsl(220, 10%, 90%))}.ui-data-list--divided .ui-data-list__item:last-child{padding-block-end:0;border-block-end:none}.ui-data-list--striped .ui-data-list__item:nth-child(odd){padding:calc(0.5rem*1);background:var(--ui-color-bg-subtle, hsl(220, 10%, 96%));border-radius:var(--ui-radius-sm, 0.25rem)}.ui-data-list--sm{--ui-_gap: calc(0.5rem * 1);--ui-_item-gap: 0;font-size:var(--ui-font-size-sm, 0.875rem)}.ui-data-list--lg{--ui-_gap: calc(0.5rem * 3);--ui-_item-gap: calc(0.5rem * 1);font-size:var(--ui-font-size-lg, 1.25rem)}}
47
49
  @layer components.tokens{.ui-icon{--ui-_size: var(--ui-icon-size, var(--ui-ctx-size, 1rem));--ui-_stroke: var(--ui-icon-stroke, 2)}.ui-icon--xs{--ui-_size: var(--ui-icon-size-xs, var(--ui-size-xs, 0.5rem))}.ui-icon--sm{--ui-_size: var(--ui-icon-size-sm, var(--ui-size-sm, 0.75rem))}.ui-icon--md{--ui-_size: var(--ui-icon-size-md, var(--ui-size-md, 1rem))}.ui-icon--lg{--ui-_size: var(--ui-icon-size-lg, var(--ui-size-lg, 1.25rem))}.ui-icon--xl{--ui-_size: var(--ui-icon-size-xl, var(--ui-size-xl, 1.5rem))}.ui-icon--stroke-thin{--ui-_stroke: var(--ui-icon-stroke-thin, 1)}.ui-icon--stroke-thick{--ui-_stroke: var(--ui-icon-stroke-thick, 2.5)}}
48
50
  @layer components.styles{.ui-icon{display:inline-block;flex-shrink:0;block-size:var(--ui-_size);inline-size:var(--ui-_size);vertical-align:middle;color:currentcolor;fill:none;stroke:currentcolor;stroke-width:var(--ui-_stroke);stroke-linecap:round;stroke-linejoin:round}.ui-icon--filled{fill:currentcolor;stroke:none}.ui-icon--spin{animation:icon-spin 1s linear infinite}@keyframes icon-spin{to{transform:rotate(360deg)}}}
51
+ @layer components.tokens{.ui-image{--ui-_size: var(--ui-image-size, auto);--ui-_radius: var(--ui-image-radius, 0);--ui-_object-fit: var(--ui-image-object-fit, cover);--ui-_bg: var(--ui-image-bg, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));--ui-_caption-color: var(--ui-image-caption-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_caption-font-size: var(--ui-image-caption-font-size, var(--ui-font-size-sm, 0.875rem));--ui-_caption-spacing: var(--ui-image-caption-spacing, var(--ui-space-1))}.ui-image--sm{--ui-_size: var(--ui-image-size-sm, calc(0.5rem * 12))}.ui-image--md{--ui-_size: var(--ui-image-size-md, calc(0.5rem * 24))}.ui-image--lg{--ui-_size: var(--ui-image-size-lg, calc(0.5rem * 40))}.ui-image--xl{--ui-_size: var(--ui-image-size-xl, calc(0.5rem * 60))}.ui-image--full{--ui-_size: 100%}.ui-image--rounded{--ui-_radius: var(--ui-image-radius-rounded, var(--ui-radius-lg, 1rem))}.ui-image--circle{--ui-_radius: var(--ui-image-radius-circle, 50%)}.ui-image--cover{--ui-_object-fit: cover}.ui-image--contain{--ui-_object-fit: contain}}
52
+ @layer components.styles{.ui-image{display:inline-block;max-inline-size:100%;padding:0;margin:0}.ui-image__img{display:block;block-size:var(--ui-_size);inline-size:var(--ui-_size);max-inline-size:100%;object-fit:var(--ui-_object-fit);background:var(--ui-_bg);border-radius:var(--ui-_radius)}.ui-image__img:not([src]),.ui-image__img[src=""]{aspect-ratio:1/1;min-block-size:calc(0.5rem*8);min-inline-size:calc(0.5rem*8)}.ui-image__caption{margin-block-start:var(--ui-_caption-spacing);font-size:var(--ui-_caption-font-size);line-height:var(--ui-row-1, 1rem);color:var(--ui-_caption-color)}.ui-image--circle .ui-image__img{aspect-ratio:1/1}}
49
53
  @layer components.tokens{.ui-stat{--ui-_gap: var(--ui-stat-gap, var(--ui-space-1, 0.5rem))}.ui-stat__value{--ui-_font-size: var(--ui-stat-value-font-size, var(--ui-font-size-3xl, 2rem));--ui-_font-weight: var(--ui-stat-value-font-weight, var(--ui-weight-bold, 700));--ui-_line-height: var(--ui-stat-value-line-height, var(--ui-leading-3xl, 2.5rem));--ui-_color: var(--ui-stat-value-color, var(--ui-color-text, hsl(220, 10%, 10%)))}.ui-stat__label{--ui-_font-size: var(--ui-stat-label-font-size, var(--ui-font-size-sm, 0.875rem));--ui-_color: var(--ui-stat-label-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_line-height: var(--ui-stat-label-line-height, var(--ui-leading-sm, 1.5rem))}.ui-stat--sm .ui-stat__value{--ui-_font-size: var(--ui-font-size-xl, 1.5rem);--ui-_line-height: var(--ui-leading-xl, 2rem)}}
50
54
  @layer components.styles{.ui-stat{display:flex;flex-direction:column;gap:var(--ui-_gap)}.ui-stat__value{font-size:var(--ui-_font-size);font-weight:var(--ui-_font-weight);line-height:var(--ui-_line-height);letter-spacing:var(--ui-tracking-display, -0.02em);color:var(--ui-_color)}.ui-stat__label{font-size:var(--ui-_font-size);line-height:var(--ui-_line-height);color:var(--ui-_color)}}
51
55
  @layer components.tokens{.ui-status{--ui-_size: var(--ui-status-size, calc(0.5rem * 1));--ui-_color: var(--ui-status-color, var(--ui-color-text-muted));--ui-_gap: var(--ui-status-gap, calc(0.5rem * 1))}.ui-status--success{--ui-_color: var(--ui-color-success)}.ui-status--warning{--ui-_color: var(--ui-color-warning)}.ui-status--danger{--ui-_color: var(--ui-color-danger)}.ui-status--info{--ui-_color: var(--ui-color-primary)}}
@@ -62,6 +66,8 @@
62
66
  @layer components.styles{.ui-alert{display:flex;align-items:flex-start;gap:var(--ui-_gap);padding:calc(var(--ui-_padding) - var(--ui-_border-width));padding-inline:var(--ui-_padding);color:var(--ui-_color);background:var(--ui-_bg);border:var(--ui-_border-width) solid var(--ui-_border-color);border-radius:var(--ui-_radius);border-inline-start-width:calc(0.5rem*.5)}.ui-alert__icon{flex-shrink:0;color:var(--ui-_icon-color)}.ui-alert__content{flex:1;min-inline-size:0}.ui-alert__title{margin:0;font-weight:var(--ui-weight-medium, 500);line-height:var(--ui-row-1, 1rem)}.ui-alert__description{margin:0;margin-block-start:calc(0.5rem*1);font-size:var(--ui-font-size-sm, 0.875rem);line-height:var(--ui-row-1, 1rem);color:var(--ui-color-text-muted, hsl(220, 10%, 45%))}.ui-alert__close{flex-shrink:0;align-self:flex-start;padding:0;color:var(--ui-color-text-muted, hsl(220, 10%, 45%));background:none;border:none;cursor:pointer}.ui-alert__close:hover{color:var(--ui-color-text, hsl(220, 10%, 10%))}}
63
67
  @layer components.tokens{.ui-progress{--ui-_height: var(--ui-progress-height, calc(0.5rem * 1));--ui-_bg: var(--ui-progress-bg, var(--ui-color-bg-subtle, rgb(0 0 0 / 0.1)));--ui-_fill: var(--ui-progress-fill, var(--ui-color-primary));--ui-_radius: var(--ui-progress-radius, var(--ui-radius-full, 9999px))}.ui-progress--sm{--ui-_height: calc(0.5rem * 1)}.ui-progress--lg{--ui-_height: calc(0.5rem * 2)}}
64
68
  @layer components.styles{.ui-progress{position:relative;block-size:var(--ui-_height);overflow:hidden;background:var(--ui-_bg);border-radius:var(--ui-_radius)}.ui-progress__bar{block-size:100%;background:var(--ui-_fill);border-radius:var(--ui-_radius);transition:inline-size var(--ui-duration-normal, 200ms) var(--ui-ease-default, ease)}.ui-progress--indeterminate .ui-progress__bar{inline-size:30%;animation:progress-indeterminate 1.5s infinite ease-in-out}@keyframes progress-indeterminate{0%{transform:translateX(-100%)}100%{transform:translateX(400%)}}.ui-progress--striped .ui-progress__bar{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:0.5rem 0.5rem}.ui-progress--animated .ui-progress__bar{animation:progress-stripes 1s linear infinite}@keyframes progress-stripes{from{background-position:0.5rem 0}to{background-position:0 0}}.ui-progress--success{--ui-_fill: var(--ui-color-success)}.ui-progress--warning{--ui-_fill: var(--ui-color-warning)}.ui-progress--danger{--ui-_fill: var(--ui-color-danger)}}
69
+ @layer components.tokens{.ui-progress-circle{--ui-_size: var(--ui-progress-circle-size, calc(var(--ui-unit) * 6));--ui-_stroke-width: var(--ui-progress-circle-stroke-width, 8);--ui-_fill-color: var(--ui-progress-circle-fill-color, var(--ui-color-primary));--ui-_track-color: var(--ui-progress-circle-track-color, var(--ui-color-border));--ui-_value: var(--ui-progress-circle-value, 0);--ui-_circumference: 282.743}.ui-progress-circle--sm{--ui-_size: var(--ui-progress-circle-size-sm, calc(var(--ui-unit) * 4))}.ui-progress-circle--lg{--ui-_size: var(--ui-progress-circle-size-lg, calc(var(--ui-unit) * 8))}.ui-progress-circle--xl{--ui-_size: var(--ui-progress-circle-size-xl, calc(var(--ui-unit) * 12))}.ui-progress-circle--success{--ui-_fill-color: var(--ui-color-success)}.ui-progress-circle--warning{--ui-_fill-color: var(--ui-color-warning)}.ui-progress-circle--danger{--ui-_fill-color: var(--ui-color-danger)}}
70
+ @layer components.styles{.ui-progress-circle{display:inline-block;flex-shrink:0;block-size:var(--ui-_size);inline-size:var(--ui-_size);vertical-align:middle;transform:rotate(-90deg)}.ui-progress-circle__track{fill:none;stroke:var(--ui-_track-color);stroke-width:var(--ui-_stroke-width)}.ui-progress-circle__fill{fill:none;stroke:var(--ui-_fill-color);stroke-width:var(--ui-_stroke-width);stroke-linecap:round;stroke-dasharray:var(--ui-_circumference);stroke-dashoffset:calc(var(--ui-_circumference)*(1 - var(--ui-_value)/100));transition:stroke-dashoffset var(--ui-duration-slow, 300ms) var(--ui-ease-default, ease)}.ui-progress-circle--indeterminate{animation:progress-circle-rotate 1.4s linear infinite}.ui-progress-circle--indeterminate .ui-progress-circle__fill{stroke-dashoffset:calc(var(--ui-_circumference)*.25);transition:none}@keyframes progress-circle-rotate{from{transform:rotate(-90deg)}to{transform:rotate(270deg)}}}
65
71
  @layer components.tokens{.ui-skeleton{--ui-_bg: var(--ui-skeleton-bg, var(--ui-color-bg-subtle, rgb(0 0 0 / 0.1)));--ui-_shimmer: var(--ui-skeleton-shimmer, rgb(255 255 255 / 0.5));--ui-_radius: var(--ui-skeleton-radius, var(--ui-radius-sm, calc(0.5rem / 2)))}}
66
72
  @layer components.styles{.ui-skeleton{display:block;position:relative;overflow:hidden;background:var(--ui-_bg);border-radius:var(--ui-_radius)}.ui-skeleton::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, transparent 0%, var(--ui-_shimmer) 50%, transparent 100%);animation:skeleton-shimmer 1.5s infinite;transform:translateX(-100%)}@keyframes skeleton-shimmer{100%{transform:translateX(100%)}}.ui-skeleton--text{block-size:calc(0.5rem*2);inline-size:100%}.ui-skeleton--heading{block-size:calc(0.5rem*3);inline-size:60%}.ui-skeleton--circle{block-size:calc(0.5rem*5);inline-size:calc(0.5rem*5);border-radius:50%}.ui-skeleton--rect{block-size:calc(0.5rem*20);inline-size:100%}.ui-skeleton--static::after{animation:none}.ui-skeleton--pulse{animation:skeleton-pulse 1.5s infinite ease-in-out}.ui-skeleton--pulse::after{display:none}@keyframes skeleton-pulse{0%,100%{opacity:1}50%{opacity:.5}}}
67
73
  @layer components.tokens{.ui-spinner{--ui-_size: var(--ui-spinner-size, calc(var(--ui-unit) * 4));--ui-_border-width: var(--ui-spinner-border-width, var(--ui-border-width-md));--ui-_color: var(--ui-spinner-color, currentcolor);--ui-_track-color: var(--ui-spinner-track-color, transparent);--ui-_duration: var(--ui-spinner-duration, 750ms)}.ui-spinner--xs{--ui-_size: var(--ui-spinner-size-xs, calc(var(--ui-unit) * 2));--ui-_border-width: var(--ui-spinner-border-width-xs, var(--ui-border-width-sm))}.ui-spinner--sm{--ui-_size: var(--ui-spinner-size-sm, calc(var(--ui-unit) * 3));--ui-_border-width: var(--ui-spinner-border-width-sm, var(--ui-border-width-md))}.ui-spinner--lg{--ui-_size: var(--ui-spinner-size-lg, calc(var(--ui-unit) * 5));--ui-_border-width: var(--ui-spinner-border-width-lg, var(--ui-border-width-md))}.ui-spinner--xl{--ui-_size: var(--ui-spinner-size-xl, calc(var(--ui-unit) * 6));--ui-_border-width: var(--ui-spinner-border-width-xl, var(--ui-border-width-lg))}}
@@ -70,8 +76,14 @@
70
76
  @layer components.styles{.ui-toast-viewport{display:flex;flex-direction:column;gap:var(--ui-_gap);position:fixed;z-index:var(--ui-z-toast, 1000);max-inline-size:var(--ui-_max-width);padding:var(--ui-_padding);pointer-events:none;list-style:none}.ui-toast-viewport--top-end{inset-block-start:0;inset-inline-end:0}.ui-toast-viewport--top-start{inset-block-start:0;inset-inline-start:0}.ui-toast-viewport--bottom-end{inset-block-end:0;inset-inline-end:0}.ui-toast-viewport--bottom-start{inset-block-end:0;inset-inline-start:0}.ui-toast-viewport--top-center{inset-block-start:0;inset-inline-start:50%;transform:translateX(-50%)}.ui-toast-viewport--bottom-center{inset-block-end:0;inset-inline-start:50%;transform:translateX(-50%)}.ui-toast{display:flex;align-items:flex-start;gap:var(--ui-_gap);padding:var(--ui-_padding);background:var(--ui-_bg);border-radius:var(--ui-_radius);outline:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-_border-color);box-shadow:var(--ui-_shadow);pointer-events:auto;outline-offset:calc(var(--ui-border-width-sm, 0.0625rem)*-1)}.ui-toast__icon{flex-shrink:0}.ui-toast__content{flex:1;min-inline-size:0}.ui-toast__title{margin:0;font-weight:var(--ui-weight-medium, 500);line-height:var(--ui-row-1, 1rem)}.ui-toast__description{margin:0;font-size:var(--ui-font-size-sm, 0.875rem);line-height:var(--ui-row-1, 1rem);color:var(--ui-color-text-muted, hsl(220, 10%, 45%))}.ui-toast__action{flex-shrink:0}.ui-toast__close{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;block-size:var(--ui-row-1, 1rem);inline-size:var(--ui-row-1, 1rem);padding:0;color:var(--ui-color-text-muted, hsl(220, 10%, 45%));background:none;border:none;cursor:pointer}.ui-toast__close:hover{color:var(--ui-color-text, hsl(220, 10%, 10%))}.ui-toast[data-state=open]{animation:toast-slide-in var(--ui-duration-normal, 200ms) var(--ui-ease-out, ease-out)}.ui-toast[data-state=closed]{animation:toast-slide-out var(--ui-duration-fast, 100ms) var(--ui-ease-in, ease-in)}@keyframes toast-slide-in{from{opacity:0;transform:translateX(100%)}}@keyframes toast-slide-out{to{opacity:0;transform:translateX(100%)}}}
71
77
  @layer components.tokens{.ui-checkbox{--ui-_size: var(--ui-checkbox-size, calc(0.5rem * 2));--ui-_radius: var(--ui-checkbox-radius, var(--ui-radius-sm, 0.25rem));--ui-_bg: var(--ui-checkbox-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));--ui-_bg-checked: var(--ui-checkbox-bg-checked, var(--ui-color-primary, oklch(55% 0.22 250deg)));--ui-_border-color: var(--ui-checkbox-border-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));--ui-_border-color-focus: var(--ui-checkbox-border-color-focus, var(--ui-color-primary, oklch(55% 0.22 250deg)));--ui-_check-color: var(--ui-checkbox-check-color, var(--ui-color-text-inverse, hsl(220, 10%, 98%)))}.ui-checkbox--lg{--ui-_size: var(--ui-checkbox-size-lg, calc(0.5rem * 3))}.ui-checkbox--error{--ui-_border-color: var(--ui-checkbox-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));--ui-_border-color-focus: var(--ui-checkbox-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)))}}
72
78
  @layer components.styles{.ui-checkbox{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;block-size:var(--ui-_size);inline-size:var(--ui-_size);margin:0;vertical-align:middle;background:var(--ui-_bg);border:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-_border-color);border-radius:var(--ui-_radius);cursor:pointer;appearance:none;transition:background-color var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),border-color var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),box-shadow var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease)}.ui-checkbox::before{content:"";block-size:65%;inline-size:65%;background-color:var(--ui-_check-color);opacity:0;clip-path:polygon(20% 55%, 40% 75%, 80% 25%, 85% 30%, 40% 85%, 15% 60%);transition:opacity var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease)}.ui-checkbox:hover:not(:disabled){border-color:var(--ui-_border-color-focus)}.ui-checkbox:focus-visible{border-color:var(--ui-_border-color-focus);outline:none;box-shadow:0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, oklch(75% 0.15 250deg))}.ui-checkbox:checked{background:var(--ui-_bg-checked);border-color:var(--ui-_bg-checked)}.ui-checkbox:checked::before{opacity:1}.ui-checkbox:indeterminate{background:var(--ui-_bg-checked);border-color:var(--ui-_bg-checked)}.ui-checkbox:indeterminate::before{opacity:1;clip-path:polygon(15% 45%, 85% 45%, 85% 55%, 15% 55%)}.ui-checkbox:disabled{opacity:.5;cursor:not-allowed}}
79
+ @layer components.tokens{.ui-checkbox-group{--ui-_spacing: var(--ui-checkbox-group-spacing, var(--ui-space-1, 0.5rem));--ui-_legend-size: var(--ui-checkbox-group-legend-size, var(--ui-font-size-sm, 0.875rem));--ui-_legend-weight: var(--ui-checkbox-group-legend-weight, var(--ui-weight-medium, 500));--ui-_legend-color: var(--ui-checkbox-group-legend-color, var(--ui-color-text, hsl(220, 10%, 10%)));--ui-_legend-spacing: var(--ui-checkbox-group-legend-spacing, var(--ui-space-1, 0.5rem));--ui-_item-gap: var(--ui-checkbox-group-item-gap, var(--ui-space-1, 0.5rem))}.ui-checkbox-group--compact{--ui-_spacing: var(--ui-checkbox-group-spacing-compact, 0);--ui-_legend-spacing: var(--ui-checkbox-group-legend-spacing-compact, 0);--ui-_item-gap: var(--ui-checkbox-group-item-gap-compact, 0)}.ui-checkbox-group--error{--ui-_legend-color: var(--ui-checkbox-group-error-color, var(--ui-color-danger, oklch(60% 0.22 25deg)))}}
80
+ @layer components.styles{.ui-checkbox-group{display:flex;flex-direction:column;gap:var(--ui-_legend-spacing);min-inline-size:0;padding:0;margin:0;border:none}.ui-checkbox-group__legend{padding:0;font-size:var(--ui-_legend-size);font-weight:var(--ui-_legend-weight);line-height:var(--ui-leading-tight-sm, var(--ui-row-1, 1rem));color:var(--ui-_legend-color)}.ui-checkbox-group__items{display:flex;flex-direction:column;gap:var(--ui-_spacing)}.ui-checkbox-group__item{display:flex;align-items:center;gap:var(--ui-_item-gap);line-height:var(--ui-row-1, 1rem);cursor:pointer}.ui-checkbox-group__item:has(:disabled){opacity:.5;cursor:not-allowed}.ui-checkbox-group--horizontal>.ui-checkbox-group__items{flex-direction:row;flex-wrap:wrap;gap:var(--ui-space-2, 1rem)}.ui-checkbox-group:disabled,.ui-checkbox-group[aria-disabled=true]{opacity:.5;cursor:not-allowed}}
73
81
  @layer components.tokens{.ui-field{--ui-_gap: var(--ui-field-gap, 0)}}
74
82
  @layer components.styles{.ui-field{display:flex;flex-direction:column;gap:var(--ui-_gap)}.ui-field__control{display:flex;flex-direction:column}.ui-field--horizontal{flex-direction:row;flex-wrap:wrap;align-items:flex-start}.ui-field--horizontal>.ui-field__label{flex:0 0 auto;min-inline-size:calc(0.5rem*15);padding-block-start:calc(0.5rem*1)}.ui-field--horizontal>.ui-field__control{flex:1 1 0;min-inline-size:calc(0.5rem*20)}}
83
+ @layer components.tokens{.ui-fieldset{--ui-_spacing: var(--ui-fieldset-spacing, var(--ui-space-2, 1rem));--ui-_border-color: var(--ui-fieldset-border-color, var(--ui-color-border, hsl(220, 10%, 90%)));--ui-_border-width: var(--ui-fieldset-border-width, var(--ui-border-width-sm, 0.0625rem));--ui-_border-radius: var(--ui-fieldset-border-radius, var(--ui-radius-md, 0.5rem));--ui-_padding: var(--ui-fieldset-padding, var(--ui-space-2, 1rem));--ui-_legend-size: var(--ui-fieldset-legend-size, var(--ui-font-size-sm, 0.875rem));--ui-_legend-weight: var(--ui-fieldset-legend-weight, var(--ui-weight-medium, 500));--ui-_legend-color: var(--ui-fieldset-legend-color, var(--ui-color-text, hsl(220, 10%, 10%)))}.ui-fieldset--compact{--ui-_spacing: var(--ui-fieldset-spacing-compact, var(--ui-space-1, 0.5rem));--ui-_padding: var(--ui-fieldset-padding-compact, var(--ui-space-1, 0.5rem))}}
84
+ @layer components.styles{.ui-fieldset{display:flex;flex-direction:column;gap:var(--ui-_spacing);min-inline-size:0;padding:0;margin:0;border:none}.ui-fieldset__legend{inline-size:100%;padding:0;font-size:var(--ui-_legend-size);font-weight:var(--ui-_legend-weight);line-height:var(--ui-leading-tight-sm, var(--ui-row-1, 1rem));color:var(--ui-_legend-color)}.ui-fieldset--bordered{padding:var(--ui-_padding);padding-block-end:calc(var(--ui-_padding) - var(--ui-_border-width));border:var(--ui-_border-width) solid var(--ui-_border-color);border-radius:var(--ui-_border-radius)}.ui-fieldset--bordered>.ui-fieldset__legend{inline-size:auto;padding-inline:var(--ui-space-half, 0.25rem);margin-inline-start:calc(-1*var(--ui-space-half, 0.25rem))}.ui-fieldset:disabled,.ui-fieldset[aria-disabled=true]{opacity:.5;cursor:not-allowed}}
85
+ @layer components.tokens{.ui-form{--ui-_spacing: var(--ui-form-spacing, var(--ui-space-3, calc(0.5rem * 3)));--ui-_actions-gap: var(--ui-form-actions-gap, var(--ui-space-2, calc(0.5rem * 2)));--ui-_section-spacing: var(--ui-form-section-spacing, var(--ui-space-4, calc(0.5rem * 4)))}}
86
+ @layer components.styles{.ui-form{display:flex;flex-direction:column;gap:var(--ui-_spacing)}.ui-form__section{display:flex;flex-direction:column;gap:var(--ui-_spacing);padding:0;margin:0;border:0}.ui-form__section+.ui-form__section{padding-block-start:var(--ui-_section-spacing)}.ui-form__actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--ui-_actions-gap)}.ui-form--compact{--ui-_spacing: var(--ui-form-spacing-compact, var(--ui-space-2, calc(0.5rem * 2)));--ui-_section-spacing: var(--ui-form-section-spacing-compact, var(--ui-space-3, calc(0.5rem * 3)))}.ui-form--inline{flex-direction:row;flex-wrap:wrap;align-items:flex-end}.ui-form--inline>.ui-form__actions{align-items:flex-end}}
75
87
  @layer components.tokens{.ui-form-error{--ui-_color: var(--ui-form-error-color, var(--ui-color-danger));--ui-_size: var(--ui-form-error-size, var(--ui-font-size-sm, 0.875rem));--ui-_gap: var(--ui-form-error-gap, 0)}}
76
88
  @layer components.styles{.ui-form-error{display:flex;align-items:flex-start;gap:var(--ui-_gap);margin-block-start:var(--ui-_gap);font-size:var(--ui-_size);line-height:var(--ui-leading-tight-sm, var(--ui-row-1));color:var(--ui-_color)}.ui-form-error__icon{flex-shrink:0}}
77
89
  @layer components.tokens{.ui-form-helper{--ui-_color: var(--ui-form-helper-color, var(--ui-color-text-muted));--ui-_size: var(--ui-form-helper-size, var(--ui-font-size-sm, 0.875rem));--ui-_gap: var(--ui-form-helper-gap, 0)}}
@@ -82,8 +94,14 @@
82
94
  @layer components.styles{.ui-label{display:inline-flex;align-items:baseline;gap:0;font-size:var(--ui-_font-size);font-weight:var(--ui-weight-medium, 500);line-height:var(--ui-leading-tight-sm, var(--ui-row-1));color:var(--ui-_color);cursor:pointer}.ui-label[aria-disabled=true]{opacity:.5;cursor:not-allowed}.ui-label__required{color:var(--ui-_required-color)}.ui-label__optional{font-weight:var(--ui-weight-normal, 400);color:var(--ui-color-text-muted, hsl(220, 10%, 45%))}}
83
95
  @layer components.tokens{.ui-radio{--ui-_size: var(--ui-radio-size, calc(0.5rem * 2));--ui-_bg: var(--ui-radio-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));--ui-_bg-checked: var(--ui-radio-bg-checked, var(--ui-color-primary, oklch(55% 0.22 250deg)));--ui-_border-color: var(--ui-radio-border-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));--ui-_border-color-focus: var(--ui-radio-border-color-focus, var(--ui-color-primary, oklch(55% 0.22 250deg)));--ui-_dot-color: var(--ui-radio-dot-color, var(--ui-color-text-inverse, hsl(220, 10%, 98%)))}.ui-radio--lg{--ui-_size: var(--ui-radio-size-lg, calc(0.5rem * 3))}.ui-radio--error{--ui-_border-color: var(--ui-radio-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));--ui-_border-color-focus: var(--ui-radio-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)))}}
84
96
  @layer components.styles{.ui-radio{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;block-size:var(--ui-_size);inline-size:var(--ui-_size);margin:0;vertical-align:middle;background:var(--ui-_bg);border:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-_border-color);border-radius:50%;cursor:pointer;appearance:none;transition:background-color var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),border-color var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),box-shadow var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease)}.ui-radio::before{content:"";block-size:50%;inline-size:50%;background-color:var(--ui-_dot-color);border-radius:50%;opacity:0;transform:scale(0);transition:opacity var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),transform var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease)}.ui-radio:hover:not(:disabled){border-color:var(--ui-_border-color-focus)}.ui-radio:focus-visible{border-color:var(--ui-_border-color-focus);outline:none;box-shadow:0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, oklch(75% 0.15 250deg))}.ui-radio:checked{background:var(--ui-_bg-checked);border-color:var(--ui-_bg-checked)}.ui-radio:checked::before{opacity:1;transform:scale(1)}.ui-radio:disabled{opacity:.5;cursor:not-allowed}}
97
+ @layer components.tokens{.ui-radio-group{--ui-_spacing: var(--ui-radio-group-spacing, var(--ui-space-1, 0.5rem));--ui-_legend-size: var(--ui-radio-group-legend-size, var(--ui-font-size-sm, 0.875rem));--ui-_legend-weight: var(--ui-radio-group-legend-weight, var(--ui-weight-medium, 500));--ui-_legend-color: var(--ui-radio-group-legend-color, var(--ui-color-text, hsl(220, 10%, 10%)));--ui-_legend-spacing: var(--ui-radio-group-legend-spacing, var(--ui-space-1, 0.5rem));--ui-_item-gap: var(--ui-radio-group-item-gap, var(--ui-space-1, 0.5rem))}.ui-radio-group--compact{--ui-_spacing: var(--ui-radio-group-spacing-compact, 0);--ui-_legend-spacing: var(--ui-radio-group-legend-spacing-compact, 0);--ui-_item-gap: var(--ui-radio-group-item-gap-compact, 0)}.ui-radio-group--error{--ui-_legend-color: var(--ui-radio-group-error-color, var(--ui-color-danger, oklch(60% 0.22 25deg)))}}
98
+ @layer components.styles{.ui-radio-group{display:flex;flex-direction:column;gap:var(--ui-_legend-spacing);min-inline-size:0;padding:0;margin:0;border:none}.ui-radio-group__legend{padding:0;font-size:var(--ui-_legend-size);font-weight:var(--ui-_legend-weight);line-height:var(--ui-leading-tight-sm, var(--ui-row-1, 1rem));color:var(--ui-_legend-color)}.ui-radio-group__items{display:flex;flex-direction:column;gap:var(--ui-_spacing)}.ui-radio-group__item{display:flex;align-items:center;gap:var(--ui-_item-gap);line-height:var(--ui-row-1, 1rem);cursor:pointer}.ui-radio-group__item:has(:disabled){opacity:.5;cursor:not-allowed}.ui-radio-group--horizontal>.ui-radio-group__items{flex-direction:row;flex-wrap:wrap;gap:var(--ui-space-2, 1rem)}.ui-radio-group:disabled,.ui-radio-group[aria-disabled=true]{opacity:.5;cursor:not-allowed}}
99
+ @layer components.tokens{.ui-search-input{--ui-_height: var(--ui-search-input-height, var(--ui-row-2, 2rem));--ui-_padding-x: var(--ui-search-input-padding-x, var(--ui-space-1, 0.5rem));--ui-_font-size: var(--ui-search-input-font-size, var(--ui-font-size-sm, 0.875rem));--ui-_radius: var(--ui-search-input-radius, var(--ui-radius-md, 0.5rem));--ui-_bg: var(--ui-search-input-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));--ui-_border-color: var(--ui-search-input-border-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));--ui-_border-color-focus: var(--ui-search-input-border-color-focus, var(--ui-color-primary, oklch(55% 0.22 250deg)));--ui-_text: var(--ui-search-input-text, var(--ui-color-text, hsl(220, 10%, 10%)));--ui-_placeholder: var(--ui-search-input-placeholder, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_icon-color: var(--ui-search-input-icon-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_icon-size: var(--ui-search-input-icon-size, var(--ui-size-md, 1rem));--ui-_clear-color: var(--ui-search-input-clear-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_clear-hover-bg: var(--ui-search-input-clear-hover-bg, var(--ui-color-bg-muted, hsl(220, 10%, 90%)))}.ui-search-input--sm{--ui-_height: var(--ui-search-input-height-sm, calc(1rem * 1.5));--ui-_font-size: var(--ui-search-input-font-size-sm, var(--ui-font-size-xs, 0.75rem));--ui-_icon-size: var(--ui-search-input-icon-size-sm, var(--ui-size-sm, 0.75rem))}.ui-search-input--lg{--ui-_height: var(--ui-search-input-height-lg, calc(1rem * 2.5));--ui-_padding-x: var(--ui-search-input-padding-x-lg, var(--ui-space-2, 1rem));--ui-_font-size: var(--ui-search-input-font-size-lg, var(--ui-font-size-md, 1rem));--ui-_icon-size: var(--ui-search-input-icon-size-lg, var(--ui-size-lg, 1.25rem))}}
100
+ @layer components.styles{.ui-search-input{display:inline-flex;align-items:center;block-size:var(--ui-_height);background:var(--ui-_bg);border:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-_border-color);border-radius:var(--ui-_radius);transition:border-color var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),box-shadow var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease)}.ui-search-input:focus-within,.ui-search-input--focus{border-color:var(--ui-_border-color-focus);box-shadow:0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, oklch(75% 0.15 250deg))}.ui-search-input--block{inline-size:100%}.ui-search-input--disabled,.ui-search-input:has(.ui-search-input__field:disabled){opacity:.5;cursor:not-allowed}.ui-search-input__icon{display:flex;flex-shrink:0;align-items:center;justify-content:center;inline-size:var(--ui-_height);color:var(--ui-_icon-color);pointer-events:none}.ui-search-input__icon svg{block-size:var(--ui-_icon-size);inline-size:var(--ui-_icon-size);fill:none;stroke:currentcolor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ui-search-input__field{flex:1;block-size:100%;min-inline-size:0;padding:0;padding-inline-end:var(--ui-_padding-x);font-family:inherit;font-size:var(--ui-_font-size);line-height:1;color:var(--ui-_text);background:rgba(0,0,0,0);border:none;outline:none}.ui-search-input__field::placeholder{color:var(--ui-_placeholder)}.ui-search-input__field::-webkit-search-cancel-button,.ui-search-input__field::-webkit-search-decoration{appearance:none}.ui-search-input--has-clear .ui-search-input__field{padding-inline-end:0}.ui-search-input__clear{display:flex;flex-shrink:0;align-items:center;justify-content:center;block-size:calc(var(--ui-_height) - var(--ui-space-half, 0.25rem)*2);inline-size:calc(var(--ui-_height) - var(--ui-space-half, 0.25rem)*2);margin-inline-end:calc(var(--ui-space-half, 0.25rem));color:var(--ui-_clear-color);background:rgba(0,0,0,0);border:none;border-radius:var(--ui-radius-sm, 0.25rem);cursor:pointer;transition:background var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease)}.ui-search-input__clear:hover{background:var(--ui-_clear-hover-bg)}.ui-search-input__clear:focus-visible{outline:2px solid var(--ui-color-focus, oklch(75% 0.15 250deg));outline-offset:-2px}.ui-search-input__clear svg{block-size:var(--ui-_icon-size);inline-size:var(--ui-_icon-size);fill:none;stroke:currentcolor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}}
85
101
  @layer components.tokens{.ui-select{--ui-_height: var(--ui-select-height, var(--ui-row-2, 2rem));--ui-_padding-x: var(--ui-select-padding-x, var(--ui-space-1, 0.5rem));--ui-_font-size: var(--ui-select-font-size, var(--ui-font-size-sm, 0.875rem));--ui-_radius: var(--ui-select-radius, var(--ui-radius-md, 0.5rem));--ui-_bg: var(--ui-select-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));--ui-_border-color: var(--ui-select-border-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));--ui-_border-color-focus: var(--ui-select-border-color-focus, var(--ui-color-primary, oklch(55% 0.22 250deg)));--ui-_text: var(--ui-select-text, var(--ui-color-text, hsl(220, 10%, 10%)));--ui-_icon-color: var(--ui-select-icon-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)))}.ui-select--sm{--ui-_height: var(--ui-select-height-sm, calc(1rem * 1.5));--ui-_font-size: var(--ui-select-font-size-sm, var(--ui-font-size-xs, 0.75rem))}.ui-select--lg{--ui-_height: var(--ui-select-height-lg, calc(1rem * 2.5));--ui-_padding-x: var(--ui-select-padding-x-lg, var(--ui-space-2, 1rem));--ui-_font-size: var(--ui-select-font-size-lg, var(--ui-font-size-md, 1rem))}.ui-select--filled{--ui-_bg: var(--ui-select-filled-bg, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));--ui-_border-color: transparent}.ui-select--ghost{--ui-_bg: transparent;--ui-_border-color: transparent}.ui-select--error{--ui-_border-color: var(--ui-select-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));--ui-_border-color-focus: var(--ui-select-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)))}.ui-select--success{--ui-_border-color: var(--ui-select-success-border, var(--ui-color-success, oklch(60% 0.18 145deg)));--ui-_border-color-focus: var(--ui-select-success-border, var(--ui-color-success, oklch(60% 0.18 145deg)))}}
86
102
  @layer components.styles{.ui-select{display:inline-block;block-size:var(--ui-_height);padding-inline-start:var(--ui-_padding-x);padding-inline-end:calc(var(--ui-_height) - var(--ui-space-half, 0.25rem));font-family:inherit;font-size:var(--ui-_font-size);line-height:1;color:var(--ui-_text);background-color:var(--ui-_bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-_border-color);border-radius:var(--ui-_radius);cursor:pointer;appearance:none;transition:border-color var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),box-shadow var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease);background-repeat:no-repeat;background-position:right var(--ui-space-half, 0.25rem) center;background-size:calc(var(--ui-_height)*.5)}.ui-select:hover:not(:disabled,:focus){border-color:var(--ui-color-border-strong, hsl(220, 10%, 80%))}.ui-select:focus,.ui-select--focus{border-color:var(--ui-_border-color-focus);outline:none;box-shadow:0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, oklch(75% 0.15 250deg))}.ui-select:disabled,.ui-select--disabled{opacity:.5;cursor:not-allowed}.ui-select--block{inline-size:100%}.ui-select:invalid,.ui-select--placeholder{color:var(--ui-color-text-muted, hsl(220, 10%, 45%))}}
103
+ @layer components.tokens{.ui-slider{--ui-_height: var(--ui-slider-height, var(--ui-row-2, 2rem));--ui-_track-height: var(--ui-slider-track-height, 0.5rem);--ui-_track-bg: var(--ui-slider-track-bg, var(--ui-color-bg-subtle, rgb(0 0 0 / 0.1)));--ui-_track-fill: var(--ui-slider-track-fill, var(--ui-color-primary));--ui-_track-radius: var(--ui-slider-track-radius, var(--ui-radius-full, 9999px));--ui-_thumb-size: var(--ui-slider-thumb-size, calc(0.5rem * 2.5));--ui-_thumb-bg: var(--ui-slider-thumb-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));--ui-_thumb-border-color: var(--ui-slider-thumb-border-color, var(--ui-color-primary));--ui-_thumb-border-width: var(--ui-slider-thumb-border-width, var(--ui-border-width-md, 0.125rem));--ui-_thumb-radius: var(--ui-slider-thumb-radius, var(--ui-radius-full, 9999px));--ui-_thumb-shadow: var(--ui-slider-thumb-shadow, 0 1px 3px rgb(0 0 0 / 0.2));--ui-_focus-ring: var(--ui-slider-focus-ring, var(--ui-color-focus, oklch(75% 0.15 250deg)))}.ui-slider--sm{--ui-_height: var(--ui-slider-height-sm, calc(1rem * 1.5));--ui-_track-height: calc(0.5rem * 0.5);--ui-_thumb-size: calc(0.5rem * 2)}.ui-slider--lg{--ui-_height: var(--ui-slider-height-lg, calc(1rem * 2.5));--ui-_track-height: calc(0.5rem * 1.5);--ui-_thumb-size: calc(0.5rem * 3)}.ui-slider--success{--ui-_track-fill: var(--ui-color-success);--ui-_thumb-border-color: var(--ui-color-success)}.ui-slider--warning{--ui-_track-fill: var(--ui-color-warning);--ui-_thumb-border-color: var(--ui-color-warning)}.ui-slider--danger{--ui-_track-fill: var(--ui-color-danger);--ui-_thumb-border-color: var(--ui-color-danger)}}
104
+ @layer components.styles{.ui-slider{display:inline-flex;align-items:center;block-size:var(--ui-_height);inline-size:100%;padding:0;margin:0;background:rgba(0,0,0,0);cursor:pointer;appearance:none}.ui-slider::-webkit-slider-runnable-track{block-size:var(--ui-_track-height);background:var(--ui-_track-bg);border-radius:var(--ui-_track-radius)}.ui-slider::-moz-range-track{block-size:var(--ui-_track-height);background:var(--ui-_track-bg);border:none;border-radius:var(--ui-_track-radius)}.ui-slider::-moz-range-progress{block-size:var(--ui-_track-height);background:var(--ui-_track-fill);border-radius:var(--ui-_track-radius)}.ui-slider::-webkit-slider-thumb{block-size:var(--ui-_thumb-size);inline-size:var(--ui-_thumb-size);margin-block-start:calc((var(--ui-_track-height) - var(--ui-_thumb-size))/2);background:var(--ui-_thumb-bg);border:var(--ui-_thumb-border-width) solid var(--ui-_thumb-border-color);border-radius:var(--ui-_thumb-radius);box-shadow:var(--ui-_thumb-shadow);appearance:none;transition:box-shadow var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),transform var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease)}.ui-slider::-moz-range-thumb{block-size:var(--ui-_thumb-size);inline-size:var(--ui-_thumb-size);background:var(--ui-_thumb-bg);border:var(--ui-_thumb-border-width) solid var(--ui-_thumb-border-color);border-radius:var(--ui-_thumb-radius);box-shadow:var(--ui-_thumb-shadow);transition:box-shadow var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),transform var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease)}.ui-slider:focus-visible{outline:none}.ui-slider:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-_focus-ring)}.ui-slider:focus-visible::-moz-range-thumb{box-shadow:0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-_focus-ring)}.ui-slider:hover:not(:disabled)::-webkit-slider-thumb{transform:scale(1.1)}.ui-slider:hover:not(:disabled)::-moz-range-thumb{transform:scale(1.1)}.ui-slider:disabled{opacity:.5;cursor:not-allowed}}
87
105
  @layer components.tokens{.ui-textarea{--ui-_min-height: var(--ui-textarea-min-height, calc(1rem * 4));--ui-_padding-x: var(--ui-textarea-padding-x, var(--ui-space-1, 0.5rem));--ui-_padding-y: var(--ui-textarea-padding-y, var(--ui-space-1, 0.5rem));--ui-_font-size: var(--ui-textarea-font-size, var(--ui-font-size-sm, 0.875rem));--ui-_radius: var(--ui-textarea-radius, var(--ui-radius-md, 0.5rem));--ui-_bg: var(--ui-textarea-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));--ui-_border-color: var(--ui-textarea-border-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));--ui-_border-color-focus: var(--ui-textarea-border-color-focus, var(--ui-color-primary, oklch(55% 0.22 250deg)));--ui-_text: var(--ui-textarea-text, var(--ui-color-text, hsl(220, 10%, 10%)));--ui-_placeholder: var(--ui-textarea-placeholder, var(--ui-color-text-muted, hsl(220, 10%, 45%)))}.ui-textarea--sm{--ui-_min-height: var(--ui-textarea-min-height-sm, calc(1rem * 3));--ui-_font-size: var(--ui-textarea-font-size-sm, var(--ui-font-size-xs, 0.75rem))}.ui-textarea--lg{--ui-_min-height: var(--ui-textarea-min-height-lg, calc(1rem * 6));--ui-_padding-x: var(--ui-textarea-padding-x-lg, var(--ui-space-2, 1rem));--ui-_padding-y: var(--ui-textarea-padding-y-lg, var(--ui-space-2, 1rem));--ui-_font-size: var(--ui-textarea-font-size-lg, var(--ui-font-size-md, 1rem))}.ui-textarea--filled{--ui-_bg: var(--ui-textarea-filled-bg, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));--ui-_border-color: transparent}.ui-textarea--ghost{--ui-_bg: transparent;--ui-_border-color: transparent}.ui-textarea--error{--ui-_border-color: var(--ui-textarea-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)));--ui-_border-color-focus: var(--ui-textarea-error-border, var(--ui-color-danger, oklch(60% 0.22 25deg)))}.ui-textarea--success{--ui-_border-color: var(--ui-textarea-success-border, var(--ui-color-success, oklch(60% 0.18 145deg)));--ui-_border-color-focus: var(--ui-textarea-success-border, var(--ui-color-success, oklch(60% 0.18 145deg)))}}
88
106
  @layer components.styles{.ui-textarea{display:block;box-sizing:border-box;inline-size:100%;min-block-size:var(--ui-_min-height);padding-block:var(--ui-_padding-y);padding-inline:var(--ui-_padding-x);font-family:inherit;font-size:var(--ui-_font-size);line-height:var(--ui-row-1, 1rem);color:var(--ui-_text);background:var(--ui-_bg);border:none;border-radius:var(--ui-_radius);outline:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-_border-color);transition:border-color var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease),box-shadow var(--ui-duration-fast, 150ms) var(--ui-ease-default, ease);outline-offset:calc(var(--ui-border-width-sm, 0.0625rem)*-1);resize:vertical}.ui-textarea::placeholder{color:var(--ui-_placeholder)}.ui-textarea:hover:not(:disabled,:focus){outline-color:var(--ui-color-border-strong, hsl(220, 10%, 80%))}.ui-textarea:focus,.ui-textarea--focus{outline-color:var(--ui-_border-color-focus);box-shadow:0 0 0 var(--ui-border-width-md, 0.125rem) var(--ui-color-focus, oklch(75% 0.15 250deg))}.ui-textarea:disabled,.ui-textarea--disabled{opacity:.5;cursor:not-allowed;resize:none}.ui-textarea:read-only{background:var(--ui-color-bg-subtle, hsl(220, 10%, 96%));resize:none}.ui-textarea--resize-none{resize:none}.ui-textarea--resize-horizontal{resize:horizontal}.ui-textarea--resize-both{resize:both}}
89
107
  @layer components.tokens{.ui-toggle{--ui-_track-width: var(--ui-toggle-track-width, calc(0.5rem * 5));--ui-_track-height: var(--ui-toggle-track-height, calc(0.5rem * 3));--ui-_track-bg: var(--ui-toggle-track-bg, var(--ui-color-bg-subtle, rgb(0 0 0 / 0.1)));--ui-_track-bg-checked: var(--ui-toggle-track-bg-checked, var(--ui-color-primary));--ui-_track-radius: var(--ui-toggle-track-radius, calc(0.5rem * 1.5));--ui-_thumb-size: var(--ui-toggle-thumb-size, calc(0.5rem * 2.5));--ui-_thumb-bg: var(--ui-toggle-thumb-bg, white);--ui-_thumb-offset: var(--ui-toggle-thumb-offset, calc(0.5rem / 4))}.ui-toggle--sm{--ui-_track-width: calc(0.5rem * 4);--ui-_track-height: calc(0.5rem * 2);--ui-_track-radius: 0.5rem;--ui-_thumb-size: calc(0.5rem * 1.5)}.ui-toggle--lg{--ui-_track-width: calc(0.5rem * 6);--ui-_track-height: calc(0.5rem * 4);--ui-_track-radius: calc(0.5rem * 2);--ui-_thumb-size: calc(0.5rem * 3.5)}}
@@ -118,12 +136,16 @@
118
136
  @layer components.styles{.ui-blockquote{padding-inline-start:var(--ui-_padding-inline);margin:0;font-size:var(--ui-_font-size);font-style:italic;line-height:var(--ui-_line-height);color:var(--ui-_color);border-inline-start:var(--ui-_border-width) solid var(--ui-_border-color)}.ui-blockquote__cite{display:block;margin-block-start:var(--ui-space-1, 0.5rem);font-size:var(--ui-font-size-sm, 0.875rem);font-style:normal;line-height:var(--ui-leading-sm, 1.5rem);color:var(--ui-color-text-muted, hsl(220, 10%, 45%))}}
119
137
  @layer components.tokens{.ui-code{--ui-_font-size: var(--ui-code-font-size, var(--ui-font-size-sm, 0.875rem));--ui-_bg: var(--ui-code-bg, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));--ui-_padding-x: var(--ui-code-padding-x, var(--ui-space-1, 0.5rem));--ui-_padding-y: var(--ui-code-padding-y, var(--ui-space-0, 0.25rem));--ui-_radius: var(--ui-code-radius, var(--ui-radius-sm, 0.25rem))}.ui-code--sm{--ui-_font-size: var(--ui-font-size-xs, 0.75rem)}.ui-code-block{--ui-_font-size: var(--ui-code-font-size-block, var(--ui-font-size-sm, 0.875rem));--ui-_bg: var(--ui-code-bg-block, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));--ui-_padding: var(--ui-code-padding-block, var(--ui-space-3, 1.5rem));--ui-_radius: var(--ui-code-radius-block, var(--ui-radius-md, 0.5rem));--ui-_border-color: var(--ui-code-border-color-block, var(--ui-color-border, hsl(220, 10%, 90%)))}}
120
138
  @layer components.styles{.ui-code{padding:var(--ui-_padding-y) var(--ui-_padding-x);font-family:var(--ui-font-mono, ui-monospace, sfmono-regular, SF Mono, menlo, consolas, Liberation Mono, monospace);font-size:var(--ui-_font-size);line-height:var(--ui-leading-tight-sm, 1rem);background:var(--ui-_bg);border-radius:var(--ui-_radius)}.ui-code-block{display:block;padding:calc(var(--ui-_padding) - var(--ui-border-width-sm, 0.0625rem));overflow-x:auto;font-family:var(--ui-font-mono, ui-monospace, sfmono-regular, SF Mono, menlo, consolas, Liberation Mono, monospace);font-size:var(--ui-_font-size);line-height:var(--ui-leading-tight-sm, 1rem);white-space:pre;background:var(--ui-_bg);border:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-_border-color);border-radius:var(--ui-_radius)}.ui-code-block code{padding:0;font-size:inherit;background:none}}
139
+ @layer components.tokens{.ui-code-block{--ui-_bg: var(--ui-code-block-bg, var(--ui-color-bg-muted, hsl(220, 10%, 90%)));--ui-_color: var(--ui-code-block-color, var(--ui-color-text, hsl(220, 10%, 10%)));--ui-_border-color: var(--ui-code-block-border-color, var(--ui-color-border, hsl(220, 10%, 90%)));--ui-_padding: var(--ui-code-block-padding, var(--ui-space-3, 1.5rem));--ui-_font-size: var(--ui-code-block-font-size, var(--ui-font-size-sm, 0.875rem));--ui-_line-height: var(--ui-code-block-line-height, var(--ui-leading-tight-sm, 1rem));--ui-_radius: var(--ui-code-block-radius, var(--ui-radius-md, 0.5rem))}.ui-code-block--compact{--ui-_padding: var(--ui-code-block-padding-compact, var(--ui-space-1, 0.5rem))}.ui-code-block--line-numbers{--ui-_line-number-color: var(--ui-code-block-line-number-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_line-number-border-color: var(--ui-code-block-line-number-border-color, var(--ui-color-border, hsl(220, 10%, 90%)))}}
140
+ @layer components.styles{.ui-code-block{display:block;padding:calc(var(--ui-_padding) - var(--ui-border-width-sm, 0.0625rem));overflow-x:auto;font-family:var(--ui-font-mono, ui-monospace, sfmono-regular, SF Mono, menlo, consolas, Liberation Mono, monospace);font-size:var(--ui-_font-size);line-height:var(--ui-_line-height);white-space:pre;color:var(--ui-_color);background:var(--ui-_bg);border:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-_border-color);border-radius:var(--ui-_radius)}.ui-code-block__code{padding:0;font:inherit;color:inherit;background:none;border:none}.ui-code-block--line-numbers{counter-reset:line-number;padding-inline-start:0}.ui-code-block--line-numbers .ui-code-block__line{display:block}.ui-code-block--line-numbers .ui-code-block__line-number{display:inline-block;counter-increment:line-number;box-sizing:border-box;min-inline-size:var(--ui-space-4, 2rem);padding-inline-end:var(--ui-space-2, 1rem);margin-inline-end:var(--ui-space-2, 1rem);font-variant-numeric:tabular-nums;text-align:end;color:var(--ui-_line-number-color);border-inline-end:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-_line-number-border-color);user-select:none}.ui-code-block--line-numbers .ui-code-block__line-number::before{content:counter(line-number)}}
121
141
  @layer components.tokens{.ui-heading{--ui-_font-size: var(--ui-heading-font-size, var(--ui-font-size-xl, 1.5rem));--ui-_line-height: var(--ui-heading-line-height, var(--ui-leading-xl, 2rem));--ui-_weight: var(--ui-heading-weight, var(--ui-weight-bold, 700));--ui-_color: var(--ui-heading-color, var(--ui-color-text, hsl(220, 10%, 10%)))}.ui-heading--4xl{--ui-_font-size: var(--ui-heading-font-size-4xl, var(--ui-font-size-4xl, 2.5rem));--ui-_line-height: var(--ui-heading-line-height-4xl, var(--ui-leading-4xl, 3rem))}.ui-heading--3xl{--ui-_font-size: var(--ui-heading-font-size-3xl, var(--ui-font-size-3xl, 2rem));--ui-_line-height: var(--ui-heading-line-height-3xl, var(--ui-leading-3xl, 2.5rem))}.ui-heading--2xl{--ui-_font-size: var(--ui-heading-font-size-2xl, var(--ui-font-size-2xl, 1.75rem));--ui-_line-height: var(--ui-heading-line-height-2xl, var(--ui-leading-2xl, 2rem))}.ui-heading--xl{--ui-_font-size: var(--ui-heading-font-size-xl, var(--ui-font-size-xl, 1.5rem));--ui-_line-height: var(--ui-heading-line-height-xl, var(--ui-leading-xl, 2rem))}.ui-heading--lg{--ui-_font-size: var(--ui-heading-font-size-lg, var(--ui-font-size-lg, 1.25rem));--ui-_line-height: var(--ui-heading-line-height-lg, var(--ui-leading-lg, 2rem))}.ui-heading--md{--ui-_font-size: var(--ui-heading-font-size-md, var(--ui-font-size-md, 1rem));--ui-_line-height: var(--ui-heading-line-height-md, var(--ui-leading-tight-md, 1.5rem))}.ui-heading--sm{--ui-_font-size: var(--ui-heading-font-size-sm, var(--ui-font-size-sm, 0.875rem));--ui-_line-height: var(--ui-heading-line-height-sm, var(--ui-leading-tight-sm, 1rem))}}
122
142
  @layer components.styles{.ui-heading{margin:0;font-size:var(--ui-_font-size);font-weight:var(--ui-_weight);line-height:var(--ui-_line-height);color:var(--ui-_color)}}
123
143
  @layer components.tokens{.ui-kbd{--ui-_font-size: var(--ui-kbd-font-size, var(--ui-font-size-sm, 0.875rem));--ui-_font-family: var(--ui-kbd-font-family, var(--ui-font-mono, ui-monospace, sfmono-regular, SF Mono, menlo, consolas, Liberation Mono, monospace));--ui-_padding-x: var(--ui-kbd-padding-x, var(--ui-space-0, 0.25rem));--ui-_padding-y: var(--ui-kbd-padding-y, var(--ui-space-0, 0.25rem));--ui-_bg: var(--ui-kbd-bg, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)));--ui-_border-color: var(--ui-kbd-border-color, var(--ui-color-border, hsl(220, 10%, 90%)));--ui-_radius: var(--ui-kbd-radius, var(--ui-radius-sm, 0.25rem));--ui-_color: var(--ui-kbd-color, var(--ui-color-text, hsl(220, 10%, 10%)))}}
124
144
  @layer components.styles{.ui-kbd{display:inline-flex;align-items:center;padding:var(--ui-_padding-y) var(--ui-_padding-x);font-family:var(--ui-_font-family);font-size:var(--ui-_font-size);line-height:1;color:var(--ui-_color);background:var(--ui-_bg);border:var(--ui-border-width-sm, 0.0625rem) solid var(--ui-_border-color);border-radius:var(--ui-_radius);box-shadow:0 var(--ui-space-quarter, 0.125rem) 0 var(--ui-_border-color)}}
125
145
  @layer components.tokens{.ui-link{--ui-_color: var(--ui-link-color, var(--ui-color-primary));--ui-_color-hover: var(--ui-link-color-hover, var(--ui-color-primary-hover, color-mix(in srgb, var(--ui-_color) 85%, black)));--ui-_color-visited: var(--ui-link-color-visited, var(--ui-_color));--ui-_decoration: var(--ui-link-decoration, underline);--ui-_decoration-hover: var(--ui-link-decoration-hover, underline)}.ui-link--muted{--ui-_color: var(--ui-link-color-muted, var(--ui-color-text-muted));--ui-_color-hover: var(--ui-link-color-muted-hover, var(--ui-color-text))}.ui-link--subtle{--ui-_decoration: none;--ui-_decoration-hover: underline}}
126
146
  @layer components.styles{.ui-link{text-decoration:var(--ui-_decoration);color:var(--ui-_color);cursor:pointer;transition:color var(--ui-duration-fast, 100ms) var(--ui-ease-default, ease);text-underline-offset:calc(0.5rem/4)}.ui-link:hover{text-decoration:var(--ui-_decoration-hover);color:var(--ui-_color-hover)}.ui-link:focus-visible{border-radius:calc(0.5rem/4);outline:2px solid var(--ui-color-focus, var(--ui-color-primary));outline-offset:calc(0.5rem/4)}.ui-link:visited{color:var(--ui-_color-visited)}.ui-link--disabled,.ui-link[aria-disabled=true]{color:var(--ui-color-text-muted);opacity:.6;cursor:not-allowed;pointer-events:none}.ui-link--external::after{content:"↗";display:inline-block;margin-inline-start:calc(0.5rem/4);font-size:.75em}}
147
+ @layer components.tokens{.ui-list{--ui-_spacing: var(--ui-list-spacing, 0.5rem);--ui-_marker-color: var(--ui-list-marker-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_indent: var(--ui-list-indent, var(--ui-space-3, 1.5rem));--ui-_line-height: var(--ui-list-line-height, var(--ui-leading-md, 1.5rem))}.ui-list--compact{--ui-_spacing: 0}.ui-list--loose{--ui-_spacing: calc(0.5rem * 2)}}
148
+ @layer components.styles{.ui-list{display:flex;flex-direction:column;gap:var(--ui-_spacing);padding-inline-start:var(--ui-_indent);margin:0;line-height:var(--ui-_line-height)}.ui-list::marker,.ui-list li::marker{color:var(--ui-_marker-color)}.ui-list--unstyled{padding-inline-start:0;list-style:none}.ui-list--inline{flex-direction:row;flex-wrap:wrap;padding-inline-start:0;list-style:none}.ui-list .ui-list{margin-block-start:var(--ui-_spacing)}.ui-list__item{line-height:var(--ui-_line-height)}}
127
149
  @layer components.tokens{.ui-mark{--ui-_bg: var(--ui-mark-bg, var(--ui-color-warning, oklch(75% 0.18 70deg)));--ui-_color: var(--ui-mark-color, var(--ui-color-text, hsl(220, 10%, 10%)));--ui-_padding-x: var(--ui-mark-padding-x, var(--ui-space-quarter, 0.125rem));--ui-_padding-y: var(--ui-mark-padding-y, 0);--ui-_radius: var(--ui-mark-radius, var(--ui-radius-sm, 0.25rem))}}
128
150
  @layer components.styles{.ui-mark{padding:var(--ui-_padding-y) var(--ui-_padding-x);color:var(--ui-_color);background:var(--ui-_bg);border-radius:var(--ui-_radius)}}
129
151
  @layer utilities{.ui-m-0{margin:0}.ui-m-1{margin:var(--ui-space-1)}.ui-m-2{margin:var(--ui-space-2)}.ui-m-3{margin:var(--ui-space-3)}.ui-m-4{margin:var(--ui-space-4)}.ui-m-6{margin:var(--ui-space-6)}.ui-m-8{margin:var(--ui-space-8)}.ui-mt-0{margin-block-start:0}.ui-mt-1{margin-block-start:var(--ui-space-1)}.ui-mt-2{margin-block-start:var(--ui-space-2)}.ui-mt-3{margin-block-start:var(--ui-space-3)}.ui-mt-4{margin-block-start:var(--ui-space-4)}.ui-mt-6{margin-block-start:var(--ui-space-6)}.ui-mt-8{margin-block-start:var(--ui-space-8)}.ui-me-0{margin-inline-end:0}.ui-me-1{margin-inline-end:var(--ui-space-1)}.ui-me-2{margin-inline-end:var(--ui-space-2)}.ui-me-3{margin-inline-end:var(--ui-space-3)}.ui-me-4{margin-inline-end:var(--ui-space-4)}.ui-me-6{margin-inline-end:var(--ui-space-6)}.ui-me-8{margin-inline-end:var(--ui-space-8)}.ui-mb-0{margin-block-end:0}.ui-mb-1{margin-block-end:var(--ui-space-1)}.ui-mb-2{margin-block-end:var(--ui-space-2)}.ui-mb-3{margin-block-end:var(--ui-space-3)}.ui-mb-4{margin-block-end:var(--ui-space-4)}.ui-mb-6{margin-block-end:var(--ui-space-6)}.ui-mb-8{margin-block-end:var(--ui-space-8)}.ui-ms-0{margin-inline-start:0}.ui-ms-1{margin-inline-start:var(--ui-space-1)}.ui-ms-2{margin-inline-start:var(--ui-space-2)}.ui-ms-3{margin-inline-start:var(--ui-space-3)}.ui-ms-4{margin-inline-start:var(--ui-space-4)}.ui-ms-6{margin-inline-start:var(--ui-space-6)}.ui-ms-8{margin-inline-start:var(--ui-space-8)}.ui-mx-0{margin-inline:0}.ui-mx-1{margin-inline:var(--ui-space-1)}.ui-mx-2{margin-inline:var(--ui-space-2)}.ui-mx-3{margin-inline:var(--ui-space-3)}.ui-mx-4{margin-inline:var(--ui-space-4)}.ui-mx-auto{margin-inline:auto}.ui-my-0{margin-block:0}.ui-my-1{margin-block:var(--ui-space-1)}.ui-my-2{margin-block:var(--ui-space-2)}.ui-my-3{margin-block:var(--ui-space-3)}.ui-my-4{margin-block:var(--ui-space-4)}.ui-p-0{padding:0}.ui-p-1{padding:var(--ui-space-1)}.ui-p-2{padding:var(--ui-space-2)}.ui-p-3{padding:var(--ui-space-3)}.ui-p-4{padding:var(--ui-space-4)}.ui-p-6{padding:var(--ui-space-6)}.ui-p-8{padding:var(--ui-space-8)}.ui-pt-0{padding-block-start:0}.ui-pt-1{padding-block-start:var(--ui-space-1)}.ui-pt-2{padding-block-start:var(--ui-space-2)}.ui-pt-3{padding-block-start:var(--ui-space-3)}.ui-pt-4{padding-block-start:var(--ui-space-4)}.ui-pt-6{padding-block-start:var(--ui-space-6)}.ui-pt-8{padding-block-start:var(--ui-space-8)}.ui-pe-0{padding-inline-end:0}.ui-pe-1{padding-inline-end:var(--ui-space-1)}.ui-pe-2{padding-inline-end:var(--ui-space-2)}.ui-pe-3{padding-inline-end:var(--ui-space-3)}.ui-pe-4{padding-inline-end:var(--ui-space-4)}.ui-pe-6{padding-inline-end:var(--ui-space-6)}.ui-pe-8{padding-inline-end:var(--ui-space-8)}.ui-pb-0{padding-block-end:0}.ui-pb-1{padding-block-end:var(--ui-space-1)}.ui-pb-2{padding-block-end:var(--ui-space-2)}.ui-pb-3{padding-block-end:var(--ui-space-3)}.ui-pb-4{padding-block-end:var(--ui-space-4)}.ui-pb-6{padding-block-end:var(--ui-space-6)}.ui-pb-8{padding-block-end:var(--ui-space-8)}.ui-ps-0{padding-inline-start:0}.ui-ps-1{padding-inline-start:var(--ui-space-1)}.ui-ps-2{padding-inline-start:var(--ui-space-2)}.ui-ps-3{padding-inline-start:var(--ui-space-3)}.ui-ps-4{padding-inline-start:var(--ui-space-4)}.ui-ps-6{padding-inline-start:var(--ui-space-6)}.ui-ps-8{padding-inline-start:var(--ui-space-8)}.ui-px-0{padding-inline:0}.ui-px-1{padding-inline:var(--ui-space-1)}.ui-px-2{padding-inline:var(--ui-space-2)}.ui-px-3{padding-inline:var(--ui-space-3)}.ui-px-4{padding-inline:var(--ui-space-4)}.ui-py-0{padding-block:0}.ui-py-1{padding-block:var(--ui-space-1)}.ui-py-2{padding-block:var(--ui-space-2)}.ui-py-3{padding-block:var(--ui-space-3)}.ui-py-4{padding-block:var(--ui-space-4)}.ui-gap-0{gap:0}.ui-gap-1{gap:var(--ui-space-1)}.ui-gap-2{gap:var(--ui-space-2)}.ui-gap-3{gap:var(--ui-space-3)}.ui-gap-4{gap:var(--ui-space-4)}.ui-gap-6{gap:var(--ui-space-6)}.ui-gap-8{gap:var(--ui-space-8)}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@teseor/css",
3
- "version": "1.4.0",
3
+ "version": "1.6.0",
4
4
  "description": "CSS library - reset, primitives, components, utilities",
5
5
  "license": "MIT",
6
6
  "author": "letanure",
@@ -0,0 +1,71 @@
1
+ {
2
+ "name": "close-button",
3
+ "element": "button",
4
+ "modifiers": {
5
+ "size": {
6
+ "values": ["sm", "lg"]
7
+ },
8
+ "subtle": {
9
+ "type": "boolean"
10
+ }
11
+ },
12
+ "elements": {
13
+ "icon": {}
14
+ },
15
+ "cssVars": [
16
+ {
17
+ "name": "--ui-close-button-size",
18
+ "description": "Overall button size (width and height)",
19
+ "default": "var(--ui-row-2)"
20
+ },
21
+ {
22
+ "name": "--ui-close-button-icon-size",
23
+ "description": "Size of the X icon",
24
+ "default": "var(--ui-size-md)"
25
+ },
26
+ {
27
+ "name": "--ui-close-button-color",
28
+ "description": "Icon color",
29
+ "default": "var(--ui-color-text-muted)"
30
+ },
31
+ {
32
+ "name": "--ui-close-button-bg",
33
+ "description": "Background color",
34
+ "default": "transparent"
35
+ },
36
+ {
37
+ "name": "--ui-close-button-hover-bg",
38
+ "description": "Background color on hover",
39
+ "default": "var(--ui-color-bg-muted)"
40
+ },
41
+ {
42
+ "name": "--ui-close-button-radius",
43
+ "description": "Border radius",
44
+ "default": "var(--ui-radius-md)"
45
+ },
46
+ {
47
+ "name": "--ui-close-button-size-sm",
48
+ "default": "calc(var(--ui-unit) * 3)"
49
+ },
50
+ {
51
+ "name": "--ui-close-button-icon-size-sm",
52
+ "default": "var(--ui-size-sm)"
53
+ },
54
+ {
55
+ "name": "--ui-close-button-size-lg",
56
+ "default": "var(--ui-row-3)"
57
+ },
58
+ {
59
+ "name": "--ui-close-button-icon-size-lg",
60
+ "default": "var(--ui-size-lg)"
61
+ },
62
+ {
63
+ "name": "--ui-close-button-subtle-color",
64
+ "default": "var(--ui-color-border-strong)"
65
+ },
66
+ {
67
+ "name": "--ui-close-button-subtle-hover-bg",
68
+ "default": "var(--ui-color-bg-subtle)"
69
+ }
70
+ ]
71
+ }
@@ -0,0 +1,264 @@
1
+ {
2
+ "id": "close-button",
3
+ "type": "component",
4
+ "title": "Close Button",
5
+ "description": "Dismiss button for closing modals, alerts, drawers, and other dismissible elements.",
6
+ "api": "./close-button.api.json",
7
+ "sections": [
8
+ {
9
+ "title": "Default",
10
+ "examples": [
11
+ {
12
+ "items": [
13
+ {
14
+ "tag": "button",
15
+ "class": "ui-close-button",
16
+ "attrs": { "type": "button", "aria-label": "Close" },
17
+ "children": [
18
+ {
19
+ "tag": "svg",
20
+ "class": "ui-close-button__icon",
21
+ "attrs": {
22
+ "viewBox": "0 0 24 24",
23
+ "xmlns": "http://www.w3.org/2000/svg"
24
+ },
25
+ "children": [
26
+ {
27
+ "tag": "line",
28
+ "attrs": {
29
+ "x1": "18",
30
+ "y1": "6",
31
+ "x2": "6",
32
+ "y2": "18"
33
+ }
34
+ },
35
+ {
36
+ "tag": "line",
37
+ "attrs": {
38
+ "x1": "6",
39
+ "y1": "6",
40
+ "x2": "18",
41
+ "y2": "18"
42
+ }
43
+ }
44
+ ]
45
+ }
46
+ ]
47
+ }
48
+ ],
49
+ "code": "<button class=\"ui-close-button\" type=\"button\" aria-label=\"Close\">\n <svg class=\"ui-close-button__icon\" viewBox=\"0 0 24 24\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n</button>"
50
+ }
51
+ ]
52
+ },
53
+ {
54
+ "title": "Sizes",
55
+ "examples": [
56
+ {
57
+ "layout": "cluster",
58
+ "items": [
59
+ {
60
+ "tag": "button",
61
+ "class": "ui-close-button ui-close-button--sm",
62
+ "attrs": { "type": "button", "aria-label": "Close" },
63
+ "children": [
64
+ {
65
+ "tag": "svg",
66
+ "class": "ui-close-button__icon",
67
+ "attrs": { "viewBox": "0 0 24 24", "xmlns": "http://www.w3.org/2000/svg" },
68
+ "children": [
69
+ { "tag": "line", "attrs": { "x1": "18", "y1": "6", "x2": "6", "y2": "18" } },
70
+ { "tag": "line", "attrs": { "x1": "6", "y1": "6", "x2": "18", "y2": "18" } }
71
+ ]
72
+ }
73
+ ]
74
+ },
75
+ {
76
+ "tag": "button",
77
+ "class": "ui-close-button",
78
+ "attrs": { "type": "button", "aria-label": "Close" },
79
+ "children": [
80
+ {
81
+ "tag": "svg",
82
+ "class": "ui-close-button__icon",
83
+ "attrs": { "viewBox": "0 0 24 24", "xmlns": "http://www.w3.org/2000/svg" },
84
+ "children": [
85
+ { "tag": "line", "attrs": { "x1": "18", "y1": "6", "x2": "6", "y2": "18" } },
86
+ { "tag": "line", "attrs": { "x1": "6", "y1": "6", "x2": "18", "y2": "18" } }
87
+ ]
88
+ }
89
+ ]
90
+ },
91
+ {
92
+ "tag": "button",
93
+ "class": "ui-close-button ui-close-button--lg",
94
+ "attrs": { "type": "button", "aria-label": "Close" },
95
+ "children": [
96
+ {
97
+ "tag": "svg",
98
+ "class": "ui-close-button__icon",
99
+ "attrs": { "viewBox": "0 0 24 24", "xmlns": "http://www.w3.org/2000/svg" },
100
+ "children": [
101
+ { "tag": "line", "attrs": { "x1": "18", "y1": "6", "x2": "6", "y2": "18" } },
102
+ { "tag": "line", "attrs": { "x1": "6", "y1": "6", "x2": "18", "y2": "18" } }
103
+ ]
104
+ }
105
+ ]
106
+ }
107
+ ],
108
+ "code": "<button class=\"ui-close-button ui-close-button--sm\" aria-label=\"Close\">...</button>\n<button class=\"ui-close-button\" aria-label=\"Close\">...</button>\n<button class=\"ui-close-button ui-close-button--lg\" aria-label=\"Close\">...</button>"
109
+ }
110
+ ]
111
+ },
112
+ {
113
+ "title": "Subtle",
114
+ "description": "Lower visual prominence for secondary dismiss actions.",
115
+ "examples": [
116
+ {
117
+ "layout": "cluster",
118
+ "items": [
119
+ {
120
+ "tag": "button",
121
+ "class": "ui-close-button ui-close-button--subtle",
122
+ "attrs": { "type": "button", "aria-label": "Close" },
123
+ "children": [
124
+ {
125
+ "tag": "svg",
126
+ "class": "ui-close-button__icon",
127
+ "attrs": { "viewBox": "0 0 24 24", "xmlns": "http://www.w3.org/2000/svg" },
128
+ "children": [
129
+ { "tag": "line", "attrs": { "x1": "18", "y1": "6", "x2": "6", "y2": "18" } },
130
+ { "tag": "line", "attrs": { "x1": "6", "y1": "6", "x2": "18", "y2": "18" } }
131
+ ]
132
+ }
133
+ ]
134
+ },
135
+ {
136
+ "tag": "button",
137
+ "class": "ui-close-button ui-close-button--subtle ui-close-button--sm",
138
+ "attrs": { "type": "button", "aria-label": "Close" },
139
+ "children": [
140
+ {
141
+ "tag": "svg",
142
+ "class": "ui-close-button__icon",
143
+ "attrs": { "viewBox": "0 0 24 24", "xmlns": "http://www.w3.org/2000/svg" },
144
+ "children": [
145
+ { "tag": "line", "attrs": { "x1": "18", "y1": "6", "x2": "6", "y2": "18" } },
146
+ { "tag": "line", "attrs": { "x1": "6", "y1": "6", "x2": "18", "y2": "18" } }
147
+ ]
148
+ }
149
+ ]
150
+ }
151
+ ],
152
+ "code": "<button class=\"ui-close-button ui-close-button--subtle\" aria-label=\"Close\">...</button>"
153
+ }
154
+ ]
155
+ },
156
+ {
157
+ "title": "States",
158
+ "examples": [
159
+ {
160
+ "layout": "cluster",
161
+ "items": [
162
+ {
163
+ "tag": "button",
164
+ "class": "ui-close-button",
165
+ "attrs": { "type": "button", "aria-label": "Close" },
166
+ "children": [
167
+ {
168
+ "tag": "svg",
169
+ "class": "ui-close-button__icon",
170
+ "attrs": { "viewBox": "0 0 24 24", "xmlns": "http://www.w3.org/2000/svg" },
171
+ "children": [
172
+ { "tag": "line", "attrs": { "x1": "18", "y1": "6", "x2": "6", "y2": "18" } },
173
+ { "tag": "line", "attrs": { "x1": "6", "y1": "6", "x2": "18", "y2": "18" } }
174
+ ]
175
+ }
176
+ ]
177
+ },
178
+ {
179
+ "tag": "button",
180
+ "class": "ui-close-button ui-close-button--hover",
181
+ "attrs": { "type": "button", "aria-label": "Close" },
182
+ "children": [
183
+ {
184
+ "tag": "svg",
185
+ "class": "ui-close-button__icon",
186
+ "attrs": { "viewBox": "0 0 24 24", "xmlns": "http://www.w3.org/2000/svg" },
187
+ "children": [
188
+ { "tag": "line", "attrs": { "x1": "18", "y1": "6", "x2": "6", "y2": "18" } },
189
+ { "tag": "line", "attrs": { "x1": "6", "y1": "6", "x2": "18", "y2": "18" } }
190
+ ]
191
+ }
192
+ ]
193
+ },
194
+ {
195
+ "tag": "button",
196
+ "class": "ui-close-button ui-close-button--focus",
197
+ "attrs": { "type": "button", "aria-label": "Close" },
198
+ "children": [
199
+ {
200
+ "tag": "svg",
201
+ "class": "ui-close-button__icon",
202
+ "attrs": { "viewBox": "0 0 24 24", "xmlns": "http://www.w3.org/2000/svg" },
203
+ "children": [
204
+ { "tag": "line", "attrs": { "x1": "18", "y1": "6", "x2": "6", "y2": "18" } },
205
+ { "tag": "line", "attrs": { "x1": "6", "y1": "6", "x2": "18", "y2": "18" } }
206
+ ]
207
+ }
208
+ ]
209
+ },
210
+ {
211
+ "tag": "button",
212
+ "class": "ui-close-button",
213
+ "attrs": { "type": "button", "aria-label": "Close", "disabled": "" },
214
+ "children": [
215
+ {
216
+ "tag": "svg",
217
+ "class": "ui-close-button__icon",
218
+ "attrs": { "viewBox": "0 0 24 24", "xmlns": "http://www.w3.org/2000/svg" },
219
+ "children": [
220
+ { "tag": "line", "attrs": { "x1": "18", "y1": "6", "x2": "6", "y2": "18" } },
221
+ { "tag": "line", "attrs": { "x1": "6", "y1": "6", "x2": "18", "y2": "18" } }
222
+ ]
223
+ }
224
+ ]
225
+ }
226
+ ],
227
+ "code": "<button class=\"ui-close-button\" aria-label=\"Close\">...</button>\n<button class=\"ui-close-button ui-close-button--hover\">...</button>\n<button class=\"ui-close-button ui-close-button--focus\">...</button>\n<button class=\"ui-close-button\" disabled>...</button>"
228
+ }
229
+ ]
230
+ }
231
+ ],
232
+ "customization": [
233
+ {
234
+ "token": "--ui-close-button-size",
235
+ "default": "var(--ui-row-2)",
236
+ "description": "Overall button dimensions"
237
+ },
238
+ {
239
+ "token": "--ui-close-button-icon-size",
240
+ "default": "var(--ui-size-md)",
241
+ "description": "X icon dimensions"
242
+ },
243
+ {
244
+ "token": "--ui-close-button-color",
245
+ "default": "var(--ui-color-text-muted)",
246
+ "description": "Icon color"
247
+ },
248
+ {
249
+ "token": "--ui-close-button-bg",
250
+ "default": "transparent",
251
+ "description": "Background color"
252
+ },
253
+ {
254
+ "token": "--ui-close-button-hover-bg",
255
+ "default": "var(--ui-color-bg-muted)",
256
+ "description": "Hover background"
257
+ },
258
+ {
259
+ "token": "--ui-close-button-radius",
260
+ "default": "var(--ui-radius-md)",
261
+ "description": "Border radius"
262
+ }
263
+ ]
264
+ }
@@ -0,0 +1,14 @@
1
+ import { resolve } from 'node:path';
2
+ import { expect, test } from '@playwright/test';
3
+ import { saveForLostPixel, setupVisualTestFromDocs, validateGridRhythm } from '../../../testing';
4
+
5
+ const DOCS_PATH = resolve(__dirname, 'close-button.docs.json');
6
+
7
+ test.describe('close-button visual regression', () => {
8
+ test('all variations', async ({ page }) => {
9
+ await setupVisualTestFromDocs(page, DOCS_PATH);
10
+ await validateGridRhythm(page, 'close-button');
11
+ await saveForLostPixel(page, 'close-button');
12
+ await expect(page.locator('body')).toHaveScreenshot('close-button.visual.png');
13
+ });
14
+ });