@teseor/css 1.13.0 → 1.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/compiled.css +1 -1
- package/dist/index.css +13 -10
- package/package.json +1 -1
- package/src/components/content/divider/divider-visual.png +0 -0
- package/src/components/content/divider/index.scss +5 -5
- package/src/components/data-display/card/card.api.json +17 -2
- package/src/components/data-display/card/index.scss +17 -17
- package/src/components/feedback/progress/index.scss +29 -15
- package/src/components/feedback/progress/progress-visual.png +0 -0
- package/src/components/feedback/progress/progress.api.json +3 -3
- package/src/components/feedback/progress/progress.docs.json +58 -0
- package/src/components/feedback/progress-circle/index.scss +11 -1
- package/src/components/forms/form/form-visual.png +0 -0
- package/src/components/forms/form/form.api.json +10 -0
- package/src/components/forms/form/index.scss +9 -9
- package/src/components/overlays/tooltip/index.scss +25 -0
- package/src/components/overlays/tooltip/tooltip-visual.png +0 -0
- package/src/components/overlays/tooltip/tooltip.api.json +3 -0
- package/src/components/overlays/tooltip/tooltip.docs.json +30 -0
- package/src/utilities/index.scss +1 -0
- package/src/utilities/scroll-animation/index.scss +136 -0
- package/src/utilities/scroll-animation/scroll-animation.api.json +17 -0
- package/src/utilities/scroll-animation/scroll-animation.docs.json +100 -0
package/dist/index.css
CHANGED
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
@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}}
|
|
38
38
|
@layer components.tokens{.ui-close-button{--ui-_duration-base: var(--ui-duration-base, 150ms);--ui-_ease-default: var(--ui-ease-default, ease);--ui-_color-text: var(--ui-color-text, hsl(220, 10%, 10%));--ui-_border-width-md: var(--ui-border-width-md, 0.125rem);--ui-_color-focus: var(--ui-color-focus, oklch(75% 0.15 250deg));--ui-_opacity-disabled: var(--ui-opacity-disabled, 0.5);--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%)))}}
|
|
39
39
|
@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) var(--ui-_ease-default),color var(--ui-_duration-base) var(--ui-_ease-default)}.ui-close-button:hover,.ui-close-button--hover{color:var(--ui-_color-text);background:var(--ui-_hover-bg)}.ui-close-button:focus-visible,.ui-close-button--focus{outline:var(--ui-_border-width-md) solid var(--ui-_color-focus);outline-offset:var(--ui-_border-width-md)}.ui-close-button:active,.ui-close-button--active{transform:scale(0.92)}.ui-close-button:disabled{opacity:var(--ui-_opacity-disabled);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}}
|
|
40
|
-
@layer components.tokens{.ui-divider{--ui-_font-size-sm: var(--ui-font-size-sm, 0.875rem);--ui-_color-text-muted: var(--ui-color-text-muted, hsl(220, 10%, 45%));--ui-_color: var(--ui-divider-color, var(--ui-color-border, hsl(220, 10%, 90%)));--ui-_line-size: var(--ui-divider-line-size, 0.0625rem);--ui-_height: var(--ui-divider-height, 0.5rem);--ui-_gap: var(--ui-divider-gap, calc(0.5rem * 2))}}
|
|
41
|
-
@layer components.styles{.ui-divider{display:flex;align-items:center;block-size:var(--ui-_height);margin:var(--ui-_gap) 0;font-size:var(--ui-_font-size-sm);line-height:1;color:var(--ui-_color-text-muted)}.ui-divider::before,.ui-divider::after{content:"";flex:1;block-size:var(--ui-_line-size);background:var(--ui-_color)}.ui-divider:not(:empty)
|
|
40
|
+
@layer components.tokens{.ui-divider{--ui-_font-size-sm: var(--ui-font-size-sm, 0.875rem);--ui-_color-text-muted: var(--ui-color-text-muted, hsl(220, 10%, 45%));--ui-_color: var(--ui-divider-color, var(--ui-color-border, hsl(220, 10%, 90%)));--ui-_line-size: var(--ui-divider-line-size, 0.0625rem);--ui-_height: var(--ui-divider-height, 0.5rem);--ui-_gap: var(--ui-divider-gap, calc(0.5rem * 2))}.ui-divider:not(:empty){--ui-_height: var(--ui-row-1, 1rem)}}
|
|
41
|
+
@layer components.styles{.ui-divider{display:flex;align-items:center;block-size:var(--ui-_height);margin:var(--ui-_gap) 0;font-size:var(--ui-_font-size-sm);line-height:1;color:var(--ui-_color-text-muted)}.ui-divider::before,.ui-divider::after{content:"";flex:1;block-size:var(--ui-_line-size);background:var(--ui-_color)}.ui-divider:not(:empty)::before{margin-inline-end:calc(0.5rem*2)}.ui-divider:not(:empty)::after{margin-inline-start:calc(0.5rem*2)}.ui-divider:empty::after{display:none}.ui-divider--vertical{flex-direction:column;align-self:stretch;margin:0 var(--ui-_gap);writing-mode:vertical-rl}.ui-divider--vertical::before,.ui-divider--vertical::after{flex:1;block-size:auto;inline-size:var(--ui-_size)}.ui-divider--start::before{display:none}.ui-divider--start:not(:empty)::after{margin-inline-start:calc(0.5rem*2)}.ui-divider--end::after{display:none}.ui-divider--end:not(:empty)::before{margin-inline-end:calc(0.5rem*2)}.ui-divider--dashed::before,.ui-divider--dashed::after{background:repeating-linear-gradient(90deg, var(--ui-_color) 0, var(--ui-_color) calc(0.5rem / 2), transparent calc(0.5rem / 2), transparent 0.5rem)}.ui-divider--vertical.ui-divider--dashed::before,.ui-divider--vertical.ui-divider--dashed::after{background:repeating-linear-gradient(180deg, var(--ui-_color) 0, var(--ui-_color) calc(0.5rem / 2), transparent calc(0.5rem / 2), transparent 0.5rem)}}
|
|
42
42
|
@layer components.tokens{.ui-scroll-area{--ui-_duration-fast: var(--ui-duration-fast, 100ms);--ui-_ease-default: var(--ui-ease-default, ease);--ui-_max-height: var(--ui-scroll-area-max-height, calc(1rem * 10));--ui-_scrollbar-size: var(--ui-scroll-area-scrollbar-size, calc(0.5rem * 1));--ui-_thumb-color: var(--ui-scroll-area-thumb-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));--ui-_thumb-hover-color: var(--ui-scroll-area-thumb-hover-color, var(--ui-color-neutral-400, hsl(220, 10%, 60%)));--ui-_track-color: var(--ui-scroll-area-track-color, transparent);--ui-_thumb-radius: var(--ui-scroll-area-thumb-radius, var(--ui-radius-full, 9999px))}.ui-scroll-area--sm{--ui-_max-height: var(--ui-scroll-area-max-height-sm, calc(1rem * 5))}.ui-scroll-area--lg{--ui-_max-height: var(--ui-scroll-area-max-height-lg, calc(1rem * 15))}.ui-scroll-area--xl{--ui-_max-height: var(--ui-scroll-area-max-height-xl, calc(1rem * 20))}.ui-scroll-area--thin{--ui-_scrollbar-size: var(--ui-scroll-area-scrollbar-size-thin, calc(0.5rem * 0.5))}}
|
|
43
43
|
@layer components.styles{.ui-scroll-area{overflow:hidden}.ui-scroll-area__viewport{max-block-size:var(--ui-_max-height);overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--ui-_thumb-color) var(--ui-_track-color)}.ui-scroll-area__viewport::-webkit-scrollbar{block-size:var(--ui-_scrollbar-size);inline-size:var(--ui-_scrollbar-size)}.ui-scroll-area__viewport::-webkit-scrollbar-track{background:var(--ui-_track-color)}.ui-scroll-area__viewport::-webkit-scrollbar-thumb{background:var(--ui-_thumb-color);border-radius:var(--ui-_thumb-radius)}.ui-scroll-area__viewport::-webkit-scrollbar-thumb:hover{background:var(--ui-_thumb-hover-color)}.ui-scroll-area--horizontal>.ui-scroll-area__viewport{max-block-size:none;overflow-x:auto;overflow-y:hidden}.ui-scroll-area--both>.ui-scroll-area__viewport{overflow-x:auto;overflow-y:auto}.ui-scroll-area--auto-hide>.ui-scroll-area__viewport::-webkit-scrollbar-thumb{background:rgba(0,0,0,0);transition:background var(--ui-_duration-fast) var(--ui-_ease-default)}.ui-scroll-area--auto-hide>.ui-scroll-area__viewport:hover::-webkit-scrollbar-thumb{background:var(--ui-_thumb-color)}}
|
|
44
44
|
@layer components.tokens{.ui-spacer{--ui-_size: var(--ui-spacer-size, 1)}}
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
@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);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) solid var(--ui-_color-bg)}.ui-avatar-group>.ui-avatar:last-child{margin-inline-start:0}}
|
|
48
48
|
@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-_color: var(--ui-badge-color, 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--lg{--ui-_height: var(--ui-badge-height-lg, calc(var(--ui-row, 1rem) * 1.5));--ui-_padding-x: var(--ui-badge-padding-x-lg, var(--ui-space-2, 1rem));--ui-_font-size: var(--ui-badge-font-size-lg, var(--ui-font-size-md, 1rem))}.ui-badge--primary{--ui-_accent: var(--ui-color-primary, oklch(55% 0.22 250deg));--ui-_color: var(--ui-color-text-inverse, hsl(220, 10%, 98%))}.ui-badge--success{--ui-_accent: var(--ui-color-success, oklch(60% 0.18 145deg));--ui-_color: var(--ui-color-text-inverse, hsl(220, 10%, 98%))}.ui-badge--warning{--ui-_accent: var(--ui-color-warning, oklch(75% 0.18 70deg));--ui-_color: var(--ui-color-text, hsl(220, 10%, 10%))}.ui-badge--danger{--ui-_accent: var(--ui-color-danger, oklch(60% 0.22 25deg));--ui-_color: var(--ui-color-text-inverse, hsl(220, 10%, 98%))}}
|
|
49
49
|
@layer components.styles{.ui-badge{display:inline-flex;align-items:center;justify-content:center;block-size:var(--ui-_height);padding-inline:var(--ui-_padding-x);font-size:var(--ui-_font-size);font-weight:var(--ui-_font-weight);line-height:1;white-space:nowrap;color:var(--ui-_color);background:var(--ui-_bg);border-radius:var(--ui-_radius)}}
|
|
50
|
-
@layer components.tokens{.ui-card{--ui-_row-1: var(--ui-row-1, 1rem);--ui-_duration-fast: var(--ui-duration-fast, 100ms);--ui-_ease-default: var(--ui-ease-default, cubic-bezier(0.4, 0, 0.2, 1));--ui-_padding: var(--ui-card-padding, var(--ui-space-4, 2rem));--ui-_border-width: var(--ui-card-border-width, var(--ui-border-width-sm, 0.0625rem));--ui-_bg: var(--ui-card-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));--ui-_border-color: var(--ui-card-border-color, var(--ui-color-border, hsl(220, 10%, 90%)));--ui-_radius: var(--ui-card-radius, var(--ui-radius-md, 0.5rem))}.ui-card--subtle{--ui-_bg: var(--ui-card-bg-subtle, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)))}.ui-card--muted{--ui-_bg: var(--ui-card-bg-muted, var(--ui-color-bg-muted, hsl(220, 10%, 90%)))}.ui-card--sm{--ui-_padding: var(--ui-card-padding-sm, var(--ui-space-2, 1rem))}.ui-card--lg{--ui-_padding: var(--ui-card-padding-lg, var(--ui-space-6, 3rem))}.ui-card--
|
|
51
|
-
@layer components.styles{.ui-card{padding:calc(var(--ui-_padding) - var(--ui-_border-width));line-height:var(--ui-_row-1);background:var(--ui-_bg);border:var(--ui-_border-width) solid var(--ui-_border-color);border-radius:var(--ui-_radius)}.ui-card--responsive{display:flex;flex-direction:column}@container (inline-size >= 30rem){.ui-card--responsive{flex-direction:row}}.ui-card--responsive>.ui-card__media{inline-size:100%}@container (inline-size >= 30rem){.ui-card--responsive>.ui-card__media{flex:0 0 auto;inline-size:40%}}.ui-card--responsive>.ui-card__body{flex:1 1 auto}.ui-card--interactive{transition:background-color var(--ui-_duration-fast) var(--ui-_ease-default),border-color var(--ui-_duration-fast) var(--ui-_ease-default),box-shadow var(--ui-_duration-fast) var(--ui-_ease-default)}
|
|
50
|
+
@layer components.tokens{.ui-card{--ui-_row-1: var(--ui-row-1, 1rem);--ui-_duration-fast: var(--ui-duration-fast, 100ms);--ui-_ease-default: var(--ui-ease-default, cubic-bezier(0.4, 0, 0.2, 1));--ui-_padding: var(--ui-card-padding, var(--ui-space-4, 2rem));--ui-_border-width: var(--ui-card-border-width, var(--ui-border-width-sm, 0.0625rem));--ui-_bg: var(--ui-card-bg, var(--ui-color-bg, hsl(220, 10%, 98%)));--ui-_border-color: var(--ui-card-border-color, var(--ui-color-border, hsl(220, 10%, 90%)));--ui-_radius: var(--ui-card-radius, var(--ui-radius-md, 0.5rem))}.ui-card--subtle{--ui-_bg: var(--ui-card-bg-subtle, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)))}.ui-card--muted{--ui-_bg: var(--ui-card-bg-muted, var(--ui-color-bg-muted, hsl(220, 10%, 90%)))}.ui-card--sm{--ui-_padding: var(--ui-card-padding-sm, var(--ui-space-2, 1rem))}.ui-card--lg{--ui-_padding: var(--ui-card-padding-lg, var(--ui-space-6, 3rem))}.ui-card--flush{--ui-_padding: 0;--ui-_border-width: 0}.ui-card--interactive:hover{--ui-_bg: var(--ui-card-bg-hover, var(--ui-color-bg-subtle, hsl(220, 10%, 96%)));--ui-_border-color: var(--ui-card-border-color-hover, var(--ui-color-border-strong, hsl(220, 10%, 80%)))}.ui-card--interactive:active{--ui-_bg: var(--ui-card-bg-active, var(--ui-color-bg-muted, hsl(220, 10%, 90%)))}}
|
|
51
|
+
@layer components.styles{.ui-card{padding:calc(var(--ui-_padding) - var(--ui-_border-width));line-height:var(--ui-_row-1);background:var(--ui-_bg);border:var(--ui-_border-width) solid var(--ui-_border-color);border-radius:var(--ui-_radius)}.ui-card--responsive{display:flex;flex-direction:column}@container (inline-size >= 30rem){.ui-card--responsive{flex-direction:row}}.ui-card--responsive>.ui-card__media{inline-size:100%}@container (inline-size >= 30rem){.ui-card--responsive>.ui-card__media{flex:0 0 auto;inline-size:40%}}.ui-card--responsive>.ui-card__body{flex:1 1 auto}.ui-card--interactive{cursor:pointer;transition:background-color var(--ui-_duration-fast) var(--ui-_ease-default),border-color var(--ui-_duration-fast) var(--ui-_ease-default),box-shadow var(--ui-_duration-fast) var(--ui-_ease-default)}}
|
|
52
52
|
@layer components.tokens{.ui-data-list{--ui-_row-1: var(--ui-row-1, 1rem);--ui-_font-size-sm: var(--ui-font-size-sm, 0.875rem);--ui-_weight-medium: var(--ui-weight-medium, 500);--ui-_border-width-sm: var(--ui-border-width-sm, 0.0625rem);--ui-_color-border: var(--ui-color-border, hsl(220, 10%, 90%));--ui-_color-bg-subtle: var(--ui-color-bg-subtle, hsl(220, 10%, 96%));--ui-_radius-sm: var(--ui-radius-sm, 0.25rem);--ui-_font-size-lg: var(--ui-font-size-lg, 1.25rem);--ui-_gap: var(--ui-data-list-gap, calc(0.5rem * 2));--ui-_item-gap: var(--ui-data-list-item-gap, calc(0.5rem * 1));--ui-_label-color: var(--ui-data-list-label-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_value-color: var(--ui-data-list-value-color, var(--ui-color-text, hsl(220, 10%, 10%)))}.ui-data-list--sm{--ui-_gap: calc(0.5rem * 1);--ui-_item-gap: 0}.ui-data-list--lg{--ui-_gap: calc(0.5rem * 3);--ui-_item-gap: calc(0.5rem * 1)}}
|
|
53
53
|
@layer components.styles{.ui-data-list{display:flex;flex-direction:column;gap:var(--ui-_gap);margin:0;line-height:var(--ui-_row-1)}.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);font-weight:var(--ui-_weight-medium);line-height:var(--ui-_row-1);color:var(--ui-_label-color)}.ui-data-list__value{margin:0;line-height:var(--ui-_row-1);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));border-block-end:var(--ui-_border-width-sm) solid var(--ui-_color-border)}.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);border-radius:var(--ui-_radius-sm)}.ui-data-list--sm{font-size:var(--ui-_font-size-sm)}.ui-data-list--lg{font-size:var(--ui-_font-size-lg)}}
|
|
54
54
|
@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)}}
|
|
@@ -69,10 +69,12 @@
|
|
|
69
69
|
@layer components.styles{.ui-disclosure{box-sizing:border-box;border-radius:var(--ui-_radius);outline:var(--ui-_border-width) solid var(--ui-_border-color);outline-offset:calc(var(--ui-_border-width)*-1)}.ui-disclosure:not([open]){block-size:var(--ui-_trigger-height)}.ui-disclosure__trigger{display:flex;align-items:center;justify-content:space-between;gap:calc(0.5rem*2);block-size:var(--ui-_trigger-height);inline-size:100%;padding-inline:var(--ui-_padding-x);font-weight:var(--ui-_weight-medium);line-height:1;text-align:start;cursor:pointer;list-style:none}.ui-disclosure__trigger::-webkit-details-marker{display:none}.ui-disclosure__trigger::marker{display:none}.ui-disclosure__trigger:hover{background:var(--ui-_color-bg-subtle)}.ui-disclosure__icon{flex-shrink:0;transition:transform var(--ui-_duration-fast) var(--ui-_ease-default)}.ui-disclosure[open] .ui-disclosure__icon{transform:rotate(180deg)}.ui-disclosure__content{padding:0 var(--ui-_padding-x) var(--ui-_padding-y)}.ui-disclosure--animate .ui-disclosure__content{animation:disclosure-open var(--ui-_duration-normal) var(--ui-_ease-default)}@keyframes disclosure-open{from{opacity:0;transform:translateY(calc(0.5rem * -1))}to{opacity:1;transform:translateY(0)}}.ui-disclosure--borderless{border:none;border-radius:0}.ui-disclosure--flush .ui-disclosure__trigger{padding-inline:0}.ui-disclosure--flush .ui-disclosure__content{padding-inline:0}@media(prefers-reduced-motion: reduce){.ui-disclosure--animate .ui-disclosure__content{animation:none}.ui-disclosure__icon{transition:none}}}
|
|
70
70
|
@layer components.tokens{.ui-alert{--ui-_weight-medium: var(--ui-weight-medium, 500);--ui-_row-1: var(--ui-row-1, 1rem);--ui-_font-size-sm: var(--ui-font-size-sm, 0.875rem);--ui-_color-text-muted: var(--ui-color-text-muted, hsl(220, 10%, 45%));--ui-_color-text: var(--ui-color-text, hsl(220, 10%, 10%));--ui-_accent: var(--ui-alert-accent, var(--ui-color-border, hsl(220, 10%, 90%)));--ui-_padding: var(--ui-alert-padding, var(--ui-space-2, 1rem));--ui-_border-width: var(--ui-alert-border-width, var(--ui-border-width-sm, 0.0625rem));--ui-_gap: var(--ui-alert-gap, var(--ui-space-1, 0.5rem));--ui-_radius: var(--ui-alert-radius, var(--ui-radius-md, 0.5rem));--ui-_bg: color-mix(in oklch, var(--ui-_accent) 8%, white);--ui-_border-color: var(--ui-_accent);--ui-_color: var(--ui-alert-color, var(--ui-color-text, hsl(220, 10%, 10%)));--ui-_font-size: var(--ui-alert-font-size, inherit);--ui-_padding-end: 0;--ui-_icon-color: var(--ui-_accent)}.ui-alert--info{--ui-_accent: var(--ui-color-primary, oklch(55% 0.22 250deg))}.ui-alert--success{--ui-_accent: var(--ui-color-success, oklch(60% 0.18 145deg))}.ui-alert--warning{--ui-_accent: var(--ui-color-warning, oklch(75% 0.18 70deg))}.ui-alert--danger{--ui-_accent: var(--ui-color-danger, oklch(60% 0.22 25deg))}.ui-alert--sm{--ui-_padding: var(--ui-alert-padding-sm, var(--ui-space-1, 0.5rem));--ui-_gap: var(--ui-alert-gap-sm, calc(0.5rem * 0.5));--ui-_font-size: var(--ui-alert-font-size-sm, var(--ui-font-size-sm, 0.875rem))}.ui-alert--lg{--ui-_padding: var(--ui-alert-padding-lg, var(--ui-space-4, 2rem));--ui-_gap: var(--ui-alert-gap-lg, var(--ui-space-2, 1rem));--ui-_font-size: var(--ui-alert-font-size-lg, var(--ui-font-size-lg, 1.25rem))}.ui-alert--dismissible{--ui-_padding-end: var(--ui-alert-padding-end, calc(0.5rem * 5))}}
|
|
71
71
|
@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);padding-inline-end:calc(var(--ui-_padding) + var(--ui-_padding-end));font-size:var(--ui-_font-size);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);line-height:var(--ui-_row-1)}.ui-alert__description{margin:0;margin-block-start:calc(0.5rem*1);font-size:var(--ui-_font-size-sm);line-height:var(--ui-_row-1);color:var(--ui-_color-text-muted)}.ui-alert__close{flex-shrink:0;align-self:flex-start;padding:0;color:var(--ui-_color-text-muted);background:none;border:none;cursor:pointer}.ui-alert__close:hover{color:var(--ui-_color-text)}}
|
|
72
|
-
@
|
|
73
|
-
@layer components.
|
|
72
|
+
@property --ui-progress-value{syntax:"<percentage>";inherits:false;initial-value:0%}
|
|
73
|
+
@layer components.tokens{.ui-progress{--ui-_duration-normal: var(--ui-duration-normal, 200ms);--ui-_ease-default: var(--ui-ease-default, cubic-bezier(0.4, 0, 0.2, 1));--ui-_height: var(--ui-progress-height, calc(0.5rem * 1));--ui-_bg: var(--ui-progress-bg, var(--ui-color-bg-subtle, rgba(0, 0, 0, 0.1)));--ui-_fill: var(--ui-progress-fill, var(--ui-color-primary, oklch(55% 0.22 250deg)));--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)}.ui-progress--success{--ui-_fill: var(--ui-color-success, oklch(60% 0.18 145deg))}.ui-progress--warning{--ui-_fill: var(--ui-color-warning, oklch(75% 0.18 70deg))}.ui-progress--danger{--ui-_fill: var(--ui-color-danger, oklch(60% 0.22 25deg))}}
|
|
74
|
+
@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%;inline-size:var(--ui-progress-value, auto);background:var(--ui-_fill);border-radius:var(--ui-_radius);transition:inline-size var(--ui-_duration-normal) var(--ui-_ease-default),--ui-progress-value var(--ui-_duration-normal) var(--ui-_ease-default)}.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}}@media(prefers-reduced-motion: reduce){.ui-progress--indeterminate .ui-progress__bar{animation:none}.ui-progress--animated .ui-progress__bar{animation:none}}}
|
|
75
|
+
@property --ui-progress-circle-value{syntax:"<number>";inherits:false;initial-value:0}
|
|
74
76
|
@layer components.tokens{.ui-progress-circle{--ui-_duration-slow: var(--ui-duration-slow, 250ms);--ui-_ease-default: var(--ui-ease-default, cubic-bezier(0.4, 0, 0.2, 1));--ui-_size: var(--ui-progress-circle-size, calc(var(--ui-unit, 0.5rem) * 6));--ui-_stroke-width: var(--ui-progress-circle-stroke-width, 8);--ui-_fill-color: var(--ui-progress-circle-fill-color, var(--ui-color-primary, oklch(55% 0.22 250deg)));--ui-_track-color: var(--ui-progress-circle-track-color, var(--ui-color-border, hsl(220, 10%, 90%)));--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, 0.5rem) * 4))}.ui-progress-circle--lg{--ui-_size: var(--ui-progress-circle-size-lg, calc(var(--ui-unit, 0.5rem) * 8))}.ui-progress-circle--xl{--ui-_size: var(--ui-progress-circle-size-xl, calc(var(--ui-unit, 0.5rem) * 12))}.ui-progress-circle--success{--ui-_fill-color: var(--ui-color-success, oklch(60% 0.18 145deg))}.ui-progress-circle--warning{--ui-_fill-color: var(--ui-color-warning, oklch(75% 0.18 70deg))}.ui-progress-circle--danger{--ui-_fill-color: var(--ui-color-danger, oklch(60% 0.22 25deg))}}
|
|
75
|
-
@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) var(--ui-_ease-default)}.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)}}@media(prefers-reduced-motion: reduce){.ui-progress-circle--indeterminate{animation:none}}}
|
|
77
|
+
@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) var(--ui-_ease-default),--ui-progress-circle-value var(--ui-_duration-slow) var(--ui-_ease-default)}.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)}}@media(prefers-reduced-motion: reduce){.ui-progress-circle--indeterminate{animation:none}}}
|
|
76
78
|
@layer components.tokens{.ui-skeleton{--ui-_bg: var(--ui-skeleton-bg, var(--ui-color-bg-subtle, rgba(0, 0, 0, 0.1)));--ui-_shimmer: var(--ui-skeleton-shimmer, rgba(255, 255, 255, 0.5));--ui-_radius: var(--ui-skeleton-radius, var(--ui-radius-sm, calc(0.5rem / 2)))}}
|
|
77
79
|
@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}}@media(prefers-reduced-motion: reduce){.ui-skeleton::after{animation:none}.ui-skeleton--pulse{animation:none}}}
|
|
78
80
|
@layer components.tokens{.ui-spinner{--ui-_size: var(--ui-spinner-size, calc(var(--ui-unit, 0.5rem) * 4));--ui-_border-width: var(--ui-spinner-border-width, var(--ui-border-width-md, 0.125rem));--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, 0.5rem) * 2));--ui-_border-width: var(--ui-spinner-border-width-xs, var(--ui-border-width-sm, 0.0625rem))}.ui-spinner--sm{--ui-_size: var(--ui-spinner-size-sm, calc(var(--ui-unit, 0.5rem) * 3));--ui-_border-width: var(--ui-spinner-border-width-sm, var(--ui-border-width-md, 0.125rem))}.ui-spinner--lg{--ui-_size: var(--ui-spinner-size-lg, calc(var(--ui-unit, 0.5rem) * 5));--ui-_border-width: var(--ui-spinner-border-width-lg, var(--ui-border-width-md, 0.125rem))}.ui-spinner--xl{--ui-_size: var(--ui-spinner-size-xl, calc(var(--ui-unit, 0.5rem) * 6));--ui-_border-width: var(--ui-spinner-border-width-xl, var(--ui-border-width-lg, 0.25rem))}}
|
|
@@ -87,8 +89,8 @@
|
|
|
87
89
|
@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)}.ui-field--responsive{flex-direction:column}@container (inline-size >= 30rem){.ui-field--responsive{flex-direction:row;flex-wrap:wrap;align-items:flex-start}}@container (inline-size >= 30rem){.ui-field--responsive>.ui-field__label{flex:0 0 auto;min-inline-size:calc(0.5rem*15);padding-block-start:calc(0.5rem*1)}}@container (inline-size >= 30rem){.ui-field--responsive>.ui-field__control{flex:1 1 0;min-inline-size:calc(0.5rem*20)}}}
|
|
88
90
|
@layer components.tokens{.ui-fieldset{--ui-_leading-tight-sm: var(--ui-leading-tight-sm, var(--ui-row-1, 1rem));--ui-_space-half: var(--ui-space-half, 0.25rem);--ui-_opacity-disabled: var(--ui-opacity-disabled, 0.5);--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))}}
|
|
89
91
|
@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);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);margin-inline-start:calc(-1*var(--ui-_space-half))}.ui-fieldset:disabled,.ui-fieldset[aria-disabled=true]{opacity:var(--ui-_opacity-disabled);cursor:not-allowed}}
|
|
90
|
-
@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)))}}
|
|
91
|
-
@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--
|
|
92
|
+
@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)))}.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)))}}
|
|
93
|
+
@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--inline{flex-direction:row;flex-wrap:wrap;align-items:flex-end}.ui-form--inline>.ui-form__actions{align-items:flex-end}}
|
|
92
94
|
@layer components.tokens{.ui-form-error{--ui-_leading-tight-sm: var(--ui-leading-tight-sm, var(--ui-row-1, 1rem));--ui-_color: var(--ui-form-error-color, var(--ui-color-danger, oklch(60% 0.22 25deg)));--ui-_size: var(--ui-form-error-size, var(--ui-font-size-sm, 0.875rem));--ui-_gap: var(--ui-form-error-gap, 0)}}
|
|
93
95
|
@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);color:var(--ui-_color)}.ui-form-error__icon{flex-shrink:0}}
|
|
94
96
|
@layer components.tokens{.ui-form-helper{--ui-_leading-tight-sm: var(--ui-leading-tight-sm, var(--ui-row-1, 1rem));--ui-_color: var(--ui-form-helper-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_size: var(--ui-form-helper-size, var(--ui-font-size-sm, 0.875rem));--ui-_gap: var(--ui-form-helper-gap, 0)}}
|
|
@@ -138,7 +140,7 @@
|
|
|
138
140
|
@layer components.tokens{.ui-popover{--ui-_row-1: var(--ui-row-1, 1rem);--ui-_border-width-sm: var(--ui-border-width-sm, 0.0625rem);--ui-_font-size-md: var(--ui-font-size-md, 1rem);--ui-_weight-semibold: var(--ui-weight-semibold, 600);--ui-_duration-fast: var(--ui-duration-fast, 100ms);--ui-_ease-default: var(--ui-ease-default, ease);--ui-_bg: var(--ui-popover-bg, var(--ui-color-bg, white));--ui-_border-color: var(--ui-popover-border-color, var(--ui-color-border, hsl(220, 10%, 90%)));--ui-_radius: var(--ui-popover-radius, var(--ui-radius-md, calc(0.5rem * 1)));--ui-_shadow: var(--ui-popover-shadow, 0 calc(0.5rem / 2) calc(0.5rem * 2) rgb(0 0 0 / 0.15));--ui-_padding: var(--ui-popover-padding, calc(0.5rem * 2));--ui-_max-width: var(--ui-popover-max-width, calc(0.5rem * 40));--ui-_z: var(--ui-popover-z, var(--ui-z-popover, 500));--ui-_arrow-size: var(--ui-popover-arrow-size, calc(0.5rem))}}
|
|
139
141
|
@layer components.styles{.ui-popover{position:absolute;z-index:var(--ui-_z);max-inline-size:var(--ui-_max-width);padding:var(--ui-_padding);line-height:var(--ui-_row-1);background:var(--ui-_bg);border-radius:var(--ui-_radius);outline:var(--ui-_border-width-sm) solid var(--ui-_border-color);box-shadow:var(--ui-_shadow);outline-offset:calc(var(--ui-_border-width-sm)*-1)}.ui-popover__header{padding-block-end:calc(0.5rem*2);margin-block-end:calc(0.5rem*2);box-shadow:inset 0 calc(var(--ui-_border-width-sm)*-1) 0 var(--ui-_border-color)}.ui-popover__title{margin:0;font-size:var(--ui-_font-size-md);font-weight:var(--ui-_weight-semibold)}.ui-popover--top::after{content:"";position:absolute;inset-block-start:100%;inset-inline-start:50%;border:var(--ui-_arrow-size) solid rgba(0,0,0,0);border-block-start-color:var(--ui-_bg);transform:translateX(-50%)}.ui-popover--top::before{content:"";position:absolute;inset-block-start:100%;inset-inline-start:50%;border:calc(var(--ui-_arrow-size) + 1px) solid rgba(0,0,0,0);border-block-start-color:var(--ui-_border-color);transform:translateX(-50%)}.ui-popover--bottom::after{content:"";position:absolute;inset-block-end:100%;inset-inline-start:50%;border:var(--ui-_arrow-size) solid rgba(0,0,0,0);border-block-end-color:var(--ui-_bg);transform:translateX(-50%)}.ui-popover--bottom::before{content:"";position:absolute;inset-block-end:100%;inset-inline-start:50%;border:calc(var(--ui-_arrow-size) + 1px) solid rgba(0,0,0,0);border-block-end-color:var(--ui-_border-color);transform:translateX(-50%)}.ui-popover--visible{opacity:1}.ui-popover--hidden{opacity:0;pointer-events:none}.ui-popover--animate{transition:opacity var(--ui-_duration-fast) var(--ui-_ease-default)}}
|
|
140
142
|
@layer components.tokens{.ui-tooltip{--ui-_duration-fast: var(--ui-duration-fast, 100ms);--ui-_ease-default: var(--ui-ease-default, ease);--ui-_bg: var(--ui-tooltip-bg, var(--ui-color-text, hsl(220, 10%, 10%)));--ui-_color: var(--ui-tooltip-color, var(--ui-color-bg, hsl(220, 10%, 98%)));--ui-_radius: var(--ui-tooltip-radius, var(--ui-radius-sm, calc(0.5rem / 2)));--ui-_padding-x: var(--ui-tooltip-padding-x, calc(0.5rem * 1));--ui-_padding-y: var(--ui-tooltip-padding-y, calc(0.5rem / 2));--ui-_font-size: var(--ui-tooltip-font-size, var(--ui-font-size-sm, 0.875rem));--ui-_z: var(--ui-tooltip-z, var(--ui-z-tooltip, 600));--ui-_arrow-size: var(--ui-tooltip-arrow-size, calc(0.5rem / 2))}}
|
|
141
|
-
@layer components.styles{.ui-tooltip{position:absolute;z-index:var(--ui-_z);max-inline-size:calc(0.5rem*25);padding:var(--ui-_padding-y) var(--ui-_padding-x);font-size:var(--ui-_font-size);line-height:calc(0.5rem*2);text-align:center;white-space:nowrap;color:var(--ui-_color);background:var(--ui-_bg);border-radius:var(--ui-_radius)}.ui-tooltip--top::after{content:"";position:absolute;inset-block-start:100%;inset-inline-start:50%;border:var(--ui-_arrow-size) solid rgba(0,0,0,0);border-block-start-color:var(--ui-_bg);transform:translateX(-50%)}.ui-tooltip--bottom::after{content:"";position:absolute;inset-block-end:100%;inset-inline-start:50%;border:var(--ui-_arrow-size) solid rgba(0,0,0,0);border-block-end-color:var(--ui-_bg);transform:translateX(-50%)}.ui-tooltip--start::after{content:"";position:absolute;inset-block-start:50%;inset-inline-start:100%;border:var(--ui-_arrow-size) solid rgba(0,0,0,0);border-inline-start-color:var(--ui-_bg);transform:translateY(-50%)}.ui-tooltip--end::after{content:"";position:absolute;inset-block-start:50%;inset-inline-end:100%;border:var(--ui-_arrow-size) solid rgba(0,0,0,0);border-inline-end-color:var(--ui-_bg);transform:translateY(-50%)}.ui-tooltip--visible{opacity:1}.ui-tooltip--hidden{opacity:0;pointer-events:none}.ui-tooltip--animate{transition:opacity var(--ui-_duration-fast) var(--ui-_ease-default)}}
|
|
143
|
+
@layer components.styles{.ui-tooltip{position:absolute;z-index:var(--ui-_z);max-inline-size:calc(0.5rem*25);padding:var(--ui-_padding-y) var(--ui-_padding-x);font-size:var(--ui-_font-size);line-height:calc(0.5rem*2);text-align:center;white-space:nowrap;color:var(--ui-_color);background:var(--ui-_bg);border-radius:var(--ui-_radius)}.ui-tooltip--top::after{content:"";position:absolute;inset-block-start:100%;inset-inline-start:50%;border:var(--ui-_arrow-size) solid rgba(0,0,0,0);border-block-start-color:var(--ui-_bg);transform:translateX(-50%)}.ui-tooltip--bottom::after{content:"";position:absolute;inset-block-end:100%;inset-inline-start:50%;border:var(--ui-_arrow-size) solid rgba(0,0,0,0);border-block-end-color:var(--ui-_bg);transform:translateX(-50%)}.ui-tooltip--start::after{content:"";position:absolute;inset-block-start:50%;inset-inline-start:100%;border:var(--ui-_arrow-size) solid rgba(0,0,0,0);border-inline-start-color:var(--ui-_bg);transform:translateY(-50%)}.ui-tooltip--end::after{content:"";position:absolute;inset-block-start:50%;inset-inline-end:100%;border:var(--ui-_arrow-size) solid rgba(0,0,0,0);border-inline-end-color:var(--ui-_bg);transform:translateY(-50%)}.ui-tooltip--visible{opacity:1}.ui-tooltip--hidden{opacity:0;pointer-events:none}.ui-tooltip--animate{transition:opacity var(--ui-_duration-fast) var(--ui-_ease-default)}@supports(anchor-name: --tooltip){.ui-tooltip--anchored{position:fixed;position-anchor:--tooltip;inset:auto;inset-area:block-start center;position-try-fallbacks:flip-block,flip-inline,flip-block flip-inline;margin-block-end:var(--ui-_arrow-size)}.ui-tooltip--anchored::after{content:none}.ui-tooltip-anchor{anchor-name:--tooltip}}}
|
|
142
144
|
@layer components.tokens{.ui-blockquote{--ui-_space-1: var(--ui-space-1, 0.5rem);--ui-_font-size-sm: var(--ui-font-size-sm, 0.875rem);--ui-_leading-sm: var(--ui-leading-sm, 1.5rem);--ui-_color-text-muted: var(--ui-color-text-muted, hsl(220, 10%, 45%));--ui-_border-color: var(--ui-blockquote-border-color, var(--ui-color-border-strong, hsl(220, 10%, 80%)));--ui-_border-width: var(--ui-blockquote-border-width, var(--ui-border-width-lg, 0.25rem));--ui-_padding-inline: var(--ui-blockquote-padding-inline, var(--ui-space-3, 1.5rem));--ui-_color: var(--ui-blockquote-color, var(--ui-color-text-muted, hsl(220, 10%, 45%)));--ui-_font-size: var(--ui-blockquote-font-size, var(--ui-font-size-lg, 1.25rem));--ui-_line-height: var(--ui-blockquote-line-height, var(--ui-leading-lg, 2rem))}.ui-blockquote--accent{--ui-_border-color: var(--ui-color-primary, oklch(55% 0.22 250deg))}}
|
|
143
145
|
@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);font-size:var(--ui-_font-size-sm);font-style:normal;line-height:var(--ui-_leading-sm);color:var(--ui-_color-text-muted)}}
|
|
144
146
|
@layer components.tokens{.ui-code{--ui-_font-mono: var(--ui-font-mono, ui-monospace, sfmono-regular, SF Mono, menlo, consolas, Liberation Mono, monospace);--ui-_leading-tight-sm: var(--ui-leading-tight-sm, 1rem);--ui-_border-width-sm: var(--ui-border-width-sm, 0.0625rem);--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%)))}}
|
|
@@ -163,6 +165,7 @@
|
|
|
163
165
|
@view-transition{navigation:auto}
|
|
164
166
|
@layer utilities{@keyframes vt-fade-in{from{opacity:0}}@keyframes vt-fade-out{to{opacity:0}}@keyframes vt-slide-in-up{from{opacity:0;transform:translateY(1.25rem)}}@keyframes vt-slide-out-up{to{opacity:0;transform:translateY(-1.25rem)}}@keyframes vt-slide-in-down{from{opacity:0;transform:translateY(-1.25rem)}}@keyframes vt-slide-out-down{to{opacity:0;transform:translateY(1.25rem)}}@keyframes vt-slide-in-start{from{opacity:0;transform:translateX(-1.25rem)}}@keyframes vt-slide-out-start{to{opacity:0;transform:translateX(-1.25rem)}}@keyframes vt-slide-in-end{from{opacity:0;transform:translateX(1.25rem)}}@keyframes vt-slide-out-end{to{opacity:0;transform:translateX(1.25rem)}}@keyframes vt-scale-in{from{opacity:0;transform:scale(0.95)}}@keyframes vt-scale-out{to{opacity:0;transform:scale(1.05)}}.ui-transition-name-sidebar{view-transition-name:sidebar}.ui-transition-name-main{view-transition-name:main}.ui-transition-name-header{view-transition-name:header}.ui-transition-name-hero{view-transition-name:hero}.ui-transition-name-card{view-transition-name:card}.ui-transition-name-modal{view-transition-name:modal}.ui-transition-name-slide-up{view-transition-name:slide-up}.ui-transition-name-slide-down{view-transition-name:slide-down}.ui-transition-name-slide-start{view-transition-name:slide-start}.ui-transition-name-slide-end{view-transition-name:slide-end}.ui-transition-name-scale{view-transition-name:scale}.ui-transition-name-fade{view-transition-name:fade}.ui-transition-name-none{view-transition-name:none}::view-transition-old(sidebar),::view-transition-new(sidebar),::view-transition-old(header),::view-transition-new(header){animation:none}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--ui-duration-base);animation-timing-function:var(--ui-ease-default)}::view-transition-old(fade){animation:vt-fade-out var(--ui-duration-base) var(--ui-ease-out)}::view-transition-new(fade){animation:vt-fade-in var(--ui-duration-base) var(--ui-ease-out)}::view-transition-old(slide-up),::view-transition-old(main){animation:vt-slide-out-up var(--ui-duration-base) var(--ui-ease-out)}::view-transition-new(slide-up),::view-transition-new(main){animation:vt-slide-in-up var(--ui-duration-base) var(--ui-ease-out)}::view-transition-old(slide-down){animation:vt-slide-out-down var(--ui-duration-base) var(--ui-ease-out)}::view-transition-new(slide-down){animation:vt-slide-in-down var(--ui-duration-base) var(--ui-ease-out)}::view-transition-old(slide-start){animation:vt-slide-out-start var(--ui-duration-base) var(--ui-ease-out)}::view-transition-new(slide-start){animation:vt-slide-in-start var(--ui-duration-base) var(--ui-ease-out)}::view-transition-old(slide-end){animation:vt-slide-out-end var(--ui-duration-base) var(--ui-ease-out)}::view-transition-new(slide-end){animation:vt-slide-in-end var(--ui-duration-base) var(--ui-ease-out)}::view-transition-old(scale),::view-transition-old(modal),::view-transition-old(card){animation:vt-scale-out var(--ui-duration-base) var(--ui-ease-out)}::view-transition-new(scale),::view-transition-new(modal),::view-transition-new(card){animation:vt-scale-in var(--ui-duration-base) var(--ui-ease-out)}::view-transition-group(hero){animation-duration:var(--ui-duration-slow);animation-timing-function:var(--ui-ease-in-out)}@media(prefers-reduced-motion: reduce){::view-transition-old(*),::view-transition-new(*),::view-transition-group(*){animation-duration:0s !important}}}
|
|
165
167
|
@layer utilities{.ui-snap-x{overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain}.ui-snap-y{overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior-y:contain}.ui-snap-x-proximity{overflow-x:auto;scroll-snap-type:x proximity}.ui-snap-y-proximity{overflow-y:auto;scroll-snap-type:y proximity}.ui-snap-none{scroll-snap-type:none}.ui-snap-start{scroll-snap-align:start}.ui-snap-center{scroll-snap-align:center}.ui-snap-end{scroll-snap-align:end}.ui-snap-always{scroll-snap-stop:always}.ui-snap-p-1{scroll-padding:var(--ui-space-1)}.ui-snap-p-2{scroll-padding:var(--ui-space-2)}.ui-snap-p-4{scroll-padding:var(--ui-space-4)}}
|
|
168
|
+
@layer utilities{@supports(animation-timeline: scroll()){.ui-scroll-progress{position:fixed;inset-block-start:0;inset-inline-start:0;z-index:var(--ui-z-toast, 700);block-size:var(--ui-scroll-progress-height, var(--ui-space-half, 0.25rem));inline-size:100%;background:var(--ui-scroll-progress-bg, var(--ui-color-primary));transform-origin:inline-start;scale:0 1;animation:scroll-progress-fill auto linear;animation-timeline:scroll()}@keyframes scroll-progress-fill{to{scale:1 1}}.ui-view-fade{animation:view-fade-in auto linear both;animation-timeline:view();animation-range:entry 0% entry 100%}@keyframes view-fade-in{from{opacity:0}to{opacity:1}}.ui-view-slide-up{animation:view-slide-up-in auto linear both;animation-timeline:view();animation-range:entry 0% entry 100%}@keyframes view-slide-up-in{from{opacity:0;transform:translateY(var(--ui-space-4, 2rem))}to{opacity:1;transform:translateY(0)}}.ui-view-slide-start{animation:view-slide-start-in auto linear both;animation-timeline:view();animation-range:entry 0% entry 100%}@keyframes view-slide-start-in{from{opacity:0;transform:translateX(calc(var(--ui-space-4, 2rem) * -1))}to{opacity:1;transform:translateX(0)}}.ui-view-scale{animation:view-scale-in auto linear both;animation-timeline:view();animation-range:entry 0% entry 100%}@keyframes view-scale-in{from{opacity:0;scale:.9}to{opacity:1;scale:1}}@media(prefers-reduced-motion: reduce){.ui-scroll-progress,.ui-view-fade,.ui-view-slide-up,.ui-view-slide-start,.ui-view-scale{opacity:1;transform:none;scale:1 1;animation:none}}}}
|
|
166
169
|
@layer utilities{.ui-container-inline{container-type:inline-size}.ui-container-size{container-type:size}.ui-container-normal{container-type:normal}}
|
|
167
170
|
.ui-debug-grid,.ui-debug-grid-rows,.ui-debug-baseline{position:relative}
|
|
168
171
|
.ui-debug-grid{--ui-debug-color: hsl(var(--ui-hue-primary, 220) 80% 50% / 0.15)}
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
// @desc Gap between children
|
|
17
17
|
--_gap: var(--ui-divider-gap, calc(#{t.$unit} * 2));
|
|
18
18
|
}
|
|
19
|
+
|
|
20
|
+
// With text label - taller to accommodate text
|
|
21
|
+
.divider:not(:empty) {
|
|
22
|
+
--_height: var(--ui-row-1, #{t.$row});
|
|
23
|
+
}
|
|
19
24
|
}
|
|
20
25
|
|
|
21
26
|
@layer components.styles {
|
|
@@ -43,11 +48,6 @@
|
|
|
43
48
|
background: var(--_color);
|
|
44
49
|
}
|
|
45
50
|
|
|
46
|
-
// With text label - taller to accommodate text
|
|
47
|
-
.divider:not(:empty) {
|
|
48
|
-
--_height: var(--ui-row-1, #{t.$row});
|
|
49
|
-
}
|
|
50
|
-
|
|
51
51
|
.divider:not(:empty)::before {
|
|
52
52
|
margin-inline-end: calc(#{t.$unit} * 2);
|
|
53
53
|
}
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
"size": {
|
|
10
10
|
"values": ["sm", "lg"]
|
|
11
11
|
},
|
|
12
|
-
"
|
|
12
|
+
"flush": {
|
|
13
13
|
"type": "boolean"
|
|
14
14
|
},
|
|
15
|
-
"
|
|
15
|
+
"interactive": {
|
|
16
16
|
"type": "boolean"
|
|
17
17
|
},
|
|
18
18
|
"responsive": {
|
|
@@ -68,6 +68,21 @@
|
|
|
68
68
|
"name": "--ui-card-padding-lg",
|
|
69
69
|
"default": "var(--ui-space-6)",
|
|
70
70
|
"description": "Padding on all sides at large size"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "--ui-card-bg-hover",
|
|
74
|
+
"default": "var(--ui-color-bg-subtle)",
|
|
75
|
+
"description": "Bg hover"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "--ui-card-border-color-hover",
|
|
79
|
+
"default": "var(--ui-color-border-strong)",
|
|
80
|
+
"description": "Border color hover"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "--ui-card-bg-active",
|
|
84
|
+
"default": "var(--ui-color-bg-muted)",
|
|
85
|
+
"description": "Bg active"
|
|
71
86
|
}
|
|
72
87
|
]
|
|
73
88
|
}
|
|
@@ -32,16 +32,26 @@
|
|
|
32
32
|
// @desc Padding on all sides at large size
|
|
33
33
|
.card--lg { --_padding: var(--ui-card-padding-lg, var(--ui-space-6, #{t.$space-6})); }
|
|
34
34
|
|
|
35
|
-
// @modifier boolean interactive
|
|
36
|
-
.card--interactive {
|
|
37
|
-
cursor: pointer;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
35
|
// @modifier boolean flush
|
|
41
36
|
.card--flush {
|
|
42
37
|
--_padding: 0;
|
|
43
38
|
--_border-width: 0;
|
|
44
39
|
}
|
|
40
|
+
|
|
41
|
+
// @modifier boolean interactive
|
|
42
|
+
.card--interactive {
|
|
43
|
+
&:hover {
|
|
44
|
+
// @desc Bg hover
|
|
45
|
+
--_bg: var(--ui-card-bg-hover, var(--ui-color-bg-subtle, #{t.$color-bg-subtle}));
|
|
46
|
+
// @desc Border color hover
|
|
47
|
+
--_border-color: var(--ui-card-border-color-hover, var(--ui-color-border-strong, #{t.$color-border-strong}));
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&:active {
|
|
51
|
+
// @desc Bg active
|
|
52
|
+
--_bg: var(--ui-card-bg-active, var(--ui-color-bg-muted, #{t.$color-bg-muted}));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
45
55
|
}
|
|
46
56
|
|
|
47
57
|
@layer components.styles {
|
|
@@ -85,21 +95,11 @@
|
|
|
85
95
|
}
|
|
86
96
|
|
|
87
97
|
.card--interactive {
|
|
98
|
+
cursor: pointer;
|
|
99
|
+
|
|
88
100
|
transition:
|
|
89
101
|
background-color var(--_duration-fast) var(--_ease-default),
|
|
90
102
|
border-color var(--_duration-fast) var(--_ease-default),
|
|
91
103
|
box-shadow var(--_duration-fast) var(--_ease-default);
|
|
92
|
-
|
|
93
|
-
&:hover {
|
|
94
|
-
// @desc Bg hover
|
|
95
|
-
--_bg: var(--ui-card-bg-hover, var(--ui-color-bg-subtle, #{t.$color-bg-subtle}));
|
|
96
|
-
// @desc Border color hover
|
|
97
|
-
--_border-color: var(--ui-card-border-color-hover, var(--ui-color-border-strong, #{t.$color-border-strong}));
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
&:active {
|
|
101
|
-
// @desc Bg active
|
|
102
|
-
--_bg: var(--ui-card-bg-active, var(--ui-color-bg-muted, #{t.$color-bg-muted}));
|
|
103
|
-
}
|
|
104
104
|
}
|
|
105
105
|
}
|
|
@@ -5,6 +5,15 @@
|
|
|
5
5
|
// Progress - progress bar indicator
|
|
6
6
|
// Shows completion status of a task
|
|
7
7
|
|
|
8
|
+
// Register --ui-progress-value as typed property so browsers can
|
|
9
|
+
// interpolate percentage values — enables smooth CSS-only transitions
|
|
10
|
+
// when value changes via JS (no inline width needed)
|
|
11
|
+
@property --ui-progress-value {
|
|
12
|
+
syntax: "<percentage>";
|
|
13
|
+
inherits: false;
|
|
14
|
+
initial-value: 0%;
|
|
15
|
+
}
|
|
16
|
+
|
|
8
17
|
@layer components.tokens {
|
|
9
18
|
.progress {
|
|
10
19
|
--_duration-normal: var(--ui-duration-normal, #{t.$duration-normal});
|
|
@@ -27,6 +36,20 @@
|
|
|
27
36
|
.progress--lg {
|
|
28
37
|
--_height: calc(#{t.$unit} * 2);
|
|
29
38
|
}
|
|
39
|
+
|
|
40
|
+
// Color variants
|
|
41
|
+
// @modifier variant
|
|
42
|
+
.progress--success {
|
|
43
|
+
--_fill: var(--ui-color-success, #{t.$color-success});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.progress--warning {
|
|
47
|
+
--_fill: var(--ui-color-warning, #{t.$color-warning});
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.progress--danger {
|
|
51
|
+
--_fill: var(--ui-color-danger, #{t.$color-danger});
|
|
52
|
+
}
|
|
30
53
|
}
|
|
31
54
|
|
|
32
55
|
@layer components.styles {
|
|
@@ -42,11 +65,16 @@
|
|
|
42
65
|
|
|
43
66
|
.progress__bar {
|
|
44
67
|
block-size: 100%;
|
|
68
|
+
// Typed --ui-progress-value enables CSS-only transitions;
|
|
69
|
+
// falls back to inline style width for older browsers
|
|
70
|
+
inline-size: var(--ui-progress-value, auto);
|
|
45
71
|
|
|
46
72
|
background: var(--_fill);
|
|
47
73
|
border-radius: var(--_radius);
|
|
48
74
|
|
|
49
|
-
transition:
|
|
75
|
+
transition:
|
|
76
|
+
inline-size var(--_duration-normal) var(--_ease-default),
|
|
77
|
+
--ui-progress-value var(--_duration-normal) var(--_ease-default);
|
|
50
78
|
}
|
|
51
79
|
|
|
52
80
|
// Indeterminate state - animated stripe
|
|
@@ -108,18 +136,4 @@
|
|
|
108
136
|
animation: none;
|
|
109
137
|
}
|
|
110
138
|
}
|
|
111
|
-
|
|
112
|
-
// Color variants
|
|
113
|
-
// @modifier variant
|
|
114
|
-
.progress--success {
|
|
115
|
-
--_fill: var(--ui-color-success, #{t.$color-success});
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
.progress--warning {
|
|
119
|
-
--_fill: var(--ui-color-warning, #{t.$color-warning});
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
.progress--danger {
|
|
123
|
-
--_fill: var(--ui-color-danger, #{t.$color-danger});
|
|
124
|
-
}
|
|
125
139
|
}
|
|
Binary file
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
"size": {
|
|
7
7
|
"values": ["sm", "lg"]
|
|
8
8
|
},
|
|
9
|
+
"variant": {
|
|
10
|
+
"values": ["success", "warning", "danger"]
|
|
11
|
+
},
|
|
9
12
|
"indeterminate": {
|
|
10
13
|
"type": "boolean"
|
|
11
14
|
},
|
|
@@ -14,9 +17,6 @@
|
|
|
14
17
|
},
|
|
15
18
|
"animated": {
|
|
16
19
|
"type": "boolean"
|
|
17
|
-
},
|
|
18
|
-
"variant": {
|
|
19
|
-
"values": ["success", "warning", "danger"]
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"elements": {
|
|
@@ -230,6 +230,59 @@
|
|
|
230
230
|
"code": "<div class=\"ui-progress ui-progress--indeterminate\"\n role=\"progressbar\" aria-label=\"Loading\">\n <div class=\"ui-progress__bar\"></div>\n</div>"
|
|
231
231
|
}
|
|
232
232
|
]
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"title": "Typed Custom Property",
|
|
236
|
+
"description": "Set value via --ui-progress-value instead of inline width. The @property registration enables smooth CSS transitions when JS updates the value.",
|
|
237
|
+
"examples": [
|
|
238
|
+
{
|
|
239
|
+
"items": [
|
|
240
|
+
{
|
|
241
|
+
"tag": "div",
|
|
242
|
+
"attrs": {
|
|
243
|
+
"style": "display: flex; flex-direction: column; gap: var(--ui-space-2);"
|
|
244
|
+
},
|
|
245
|
+
"children": [
|
|
246
|
+
{
|
|
247
|
+
"tag": "div",
|
|
248
|
+
"class": "ui-progress",
|
|
249
|
+
"attrs": {
|
|
250
|
+
"role": "progressbar",
|
|
251
|
+
"aria-valuenow": "25",
|
|
252
|
+
"aria-valuemin": "0",
|
|
253
|
+
"aria-valuemax": "100"
|
|
254
|
+
},
|
|
255
|
+
"children": [
|
|
256
|
+
{
|
|
257
|
+
"tag": "div",
|
|
258
|
+
"class": "ui-progress__bar",
|
|
259
|
+
"style": { "--ui-progress-value": "25%" }
|
|
260
|
+
}
|
|
261
|
+
]
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"tag": "div",
|
|
265
|
+
"class": "ui-progress",
|
|
266
|
+
"attrs": {
|
|
267
|
+
"role": "progressbar",
|
|
268
|
+
"aria-valuenow": "75",
|
|
269
|
+
"aria-valuemin": "0",
|
|
270
|
+
"aria-valuemax": "100"
|
|
271
|
+
},
|
|
272
|
+
"children": [
|
|
273
|
+
{
|
|
274
|
+
"tag": "div",
|
|
275
|
+
"class": "ui-progress__bar",
|
|
276
|
+
"style": { "--ui-progress-value": "75%" }
|
|
277
|
+
}
|
|
278
|
+
]
|
|
279
|
+
}
|
|
280
|
+
]
|
|
281
|
+
}
|
|
282
|
+
],
|
|
283
|
+
"code": "<!-- CSS-only smooth transitions via @property -->\n<div class=\"ui-progress\" role=\"progressbar\" aria-valuenow=\"75\">\n <div class=\"ui-progress__bar\"\n style=\"--ui-progress-value: 75%;\"></div>\n</div>\n\n<!-- Update from JS: el.style.setProperty('--ui-progress-value', '90%') -->"
|
|
284
|
+
}
|
|
285
|
+
]
|
|
233
286
|
}
|
|
234
287
|
],
|
|
235
288
|
"customization": [
|
|
@@ -252,6 +305,11 @@
|
|
|
252
305
|
"token": "--ui-progress-radius",
|
|
253
306
|
"default": "var(--ui-radius-full)",
|
|
254
307
|
"description": "Border radius"
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"token": "--ui-progress-value",
|
|
311
|
+
"default": "0%",
|
|
312
|
+
"description": "Progress value as percentage (typed via @property for smooth transitions)"
|
|
255
313
|
}
|
|
256
314
|
]
|
|
257
315
|
}
|
|
@@ -5,6 +5,14 @@
|
|
|
5
5
|
// Progress Circle - circular progress indicator
|
|
6
6
|
// Uses SVG circles with stroke-dasharray/dashoffset driven by --ui-progress-circle-value
|
|
7
7
|
|
|
8
|
+
// Register typed property so browsers can interpolate the value
|
|
9
|
+
// — enables smooth stroke-dashoffset transitions via CSS alone
|
|
10
|
+
@property --ui-progress-circle-value {
|
|
11
|
+
syntax: "<number>";
|
|
12
|
+
inherits: false;
|
|
13
|
+
initial-value: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
8
16
|
@layer components.tokens {
|
|
9
17
|
.progress-circle {
|
|
10
18
|
--_duration-slow: var(--ui-duration-slow, #{t.$duration-slow});
|
|
@@ -78,7 +86,9 @@
|
|
|
78
86
|
stroke-dasharray: var(--_circumference);
|
|
79
87
|
stroke-dashoffset: calc(var(--_circumference) * (1 - var(--_value) / 100));
|
|
80
88
|
|
|
81
|
-
transition:
|
|
89
|
+
transition:
|
|
90
|
+
stroke-dashoffset var(--_duration-slow) var(--_ease-default),
|
|
91
|
+
--ui-progress-circle-value var(--_duration-slow) var(--_ease-default);
|
|
82
92
|
}
|
|
83
93
|
|
|
84
94
|
// Indeterminate - rotating partial arc
|
|
Binary file
|
|
@@ -37,6 +37,16 @@
|
|
|
37
37
|
"name": "--ui-form-section-spacing",
|
|
38
38
|
"default": "var(--ui-space-4)",
|
|
39
39
|
"description": "Section spacing"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"name": "--ui-form-spacing-compact",
|
|
43
|
+
"default": "var(--ui-space-2)",
|
|
44
|
+
"description": "Spacing compact"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "--ui-form-section-spacing-compact",
|
|
48
|
+
"default": "var(--ui-space-3)",
|
|
49
|
+
"description": "Section spacing compact"
|
|
40
50
|
}
|
|
41
51
|
]
|
|
42
52
|
}
|
|
@@ -15,6 +15,15 @@
|
|
|
15
15
|
// @desc Section spacing
|
|
16
16
|
--_section-spacing: var(--ui-form-section-spacing, var(--ui-space-4, calc(#{t.$unit} * 4)));
|
|
17
17
|
}
|
|
18
|
+
|
|
19
|
+
// Compact variant - tighter spacing
|
|
20
|
+
// @modifier boolean compact
|
|
21
|
+
.form--compact {
|
|
22
|
+
// @desc Spacing compact
|
|
23
|
+
--_spacing: var(--ui-form-spacing-compact, var(--ui-space-2, calc(#{t.$unit} * 2)));
|
|
24
|
+
// @desc Section spacing compact
|
|
25
|
+
--_section-spacing: var(--ui-form-section-spacing-compact, var(--ui-space-3, calc(#{t.$unit} * 3)));
|
|
26
|
+
}
|
|
18
27
|
}
|
|
19
28
|
|
|
20
29
|
@layer components.styles {
|
|
@@ -49,15 +58,6 @@
|
|
|
49
58
|
gap: var(--_actions-gap);
|
|
50
59
|
}
|
|
51
60
|
|
|
52
|
-
// Compact variant - tighter spacing
|
|
53
|
-
// @modifier boolean compact
|
|
54
|
-
.form--compact {
|
|
55
|
-
// @desc Spacing compact
|
|
56
|
-
--_spacing: var(--ui-form-spacing-compact, var(--ui-space-2, calc(#{t.$unit} * 2)));
|
|
57
|
-
// @desc Section spacing compact
|
|
58
|
-
--_section-spacing: var(--ui-form-section-spacing-compact, var(--ui-space-3, calc(#{t.$unit} * 3)));
|
|
59
|
-
}
|
|
60
|
-
|
|
61
61
|
// Inline variant - horizontal layout for short forms (search, filters)
|
|
62
62
|
// @modifier boolean inline
|
|
63
63
|
.form--inline {
|
|
@@ -114,4 +114,29 @@
|
|
|
114
114
|
.tooltip--animate {
|
|
115
115
|
transition: opacity var(--_duration-fast) var(--_ease-default);
|
|
116
116
|
}
|
|
117
|
+
|
|
118
|
+
// Anchor-positioned tooltip (progressive enhancement)
|
|
119
|
+
// Browser auto-positions relative to anchor element, no JS needed
|
|
120
|
+
// @modifier boolean anchored
|
|
121
|
+
@supports (anchor-name: --tooltip) {
|
|
122
|
+
.tooltip--anchored {
|
|
123
|
+
position: fixed;
|
|
124
|
+
position-anchor: --tooltip;
|
|
125
|
+
inset: auto;
|
|
126
|
+
inset-area: block-start center;
|
|
127
|
+
position-try-fallbacks: flip-block, flip-inline, flip-block flip-inline;
|
|
128
|
+
|
|
129
|
+
margin-block-end: var(--_arrow-size);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// Hide CSS arrows — browser handles positioning
|
|
133
|
+
.tooltip--anchored::after {
|
|
134
|
+
content: none;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// Anchor source: place on trigger element
|
|
138
|
+
.tooltip-anchor {
|
|
139
|
+
anchor-name: --tooltip;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
117
142
|
}
|
|
Binary file
|
|
@@ -64,6 +64,36 @@
|
|
|
64
64
|
"code": "<span class=\"ui-tooltip ui-tooltip--top ui-tooltip--animate ui-tooltip--visible\">\n Animated tooltip\n</span>"
|
|
65
65
|
}
|
|
66
66
|
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"title": "Anchor Positioned",
|
|
70
|
+
"description": "Browser-native positioning via CSS Anchor Positioning. No JS needed for placement. Wrapped in @supports — falls back to manual positioning in unsupported browsers.",
|
|
71
|
+
"examples": [
|
|
72
|
+
{
|
|
73
|
+
"items": [
|
|
74
|
+
{
|
|
75
|
+
"tag": "div",
|
|
76
|
+
"attrs": {
|
|
77
|
+
"style": "position: relative; padding: var(--ui-space-4); display: flex; gap: var(--ui-space-4);"
|
|
78
|
+
},
|
|
79
|
+
"children": [
|
|
80
|
+
{
|
|
81
|
+
"tag": "button",
|
|
82
|
+
"class": "ui-button",
|
|
83
|
+
"attrs": { "style": "anchor-name: --tooltip;" },
|
|
84
|
+
"text": "Hover me"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"tag": "span",
|
|
88
|
+
"class": "ui-tooltip ui-tooltip--anchored ui-tooltip--visible",
|
|
89
|
+
"text": "Anchored tooltip"
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"code": "<!-- Add anchor-name: --tooltip to trigger -->\n<button class=\"ui-button\" style=\"anchor-name: --tooltip\">Hover me</button>\n<span class=\"ui-tooltip ui-tooltip--anchored ui-tooltip--visible\">\n Anchored tooltip\n</span>\n\n<!-- Or use the helper class -->\n<button class=\"ui-button\" style=\"anchor-name: --tooltip\">Trigger</button>"
|
|
95
|
+
}
|
|
96
|
+
]
|
|
67
97
|
}
|
|
68
98
|
],
|
|
69
99
|
"customization": [
|