@slotted/angular 0.1.0-beta.6 → 0.1.0-beta.8
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/docs/calendar.json +1 -1
- package/docs/menu.json +12 -0
- package/docs/menu.md +2 -0
- package/docs/side-navigation.json +1 -0
- package/docs/side-navigation.md +1 -1
- package/docs/table.examples.md +2 -2
- package/docs/table.json +2 -2
- package/fesm2022/slotted-angular-action-bar.mjs +1 -1
- package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-app-shell.mjs +2 -2
- package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
- package/fesm2022/slotted-angular-button.mjs +12 -12
- package/fesm2022/slotted-angular-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-calendar.mjs +14 -4
- package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-chart.mjs +2 -2
- package/fesm2022/slotted-angular-chart.mjs.map +1 -1
- package/fesm2022/slotted-angular-color-picker.mjs +1 -1
- package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
- package/fesm2022/slotted-angular-column-manager.mjs +1 -1
- package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
- package/fesm2022/slotted-angular-command-palette.mjs +22 -3
- package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs +1 -1
- package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-grid.mjs +2 -2
- package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
- package/fesm2022/slotted-angular-data-list.mjs +1 -1
- package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
- package/fesm2022/slotted-angular-date-field.mjs +2 -2
- package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-datetime-field.mjs +2 -2
- package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-dialog.mjs +26 -4
- package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
- package/fesm2022/slotted-angular-drawer.mjs +6 -2
- package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs +1 -1
- package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
- package/fesm2022/slotted-angular-filter-bar.mjs +1 -1
- package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
- package/fesm2022/slotted-angular-kbd.mjs +4 -4
- package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
- package/fesm2022/slotted-angular-menu.mjs +12 -4
- package/fesm2022/slotted-angular-menu.mjs.map +1 -1
- package/fesm2022/slotted-angular-saved-views.mjs +1 -1
- package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
- package/fesm2022/slotted-angular-side-navigation.mjs +2 -2
- package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
- package/fesm2022/slotted-angular-split-button.mjs +4 -4
- package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
- package/fesm2022/slotted-angular-table.mjs +3 -1
- package/fesm2022/slotted-angular-table.mjs.map +1 -1
- package/fesm2022/slotted-angular-tabs.mjs +2 -2
- package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
- package/fesm2022/slotted-angular-time-field.mjs +2 -2
- package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
- package/fesm2022/slotted-angular-toolbar.mjs +1 -1
- package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
- package/package.json +3 -3
- package/types/slotted-angular-calendar.d.ts +2 -0
- package/types/slotted-angular-calendar.d.ts.map +1 -1
- package/types/slotted-angular-command-palette.d.ts +10 -1
- package/types/slotted-angular-command-palette.d.ts.map +1 -1
- package/types/slotted-angular-dialog.d.ts.map +1 -1
- package/types/slotted-angular-drawer.d.ts.map +1 -1
- package/types/slotted-angular-menu.d.ts +11 -2
- package/types/slotted-angular-menu.d.ts.map +1 -1
- package/types/slotted-angular-table.d.ts +3 -1
- package/types/slotted-angular-table.d.ts.map +1 -1
|
@@ -519,7 +519,7 @@ class SlColorPicker {
|
|
|
519
519
|
<span data-part="contrast-level">{{ t(measured.key) }}</span>
|
|
520
520
|
</div>
|
|
521
521
|
}
|
|
522
|
-
`, isInline: true, styles: ["@layer slotted.components{[data-ui=color-picker][data-part=root]{--_thumb: var(--slotted-color-picker-thumb-size, var(--slotted-space-6, 1rem));--_channel: var(--slotted-color-picker-channel-size, var(--slotted-space-5, .75rem));--_gap: var(--slotted-space-5, .75rem);--_radius: var(--slotted-radius-md, 6px);--_inner-size: var(--slotted-control-inner-size-md, 24px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_color: var(--slotted-color-picker-color, transparent);--_opaque: var(--slotted-color-picker-opaque, transparent);--_hue: var(--slotted-color-picker-hue, 0);--_checker: repeating-conic-gradient( var(--slotted-surface-sunken, Canvas) 0 25%, var(--slotted-surface, Canvas) 0 50% ) 0 0 / var(--_channel) var(--_channel);box-sizing:border-box;color:var(--slotted-text, CanvasText);display:grid;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--slotted-control-font-size-md, 13px);gap:var(--_gap);inline-size:var(--slotted-color-picker-width, calc(var(--slotted-space-12, 4rem) * 4));max-inline-size:100%;min-inline-size:0}[data-ui=color-picker][data-part=root][data-size=sm]{--_gap: var(--slotted-space-4, .5rem);--_inner-size: var(--slotted-control-inner-size-sm, 22px);--_icon-size: var(--slotted-control-icon-size-sm, 14px);font-size:var(--slotted-control-font-size-sm, 12px)}[data-ui=color-picker][data-part=root][data-size=lg]{--_gap: var(--slotted-space-6, 1rem);--_inner-size: var(--slotted-control-inner-size-lg, 28px);--_icon-size: var(--slotted-control-icon-size-lg, 18px);font-size:var(--slotted-control-font-size-lg, 14px)}[data-ui=color-picker] [data-part=area]{aspect-ratio:3 / 2;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent),hsl(calc(var(--_hue) * 1deg) 100% 50%);border-radius:var(--_radius);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);cursor:crosshair;position:relative;touch-action:none}[data-ui=color-picker] [data-part=area]:dir(rtl){background:linear-gradient(to top,#000,transparent),linear-gradient(to left,#fff,transparent),hsl(calc(var(--_hue) * 1deg) 100% 50%)}[data-ui=color-picker] :is([data-part=area-thumb],[data-part=channel-thumb]){background:var(--_opaque);block-size:var(--_thumb);border:var(--slotted-border-width-medium, 2px) solid #fff;border-radius:var(--slotted-radius-full, 9999px);box-shadow:0 0 0 var(--slotted-border-width-thin, 1px) #0000003d,var(--slotted-shadow-sm, none);box-sizing:border-box;cursor:grab;inline-size:var(--_thumb);position:absolute;transition:scale var(--slotted-duration-short) var(--slotted-easing-standard),box-shadow var(--slotted-duration-short) var(--slotted-easing-standard);translate:-50% -50%}[data-ui=color-picker] [data-part=area-thumb]{inset-block-start:calc((1 - var(--slotted-color-picker-y, 1)) * 100%);inset-inline-start:calc(var(--slotted-color-picker-x, 1) * 100%)}[data-ui=color-picker] [data-part=area-thumb]:dir(rtl){translate:50% -50%}[data-ui=color-picker] :is([data-part=area],[data-part=channel])[data-dragging]>:is([data-part=area-thumb],[data-part=channel-thumb]){cursor:grabbing;scale:1.15}[data-ui=color-picker] :is([data-part=area-thumb],[data-part=channel-thumb]):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=color-picker] [data-part=channel]{block-size:var(--_channel);border-radius:var(--slotted-radius-full, 9999px);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);cursor:pointer;position:relative;touch-action:none}[data-ui=color-picker] [data-part=channel][data-channel=hue]{background:linear-gradient(to right,red,#ffbf00 12.5%,#ffef00,#dfff00 18.75%,#7fff00,#20ff00 31.25%,#00ff10,#00ff40 37.5%,#0ff,#0040ff 62.5%,#0010ff,#2000ff 68.75%,#7f00ff,#df00ff 81.25%,#ff00ef,#ff00bf 87.5%,red)}[data-ui=color-picker] [data-part=channel][data-channel=alpha]{background:linear-gradient(to right,transparent,var(--_opaque)),var(--_checker)}[data-ui=color-picker] [data-part=channel][data-channel=hue]:dir(rtl){background:linear-gradient(to left,red,#ffbf00 12.5%,#ffef00,#dfff00 18.75%,#7fff00,#20ff00 31.25%,#00ff10,#00ff40 37.5%,#0ff,#0040ff 62.5%,#0010ff,#2000ff 68.75%,#7f00ff,#df00ff 81.25%,#ff00ef,#ff00bf 87.5%,red)}[data-ui=color-picker] [data-part=channel][data-channel=alpha]:dir(rtl){background:linear-gradient(to left,transparent,var(--_opaque)),var(--_checker)}[data-ui=color-picker] [data-part=channel-thumb]{inset-block-start:50%}[data-ui=color-picker] [data-part=channel-thumb][data-channel=hue]{background:hsl(calc(var(--_hue) * 1deg) 100% 50%);inset-inline-start:calc(var(--_thumb) / 2 + var(--_hue) / 360 * (100% - var(--_thumb)))}[data-ui=color-picker] [data-part=channel-thumb][data-channel=alpha]{background:linear-gradient(var(--_color),var(--_color)),var(--_checker);inset-inline-start:calc(var(--_thumb) / 2 + var(--slotted-color-picker-alpha, 1) * (100% - var(--_thumb)))}[data-ui=color-picker] [data-part=channel-thumb]:dir(rtl){translate:50% -50%}[data-ui=color-picker] [data-part=row]{align-items:center;display:flex;gap:var(--slotted-space-3, .375rem);min-inline-size:0}[data-ui=color-picker] [data-part=swatch],[data-ui=color-picker] [data-part=previous]{appearance:none;block-size:var(--slotted-control-height-md, 34px);border:0;box-sizing:border-box;flex:0 0 auto;inline-size:calc(var(--slotted-control-height-md, 34px) * 3 / 4);margin:0;padding:0}[data-ui=color-picker] [data-part=swatch]{background:linear-gradient(var(--_color),var(--_color)),var(--_checker);border-end-start-radius:var(--_radius);border-start-start-radius:var(--_radius);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent)}[data-ui=color-picker] [data-part=swatch]:only-child,[data-ui=color-picker] [data-part=swatch]:not(:has(+[data-part=previous])){border-radius:var(--_radius)}[data-ui=color-picker] [data-part=previous]{background:linear-gradient(var(--slotted-color-picker-previous, transparent),var(--slotted-color-picker-previous, transparent)),var(--_checker);border-end-end-radius:var(--_radius);border-start-end-radius:var(--_radius);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);cursor:pointer;margin-inline-start:calc(var(--slotted-space-3, .375rem) * -1);position:relative;transition:opacity var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=color-picker] [data-part=previous]>[data-ui=icon]{--slotted-icon-size: var(--_icon-size);color:#fff;filter:drop-shadow(0 0 1px rgb(0 0 0 / .6));inset:0;margin:auto;opacity:0;position:absolute;transition:opacity var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=color-picker] [data-part=previous]:is(:hover,:focus-visible):not(:disabled)>[data-ui=icon]{opacity:1}[data-ui=color-picker] [data-part=previous]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=color-picker] [data-part=row]>[data-ui=text-field]{flex:1 1 0;inline-size:auto}[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]){--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var(--_inner-size);border:0;border-radius:var(--slotted-control-radius, 4px);color:var(--slotted-text-muted, GrayText);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-variant-numeric:tabular-nums;gap:var(--slotted-space-2, .25rem);justify-content:center;min-inline-size:var(--_inner-size);padding:0;position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=color-picker] [data-part=format]{color:var(--slotted-text, CanvasText);font-weight:var(--slotted-font-weight-medium, 500);padding-inline:var(--slotted-space-3, .375rem);text-transform:uppercase}[data-ui=color-picker] [data-part=format]{align-content:center;align-items:baseline;display:inline-grid;grid-auto-flow:column;justify-content:center}[data-ui=color-picker] [data-part=format]>[data-ui=icon]{margin-block-start:calc((1cap + 1ex) / 4 - var(--_icon-size) / 2);translate:0 calc(var(--_icon-size) / 2 - (1cap + 1ex) / 4)}[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]):after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}@media(pointer:coarse){[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]):after{inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2))}}[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]):hover:not(:disabled,[aria-expanded=true]){background-color:var(--slotted-tone-secondary-subtle-hover)}[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]):is(:active,[aria-expanded=true]):not(:disabled){background-color:var(--slotted-tone-secondary-subtle-active)}[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=color-picker] [data-part=presets]{display:grid;gap:var(--slotted-space-3, .375rem);grid-template-columns:repeat(auto-fill,minmax(calc(var(--_inner-size) - var(--slotted-space-2, 4px)),1fr))}[data-ui=color-picker] [data-part=preset]{appearance:none;aspect-ratio:1;background:linear-gradient(var(--slotted-color-picker-preset, transparent),var(--slotted-color-picker-preset, transparent)),var(--_checker);border:0;border-radius:var(--slotted-radius-sm, 4px);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);cursor:pointer;margin:0;min-inline-size:0;padding:0;position:relative;transition:scale var(--slotted-duration-short) var(--slotted-easing-standard),box-shadow var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=color-picker] [data-part=preset]:hover:not(:disabled){scale:1.08}[data-ui=color-picker] [data-part=preset]:active:not(:disabled){scale:.94}[data-ui=color-picker] [data-part=preset][data-selected]{box-shadow:0 0 0 var(--slotted-border-width-medium, 2px) var(--slotted-surface-raised, Canvas),0 0 0 calc(var(--slotted-border-width-medium, 2px) * 2) var(--slotted-text, CanvasText)}[data-ui=color-picker] [data-part=preset]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=color-picker] [data-part=contrast]{align-items:center;display:flex;font-variant-numeric:tabular-nums;gap:var(--slotted-space-4, .5rem)}[data-ui=color-picker] [data-part=contrast-sample]{background:var(--slotted-color-picker-contrast-with, var(--slotted-surface, Canvas));block-size:var(--_inner-size);border-radius:var(--slotted-radius-sm, 4px);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);color:var(--_color);display:inline-grid;font-weight:var(--slotted-font-weight-semibold, 600);inline-size:calc(var(--_inner-size) * 3 / 2);place-items:center}[data-ui=color-picker] [data-part=contrast-ratio]{color:var(--slotted-text, CanvasText);font-weight:var(--slotted-font-weight-medium, 500)}[data-ui=color-picker] [data-part=contrast-level]{border-radius:var(--slotted-radius-sm, 4px);font-size:var(--slotted-font-size-xs, 12px);font-weight:var(--slotted-font-weight-semibold, 600);margin-inline-start:auto;padding:var(--slotted-space-1, 2px) var(--slotted-space-3, .375rem)}[data-ui=color-picker] [data-part=contrast][data-level^=AA] [data-part=contrast-level]{background:var(--slotted-tone-success-surface, Canvas);color:var(--slotted-tone-success-text, CanvasText)}[data-ui=color-picker] [data-part=contrast][data-level=AA-large] [data-part=contrast-level]{background:var(--slotted-tone-warning-surface, Canvas);color:var(--slotted-tone-warning-text, CanvasText)}[data-ui=color-picker] [data-part=contrast][data-level=fail] [data-part=contrast-level]{background:var(--slotted-tone-danger-surface, Canvas);color:var(--slotted-tone-danger-text, CanvasText)}[data-ui=color-picker] [data-part=gamut]{--slotted-icon-size: var(--_icon-size);align-items:center;color:var(--slotted-tone-warning-text, CanvasText);display:flex;font-size:var(--slotted-font-size-xs, 12px);gap:var(--slotted-space-2, .25rem)}[data-ui=text-field] [data-ui=color-picker][data-part=trigger]{appearance:none;background:linear-gradient(var(--_color, transparent),var(--_color, transparent)),repeating-conic-gradient(var(--slotted-surface-sunken, Canvas) 0 25%,var(--slotted-surface, Canvas) 0 50%) 0 0 / 8px 8px;block-size:calc(var(--slotted-control-inner-size, 24px) - var(--slotted-space-2, 4px));border:0;border-radius:var(--slotted-radius-sm, 4px);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);cursor:pointer;flex:0 0 auto;inline-size:calc(var(--slotted-control-inner-size, 24px) - var(--slotted-space-2, 4px));padding:0;position:relative;transition:box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);--_color: var(--slotted-color-picker-color, transparent)}[data-ui=text-field] [data-ui=color-picker][data-part=trigger]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}[data-ui=text-field] [data-ui=color-picker][data-part=trigger]:hover:not(:disabled){box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent),0 0 0 var(--slotted-border-width-medium, 2px) var(--slotted-tone-secondary-subtle-hover)}[data-ui=text-field] [data-ui=color-picker][data-part=trigger]:is(:active,[aria-expanded=true]):not(:disabled){box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent),0 0 0 var(--slotted-border-width-medium, 2px) var(--slotted-tone-secondary-subtle-active)}[data-ui=text-field] [data-ui=color-picker][data-part=trigger]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=color-picker][data-part=root][data-disabled]{color:var(--slotted-disabled-foreground)}[data-ui=color-picker][data-part=root][data-disabled] :is([data-part=area],[data-part=channel],[data-part=presets]){filter:grayscale(1);pointer-events:none}[data-ui=color-picker][data-part=root][data-disabled] :is([data-part=area-thumb],[data-part=channel-thumb]){cursor:not-allowed}[data-ui=color-picker][data-part=root][data-readonly] :is([data-part=area],[data-part=channel],[data-part=preset],[data-part=area-thumb],[data-part=channel-thumb]){cursor:default}@media(forced-colors:active){[data-ui=color-picker] :is([data-part=area-thumb],[data-part=channel-thumb]){border-color:CanvasText;forced-color-adjust:none}[data-ui=color-picker] :is([data-part=area],[data-part=channel],[data-part=swatch],[data-part=previous],[data-part=preset]){forced-color-adjust:none}}}\n", "@layer slotted.components{[data-ui=text-field][data-part=root]{--_font-size: var(--slotted-control-font-size-md, 13px);--_height: var(--slotted-control-height-md, 34px);--_padding-inline: var(--slotted-control-padding-inline-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-floor: var(--slotted-text-field-icon-size-min, 14px);--_icon-size: max(var(--_icon-floor), var(--slotted-control-icon-size-md, 16px));--_inner-size: var(--slotted-control-inner-size-md, 24px);--_action-size: var( --slotted-text-field-action-size, min(calc(var(--_icon-size) + 2 * var(--slotted-space-2, .25rem)), var(--_inner-size)) );--_inset: max( 0px, calc( (var(--_height) - 2 * var(--slotted-control-border-width, 1px) - var(--_action-size)) / 2 ) );--_action-radius: max( var(--slotted-radius-xs, 2px), calc(var(--slotted-text-field-radius, var(--slotted-control-radius, 4px)) - var(--_inset)) );--_action-transition: background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing), color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);align-items:center;background-color:var(--slotted-text-field-background, var(--slotted-control-surface, Field));border:var(--slotted-control-border-width, 1px) solid var(--slotted-text-field-border-color, var(--slotted-control-border-color, ButtonBorder));border-radius:var(--slotted-text-field-radius, var(--slotted-control-radius, 4px));box-shadow:var(--slotted-text-field-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;color:var(--slotted-text-field-color, var(--slotted-text, CanvasText));display:flex;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--_gap);inline-size:100%;min-inline-size:0;min-block-size:var(--_height);padding-inline:var(--_padding-inline);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=text-field][data-part=root]:has(>:is([data-part=clear],[data-part=copy],[data-part=reveal]):not([hidden]):last-child,>[data-part=end]:last-child>[data-part=action]:last-child){padding-inline-end:var(--_inset)}[data-ui=text-field][data-part=root]:has(>[data-part=start]:first-child>[data-part=action]:first-child){padding-inline-start:var(--_inset)}[data-ui=text-field]>[data-part=input]{background-color:transparent;align-self:stretch;margin-block:calc(var(--slotted-control-border-width, 1px) * -1);border:0;color:inherit;flex:1 1 auto;font:inherit;outline:none;padding:0;min-inline-size:0;text-align:inherit;text-overflow:ellipsis}[data-ui=text-field]>[data-part=input]::placeholder{color:var(--slotted-text-field-placeholder-color, var(--slotted-text-muted, GrayText));text-overflow:ellipsis}[data-ui=text-field]>[data-part=input]::-webkit-search-cancel-button,[data-ui=text-field]>[data-part=input]::-webkit-search-decoration{appearance:none}[data-ui=text-field]>[data-part=input]:autofill{box-shadow:inset 0 0 0 100px var(--slotted-text-field-autofill-background, var(--slotted-tone-accent-surface));-webkit-text-fill-color:var(--slotted-text-field-color, var(--slotted-text, CanvasText))}[data-ui=text-field][data-part=root][data-size=sm]{--_font-size: var(--slotted-control-font-size-sm, 12px);--_height: var(--slotted-control-height-sm, 30px);--_padding-inline: var(--slotted-control-padding-inline-sm, 10px);--_gap: var(--slotted-control-gap-sm, 6px);--_icon-size: max(var(--_icon-floor), var(--slotted-control-icon-size-sm, 14px));--_inner-size: var(--slotted-control-inner-size-sm, 22px)}[data-ui=text-field][data-part=root][data-size=md]{--_font-size: var(--slotted-control-font-size-md, 13px);--_height: var(--slotted-control-height-md, 34px);--_padding-inline: var(--slotted-control-padding-inline-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: max(var(--_icon-floor), var(--slotted-control-icon-size-md, 16px));--_inner-size: var(--slotted-control-inner-size-md, 24px)}[data-ui=text-field][data-part=root][data-size=lg]{--_font-size: var(--slotted-control-font-size-lg, 14px);--_height: var(--slotted-control-height-lg, 38px);--_padding-inline: var(--slotted-control-padding-inline-lg, 16px);--_gap: var(--slotted-control-gap-lg, 8px);--_icon-size: max(var(--_icon-floor), var(--slotted-control-icon-size-lg, 18px));--_inner-size: var(--slotted-control-inner-size-lg, 28px)}[data-ui=button-group]>[data-ui=text-field][data-part=root]{flex:1 1 0;inline-size:auto}[data-ui=text-field][data-part=root][data-variant=subtle]{background-color:var( --slotted-text-field-subtle-background, var(--slotted-surface-sunken, Canvas) );border-color:var( --slotted-text-field-subtle-border-color, var(--slotted-border-subtle, ButtonBorder) )}[data-ui=text-field][data-part=root][data-variant=plain]{background-color:transparent;border-color:transparent;border-radius:var(--slotted-radius-none, 0px);box-shadow:none}@media(forced-colors:active){[data-ui=text-field][data-part=root][data-variant=plain]{border-color:ButtonBorder}}[data-ui=text-field][data-part=root][data-mono]{font-family:var(--slotted-font-family-mono, monospace);font-variant-numeric:tabular-nums}[data-ui=text-field]>[data-part=start],[data-ui=text-field]>[data-part=end]{align-items:center;color:var(--slotted-text-field-adornment-color, var(--slotted-text-muted, GrayText));display:inline-flex;flex:0 0 auto;gap:var(--slotted-space-2, .25rem);line-height:1;unicode-bidi:plaintext}[data-ui=text-field]>[data-part=start],[data-ui=text-field]>[data-part=end]{--slotted-icon-size: var(--_icon-size);--slotted-control-inner-size: var(--_inner-size)}[data-ui=text-field]>[data-part=start]>svg,[data-ui=text-field]>[data-part=end]>svg{block-size:var(--_icon-size);inline-size:var(--_icon-size)}[data-ui=text-field]>[data-part=start]:not(:has(svg,img,[data-ui=icon],[data-part=action])),[data-ui=text-field]>[data-part=end]:not(:has(svg,img,[data-ui=icon],[data-part=action])){padding-inline:calc(var(--_icon-size) / 8)}[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]),[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var(--_action-size);border:0;border-radius:var(--_action-radius);box-sizing:border-box;color:var(--slotted-text-field-action-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;gap:var(--slotted-space-2, .25rem);justify-content:center;line-height:1;min-inline-size:var(--_action-size);padding:0;position:relative;touch-action:manipulation;transition:var(--_action-transition);unicode-bidi:plaintext;white-space:nowrap;-webkit-tap-highlight-color:transparent}[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:not([aria-label],[aria-labelledby]){color:var(--slotted-text-field-action-label-color, var(--slotted-text, CanvasText));font-weight:var(--slotted-font-weight-medium, 500);padding-inline:var(--slotted-space-3, .375rem)}[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:not([aria-label],[aria-labelledby]){align-content:center;align-items:baseline;display:inline-grid;grid-auto-flow:column;justify-content:center}[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:not([aria-label],[aria-labelledby])>[data-ui=icon]{margin-block-start:calc((1cap + 1ex) / 4 - var(--_icon-size) / 2);translate:0 calc(var(--_icon-size) / 2 - (1cap + 1ex) / 4)}[data-ui=text-field]>:is([data-part=start],[data-part=end]):has(>[data-part=action]){gap:0}[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]):after,[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}@media(pointer:coarse){[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:after,[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]):after{inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2))}[data-ui=text-field]>:is([data-part=clear],[data-part=copy]):has(~:is([data-part=copy],[data-part=reveal]):not([hidden])):after,[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:has(+[data-part=action]):after{inset-inline-end:0}[data-ui=text-field]>:is([data-part=clear],[data-part=copy]):not([hidden])~:is([data-part=copy],[data-part=reveal]):after,[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]+[data-part=action]:after{inset-inline-start:0}}[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]):hover:not(:disabled,[data-complete]),[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:hover:not(:disabled,[aria-expanded=true]){background-color:var( --slotted-text-field-action-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]):active:not(:disabled),[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:active:not(:disabled){background-color:var( --slotted-text-field-action-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action][aria-expanded=true]{background-color:var( --slotted-text-field-action-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:disabled,[data-ui=text-field][data-part=root][data-disabled]>:is([data-part=start],[data-part=end])>[data-part=action]{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]):focus-visible,[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=text-field]>[data-part=copy][data-complete]{color:var( --slotted-text-field-copy-complete-color, var(--slotted-tone-success-text, CanvasText) )}[data-ui=text-field]>:is([data-part=copy],[data-part=reveal])>[data-ui=icon]{transition:opacity var(--slotted-duration-short) var(--slotted-easing-enter),scale var(--slotted-duration-short) var(--slotted-easing-enter)}@starting-style{[data-ui=text-field]>:is([data-part=copy],[data-part=reveal])>[data-ui=icon]{opacity:0;scale:.8}}[data-ui=text-field]>:is([data-part=busy],[data-part=caps-lock],[data-part=clear],[data-part=copy]){transition:var(--_action-transition),opacity var(--slotted-duration-short) var(--slotted-easing-enter),scale var(--slotted-duration-short) var(--slotted-easing-enter),display var(--slotted-duration-short) allow-discrete}[data-ui=text-field]>:is([data-part=busy],[data-part=caps-lock],[data-part=clear],[data-part=copy])[hidden]{display:none;opacity:0;scale:.8;transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit),scale var(--slotted-duration-short) var(--slotted-easing-exit),display var(--slotted-duration-short) allow-discrete}@starting-style{[data-ui=text-field]>:is([data-part=busy],[data-part=caps-lock],[data-part=clear],[data-part=copy]){opacity:0;scale:.8}}[data-ui=text-field]>[data-part=busy]{--slotted-spinner-size: var(--_icon-size);color:var(--slotted-text-field-adornment-color, var(--slotted-text-muted, GrayText));flex:0 0 auto}[data-ui=text-field]>[data-part=caps-lock]{--slotted-icon-size: var(--_icon-size);align-items:center;color:var(--slotted-text-field-caps-lock-color, var(--slotted-tone-warning-text, CanvasText));display:inline-flex;flex:0 0 auto}[data-ui=text-field][data-part=root]:hover:not([data-disabled]):not([data-readonly]):not([data-invalid]){border-color:var(--slotted-text-field-hover-border-color, var(--slotted-tone-accent-border))}[data-ui=text-field][data-part=root][data-variant=subtle]:hover:not([data-disabled]):not([data-readonly]):not([data-invalid]){background-color:var( --slotted-text-field-subtle-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=text-field][data-part=root][data-variant=plain]:hover:not([data-disabled]):not([data-readonly]):not([data-invalid]){background-color:var( --slotted-text-field-plain-hover-background, var(--slotted-tone-secondary-subtle-hover) );border-color:transparent}[data-ui=text-field][data-part=root]:has(>[data-part=input]:focus-visible){box-shadow:var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight);outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=text-field][data-part=root][data-variant=plain]:has(>[data-part=input]:focus-visible){box-shadow:none;outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=text-field][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-text-field-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) );--_invalid-edge-width: var( --slotted-text-field-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );--_invalid-edge-color: var( --slotted-text-field-invalid-border-color, var(--slotted-tone-danger-border) );--_invalid-edge: inset 0 0 0 var(--_invalid-edge-width) var(--_invalid-edge-color);border-color:var(--slotted-text-field-invalid-border-color, var(--slotted-tone-danger-border));box-shadow:var(--_invalid-edge)}[data-ui=text-field][data-part=root][data-invalid]:has(>[data-part=input]:focus-visible){box-shadow:var(--_invalid-edge),var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight)}[data-ui=text-field][data-part=root][data-variant=plain][data-invalid]:has(>[data-part=input]:focus-visible){box-shadow:inset 0 0 0 calc(var(--slotted-focus-ring-offset, 2px) - var(--slotted-control-border-width, 1px) + var(--_invalid-edge-width)) var(--_invalid-edge-color)}@media(forced-colors:active){[data-ui=text-field][data-part=root][data-invalid]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--slotted-control-border-width, 1px) + var(--_invalid-edge-width)))}[data-ui=text-field][data-part=root][data-invalid]:has(>[data-part=input]:focus-visible){outline:calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=text-field][data-part=root][data-variant=plain][data-invalid]:has(>[data-part=input]:focus-visible){outline:calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double var(--slotted-focus-ring-color, Highlight);outline-offset:calc(-1 * (var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)))}}[data-ui=text-field][data-part=root][data-readonly]{background-color:var( --slotted-text-field-readonly-background, var(--slotted-tone-secondary-subtle-hover) );cursor:default}[data-ui=text-field][data-part=root][data-disabled],[data-ui=text-field][data-part=root]:has(>[data-part=input]:disabled){background-color:var( --slotted-text-field-disabled-background, var(--slotted-disabled-background) );border-color:var(--slotted-text-field-disabled-border-color, var(--slotted-disabled-border));box-shadow:none;color:var(--slotted-text-field-disabled-color, var(--slotted-disabled-foreground));cursor:not-allowed}[data-ui=text-field][data-part=root][data-disabled]>[data-part=start],[data-ui=text-field][data-part=root][data-disabled]>[data-part=end]{color:var(--slotted-disabled-foreground)}}\n"], dependencies: [{ kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }, { kind: "component", type: SlMenu, selector: "sl-menu", inputs: ["value", "aria-label", "aria-describedby", "open", "align", "side", "size", "mount", "strategy", "sideOffset", "alignOffset", "collisionPadding", "submenuOpenDelay", "submenuCloseDelay", "typeaheadTimeout", "disabled", "loop", "typeahead", "openOnHover", "closeOnSelect", "closeOnEscape", "closeOnOutsidePress", "flip", "shift", "hideWhenDetached", "portal", "loading"], outputs: ["openChange", "openChangeRequest"], exportAs: ["slMenu"] }, { kind: "component", type: SlMenuItem, selector: "button[slMenuItem], a[slMenuItem], button[slMenuCheckboxItem], button[slMenuRadioItem]", inputs: ["disabled", "textValue", "tone", "shortcut", "closeOnSelect", "value", "checked"], outputs: ["checkedChange", "checkedChangeRequest", "select"], exportAs: ["slMenuItem"] }, { kind: "component", type: SlMenuRadioGroup, selector: "sl-menu-radio-group", inputs: ["value"], outputs: ["valueChange", "valueChangeRequest"], exportAs: ["slMenuRadioGroup"] }, { kind: "directive", type: SlMenuTrigger, selector: "[slMenuTriggerFor]", inputs: ["slMenuTriggerFor"], exportAs: ["slMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
522
|
+
`, isInline: true, styles: ["@layer slotted.components{[data-ui=color-picker][data-part=root]{--_thumb: var(--slotted-color-picker-thumb-size, var(--slotted-space-6, 1rem));--_channel: var(--slotted-color-picker-channel-size, var(--slotted-space-5, .75rem));--_gap: var(--slotted-space-5, .75rem);--_radius: var(--slotted-radius-md, 6px);--_inner-size: var(--slotted-control-inner-size-md, 24px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_color: var(--slotted-color-picker-color, transparent);--_opaque: var(--slotted-color-picker-opaque, transparent);--_hue: var(--slotted-color-picker-hue, 0);--_checker: repeating-conic-gradient( var(--slotted-surface-sunken, Canvas) 0 25%, var(--slotted-surface, Canvas) 0 50% ) 0 0 / var(--_channel) var(--_channel);box-sizing:border-box;color:var(--slotted-text, CanvasText);display:grid;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--slotted-control-font-size-md, 13px);gap:var(--_gap);inline-size:var(--slotted-color-picker-width, calc(var(--slotted-space-12, 4rem) * 4));max-inline-size:100%;min-inline-size:0}[data-ui=color-picker][data-part=root][data-size=sm]{--_gap: var(--slotted-space-4, .5rem);--_inner-size: var(--slotted-control-inner-size-sm, 22px);--_icon-size: var(--slotted-control-icon-size-sm, 14px);font-size:var(--slotted-control-font-size-sm, 12px)}[data-ui=color-picker][data-part=root][data-size=lg]{--_gap: var(--slotted-space-6, 1rem);--_inner-size: var(--slotted-control-inner-size-lg, 28px);--_icon-size: var(--slotted-control-icon-size-lg, 18px);font-size:var(--slotted-control-font-size-lg, 14px)}[data-ui=color-picker] [data-part=area]{aspect-ratio:3 / 2;background:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,transparent),hsl(calc(var(--_hue) * 1deg) 100% 50%);border-radius:var(--_radius);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);cursor:crosshair;position:relative;touch-action:none}[data-ui=color-picker] [data-part=area]:dir(rtl){background:linear-gradient(to top,#000,transparent),linear-gradient(to left,#fff,transparent),hsl(calc(var(--_hue) * 1deg) 100% 50%)}[data-ui=color-picker] :is([data-part=area-thumb],[data-part=channel-thumb]){background:var(--_opaque);block-size:var(--_thumb);border:var(--slotted-border-width-medium, 2px) solid #fff;border-radius:var(--slotted-radius-full, 9999px);box-shadow:0 0 0 var(--slotted-border-width-thin, 1px) #0000003d,var(--slotted-shadow-sm, none);box-sizing:border-box;cursor:grab;inline-size:var(--_thumb);position:absolute;transition:scale var(--slotted-duration-short) var(--slotted-easing-standard),box-shadow var(--slotted-duration-short) var(--slotted-easing-standard);translate:-50% -50%}[data-ui=color-picker] [data-part=area-thumb]{inset-block-start:calc((1 - var(--slotted-color-picker-y, 1)) * 100%);inset-inline-start:calc(var(--slotted-color-picker-x, 1) * 100%)}[data-ui=color-picker] [data-part=area-thumb]:dir(rtl){translate:50% -50%}[data-ui=color-picker] :is([data-part=area],[data-part=channel])[data-dragging]>:is([data-part=area-thumb],[data-part=channel-thumb]){cursor:grabbing;scale:1.15}[data-ui=color-picker] :is([data-part=area-thumb],[data-part=channel-thumb]):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=color-picker] [data-part=channel]{block-size:var(--_channel);border-radius:var(--slotted-radius-full, 9999px);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);cursor:pointer;position:relative;touch-action:none}[data-ui=color-picker] [data-part=channel][data-channel=hue]{background:linear-gradient(to right,red,#ffbf00 12.5%,#ffef00,#dfff00 18.75%,#7fff00,#20ff00 31.25%,#00ff10,#00ff40 37.5%,#0ff,#0040ff 62.5%,#0010ff,#2000ff 68.75%,#7f00ff,#df00ff 81.25%,#ff00ef,#ff00bf 87.5%,red)}[data-ui=color-picker] [data-part=channel][data-channel=alpha]{background:linear-gradient(to right,transparent,var(--_opaque)),var(--_checker)}[data-ui=color-picker] [data-part=channel][data-channel=hue]:dir(rtl){background:linear-gradient(to left,red,#ffbf00 12.5%,#ffef00,#dfff00 18.75%,#7fff00,#20ff00 31.25%,#00ff10,#00ff40 37.5%,#0ff,#0040ff 62.5%,#0010ff,#2000ff 68.75%,#7f00ff,#df00ff 81.25%,#ff00ef,#ff00bf 87.5%,red)}[data-ui=color-picker] [data-part=channel][data-channel=alpha]:dir(rtl){background:linear-gradient(to left,transparent,var(--_opaque)),var(--_checker)}[data-ui=color-picker] [data-part=channel-thumb]{inset-block-start:50%}[data-ui=color-picker] [data-part=channel-thumb][data-channel=hue]{background:hsl(calc(var(--_hue) * 1deg) 100% 50%);inset-inline-start:calc(var(--_thumb) / 2 + var(--_hue) / 360 * (100% - var(--_thumb)))}[data-ui=color-picker] [data-part=channel-thumb][data-channel=alpha]{background:linear-gradient(var(--_color),var(--_color)),var(--_checker);inset-inline-start:calc(var(--_thumb) / 2 + var(--slotted-color-picker-alpha, 1) * (100% - var(--_thumb)))}[data-ui=color-picker] [data-part=channel-thumb]:dir(rtl){translate:50% -50%}[data-ui=color-picker] [data-part=row]{align-items:center;display:flex;gap:var(--slotted-space-3, .375rem);min-inline-size:0}[data-ui=color-picker] [data-part=swatch],[data-ui=color-picker] [data-part=previous]{appearance:none;block-size:var(--slotted-control-height-md, 34px);border:0;box-sizing:border-box;flex:0 0 auto;inline-size:calc(var(--slotted-control-height-md, 34px) * 3 / 4);margin:0;padding:0}[data-ui=color-picker] [data-part=swatch]{background:linear-gradient(var(--_color),var(--_color)),var(--_checker);border-end-start-radius:var(--_radius);border-start-start-radius:var(--_radius);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent)}[data-ui=color-picker] [data-part=swatch]:only-child,[data-ui=color-picker] [data-part=swatch]:not(:has(+[data-part=previous])){border-radius:var(--_radius)}[data-ui=color-picker] [data-part=previous]{background:linear-gradient(var(--slotted-color-picker-previous, transparent),var(--slotted-color-picker-previous, transparent)),var(--_checker);border-end-end-radius:var(--_radius);border-start-end-radius:var(--_radius);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);cursor:pointer;margin-inline-start:calc(var(--slotted-space-3, .375rem) * -1);position:relative;transition:opacity var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=color-picker] [data-part=previous]>[data-ui=icon]{--slotted-icon-size: var(--_icon-size);color:#fff;filter:drop-shadow(0 0 1px rgb(0 0 0 / .6));inset:0;margin:auto;opacity:0;position:absolute;transition:opacity var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=color-picker] [data-part=previous]:is(:hover,:focus-visible):not(:disabled)>[data-ui=icon]{opacity:1}[data-ui=color-picker] [data-part=previous]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=color-picker] [data-part=row]>[data-ui=text-field]{flex:1 1 0;inline-size:auto}[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]){--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var(--_inner-size);border:0;border-radius:var(--slotted-control-radius, 4px);color:var(--slotted-text-muted, GrayText);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-variant-numeric:tabular-nums;gap:var(--slotted-space-2, .25rem);justify-content:center;min-inline-size:var(--_inner-size);padding:0;position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=color-picker] [data-part=format]{color:var(--slotted-text, CanvasText);font-weight:var(--slotted-font-weight-medium, 500);padding-inline:var(--slotted-space-3, .375rem);text-transform:uppercase}[data-ui=color-picker] [data-part=format]{align-content:center;align-items:baseline;display:inline-grid;grid-auto-flow:column;justify-content:center}[data-ui=color-picker] [data-part=format]>[data-ui=icon]{margin-block-start:calc((1cap + 1ex) / 4 - var(--_icon-size) / 2);translate:0 calc(var(--_icon-size) / 2 - (1cap + 1ex) / 4)}[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]):after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}@media(pointer:coarse){[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]):after{inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2))}}[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]):hover:not(:disabled,[aria-expanded=true]){background-color:var(--slotted-tone-secondary-subtle-hover)}[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]):is(:active,[aria-expanded=true]):not(:disabled){background-color:var(--slotted-tone-secondary-subtle-active)}[data-ui=color-picker] :is([data-part=format],[data-part=eyedropper]):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=color-picker] [data-part=presets]{display:grid;gap:var(--slotted-space-3, .375rem);grid-template-columns:repeat(auto-fill,minmax(calc(var(--_inner-size) - var(--slotted-space-2, 4px)),1fr))}[data-ui=color-picker] [data-part=preset]{appearance:none;aspect-ratio:1;background:linear-gradient(var(--slotted-color-picker-preset, transparent),var(--slotted-color-picker-preset, transparent)),var(--_checker);border:0;border-radius:var(--slotted-radius-sm, 4px);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);cursor:pointer;margin:0;min-inline-size:0;padding:0;position:relative;transition:scale var(--slotted-duration-short) var(--slotted-easing-standard),box-shadow var(--slotted-duration-short) var(--slotted-easing-standard)}[data-ui=color-picker] [data-part=preset]:hover:not(:disabled){scale:1.08}[data-ui=color-picker] [data-part=preset]:active:not(:disabled){scale:.94}[data-ui=color-picker] [data-part=preset][data-selected]{box-shadow:0 0 0 var(--slotted-border-width-medium, 2px) var(--slotted-surface-raised, Canvas),0 0 0 calc(var(--slotted-border-width-medium, 2px) * 2) var(--slotted-text, CanvasText)}[data-ui=color-picker] [data-part=preset]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=color-picker] [data-part=contrast]{align-items:center;display:flex;font-variant-numeric:tabular-nums;gap:var(--slotted-space-4, .5rem)}[data-ui=color-picker] [data-part=contrast-sample]{background:var(--slotted-color-picker-contrast-with, var(--slotted-surface, Canvas));block-size:var(--_inner-size);border-radius:var(--slotted-radius-sm, 4px);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);color:var(--_color);display:inline-grid;font-weight:var(--slotted-font-weight-semibold, 600);inline-size:calc(var(--_inner-size) * 3 / 2);place-items:center}[data-ui=color-picker] [data-part=contrast-ratio]{color:var(--slotted-text, CanvasText);font-weight:var(--slotted-font-weight-medium, 500)}[data-ui=color-picker] [data-part=contrast-level]{border-radius:var(--slotted-radius-sm, 4px);font-size:var(--slotted-font-size-xs, 12px);font-weight:var(--slotted-font-weight-semibold, 600);margin-inline-start:auto;padding:var(--slotted-space-1, 2px) var(--slotted-space-3, .375rem)}[data-ui=color-picker] [data-part=contrast][data-level^=AA] [data-part=contrast-level]{background:var(--slotted-tone-success-surface, Canvas);color:var(--slotted-tone-success-text, CanvasText)}[data-ui=color-picker] [data-part=contrast][data-level=AA-large] [data-part=contrast-level]{background:var(--slotted-tone-warning-surface, Canvas);color:var(--slotted-tone-warning-text, CanvasText)}[data-ui=color-picker] [data-part=contrast][data-level=fail] [data-part=contrast-level]{background:var(--slotted-tone-danger-surface, Canvas);color:var(--slotted-tone-danger-text, CanvasText)}[data-ui=color-picker] [data-part=gamut]{--slotted-icon-size: var(--_icon-size);align-items:center;color:var(--slotted-tone-warning-text, CanvasText);display:flex;font-size:var(--slotted-font-size-xs, 12px);gap:var(--slotted-space-2, .25rem)}[data-ui=text-field] [data-ui=color-picker][data-part=trigger]{appearance:none;background:linear-gradient(var(--_color, transparent),var(--_color, transparent)),repeating-conic-gradient(var(--slotted-surface-sunken, Canvas) 0 25%,var(--slotted-surface, Canvas) 0 50%) 0 0 / 8px 8px;block-size:calc(var(--slotted-control-inner-size, 24px) - var(--slotted-space-2, 4px));border:0;border-radius:var(--slotted-radius-sm, 4px);box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent);cursor:pointer;flex:0 0 auto;inline-size:calc(var(--slotted-control-inner-size, 24px) - var(--slotted-space-2, 4px));padding:0;position:relative;transition:box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);--_color: var(--slotted-color-picker-color, transparent)}[data-ui=text-field] [data-ui=color-picker][data-part=trigger]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}[data-ui=text-field] [data-ui=color-picker][data-part=trigger]:hover:not(:disabled){box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent),0 0 0 var(--slotted-border-width-medium, 2px) var(--slotted-tone-secondary-subtle-hover)}[data-ui=text-field] [data-ui=color-picker][data-part=trigger]:is(:active,[aria-expanded=true]):not(:disabled){box-shadow:inset 0 0 0 var(--slotted-border-width-thin, 1px) var(--slotted-border-subtle, transparent),0 0 0 var(--slotted-border-width-medium, 2px) var(--slotted-tone-secondary-subtle-active)}[data-ui=text-field] [data-ui=color-picker][data-part=trigger]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=color-picker][data-part=root][data-disabled]{color:var(--slotted-disabled-foreground)}[data-ui=color-picker][data-part=root][data-disabled] :is([data-part=area],[data-part=channel],[data-part=presets]){filter:grayscale(1);pointer-events:none}[data-ui=color-picker][data-part=root][data-disabled] :is([data-part=area-thumb],[data-part=channel-thumb]){cursor:not-allowed}[data-ui=color-picker][data-part=root][data-readonly] :is([data-part=area],[data-part=channel],[data-part=preset],[data-part=area-thumb],[data-part=channel-thumb]){cursor:default}@media(forced-colors:active){[data-ui=color-picker] :is([data-part=area-thumb],[data-part=channel-thumb]){border-color:CanvasText;forced-color-adjust:none}[data-ui=color-picker] :is([data-part=area],[data-part=channel],[data-part=swatch],[data-part=previous],[data-part=preset]){forced-color-adjust:none}}}\n", "@layer slotted.components{[data-ui=text-field][data-part=root]{--_font-size: var(--slotted-control-font-size-md, 13px);--_height: var(--slotted-control-height-md, 34px);--_padding-inline: var(--slotted-control-padding-inline-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-floor: var(--slotted-text-field-icon-size-min, 14px);--_icon-size: max(var(--_icon-floor), var(--slotted-control-icon-size-md, 16px));--_inner-size: var(--slotted-control-inner-size-md, 24px);--_action-size: var( --slotted-text-field-action-size, min(calc(var(--_icon-size) + 2 * var(--slotted-space-2, .25rem)), var(--_inner-size)) );--_inset: max( 0px, calc( (var(--_height) - 2 * var(--slotted-control-border-width, 1px) - var(--_action-size)) / 2 ) );--_action-radius: max( var(--slotted-radius-xs, 2px), calc(var(--slotted-text-field-radius, var(--slotted-control-radius, 4px)) - var(--_inset)) );--_action-transition: background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing), color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);align-items:center;background-color:var(--slotted-text-field-background, var(--slotted-control-surface, Field));border:var(--slotted-control-border-width, 1px) solid var(--slotted-text-field-border-color, var(--slotted-control-border-color, ButtonBorder));border-radius:var(--slotted-text-field-radius, var(--slotted-control-radius, 4px));box-shadow:var(--slotted-text-field-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;color:var(--slotted-text-field-color, var(--slotted-text, CanvasText));display:flex;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--_gap);inline-size:100%;min-inline-size:0;min-block-size:var(--_height);padding-inline:var(--_padding-inline);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=text-field][data-part=root]:has(>:is([data-part=clear],[data-part=copy],[data-part=reveal]):not([hidden]):last-child,>[data-part=end]:last-child>[data-part=action]:last-child){padding-inline-end:var(--_inset)}[data-ui=text-field][data-part=root]:has(>[data-part=start]:first-child>[data-part=action]:first-child){padding-inline-start:var(--_inset)}[data-ui=text-field]>[data-part=input]{background-color:transparent;align-self:stretch;margin-block:calc(var(--slotted-control-border-width, 1px) * -1);border:0;color:inherit;flex:1 1 auto;font:inherit;outline:none;padding:0;min-inline-size:0;text-align:inherit;text-overflow:ellipsis}[data-ui=text-field]>[data-part=input]::placeholder{color:var(--slotted-text-field-placeholder-color, var(--slotted-text-muted, GrayText));text-overflow:ellipsis}[data-ui=text-field]>[data-part=input]::-webkit-search-cancel-button,[data-ui=text-field]>[data-part=input]::-webkit-search-decoration{appearance:none}[data-ui=text-field]>[data-part=input]:autofill{box-shadow:inset 0 0 0 100px var(--slotted-text-field-autofill-background, var(--slotted-tone-accent-surface));-webkit-text-fill-color:var(--slotted-text-field-color, var(--slotted-text, CanvasText))}[data-ui=text-field][data-part=root][data-size=sm]{--_font-size: var(--slotted-control-font-size-sm, 12px);--_height: var(--slotted-control-height-sm, 30px);--_padding-inline: var(--slotted-control-padding-inline-sm, 10px);--_gap: var(--slotted-control-gap-sm, 6px);--_icon-size: max(var(--_icon-floor), var(--slotted-control-icon-size-sm, 14px));--_inner-size: var(--slotted-control-inner-size-sm, 22px)}[data-ui=text-field][data-part=root][data-size=md]{--_font-size: var(--slotted-control-font-size-md, 13px);--_height: var(--slotted-control-height-md, 34px);--_padding-inline: var(--slotted-control-padding-inline-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: max(var(--_icon-floor), var(--slotted-control-icon-size-md, 16px));--_inner-size: var(--slotted-control-inner-size-md, 24px)}[data-ui=text-field][data-part=root][data-size=lg]{--_font-size: var(--slotted-control-font-size-lg, 14px);--_height: var(--slotted-control-height-lg, 38px);--_padding-inline: var(--slotted-control-padding-inline-lg, 16px);--_gap: var(--slotted-control-gap-lg, 8px);--_icon-size: max(var(--_icon-floor), var(--slotted-control-icon-size-lg, 18px));--_inner-size: var(--slotted-control-inner-size-lg, 28px)}[data-ui=button-group]>[data-ui=text-field][data-part=root]{flex:1 1 0;inline-size:auto}[data-ui=text-field][data-part=root][data-variant=subtle]{background-color:var( --slotted-text-field-subtle-background, var(--slotted-surface-sunken, Canvas) );border-color:var( --slotted-text-field-subtle-border-color, var(--slotted-border-subtle, ButtonBorder) )}[data-ui=text-field][data-part=root][data-variant=plain]{background-color:transparent;border-color:transparent;border-radius:var(--slotted-radius-none, 0px);box-shadow:none}@media(forced-colors:active){[data-ui=text-field][data-part=root][data-variant=plain]{border-color:ButtonBorder}}[data-ui=text-field][data-part=root][data-mono]{font-family:var(--slotted-font-family-mono, monospace);font-variant-numeric:tabular-nums}[data-ui=text-field]>[data-part=start],[data-ui=text-field]>[data-part=end]{align-items:center;color:var(--slotted-text-field-adornment-color, var(--slotted-text-muted, GrayText));display:inline-flex;flex:0 0 auto;gap:var(--slotted-space-2, .25rem);line-height:1;unicode-bidi:plaintext}[data-ui=text-field]>[data-part=start],[data-ui=text-field]>[data-part=end]{--slotted-icon-size: var(--_icon-size);--slotted-control-inner-size: var(--_inner-size)}[data-ui=text-field]>[data-part=start]>svg,[data-ui=text-field]>[data-part=end]>svg{block-size:var(--_icon-size);inline-size:var(--_icon-size)}[data-ui=text-field]>[data-part=start]:not(:has(svg,img,[data-ui=icon],[data-part=action])),[data-ui=text-field]>[data-part=end]:not(:has(svg,img,[data-ui=icon],[data-part=action])){padding-inline:calc(var(--_icon-size) / 8)}[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]),[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var(--_action-size);border:0;border-radius:var(--_action-radius);box-sizing:border-box;color:var(--slotted-text-field-action-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;gap:var(--slotted-space-2, .25rem);justify-content:center;line-height:1;min-inline-size:var(--_action-size);padding:0;position:relative;touch-action:manipulation;transition:var(--_action-transition);unicode-bidi:plaintext;white-space:nowrap;-webkit-tap-highlight-color:transparent}[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:not([aria-label],[aria-labelledby]){color:var(--slotted-text-field-action-label-color, var(--slotted-text, CanvasText));font-weight:var(--slotted-font-weight-medium, 500);padding-inline:var(--slotted-space-3, .375rem)}[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:not([aria-label],[aria-labelledby]){align-content:center;align-items:baseline;display:inline-grid;grid-auto-flow:column;justify-content:center}[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:not([aria-label],[aria-labelledby])>[data-ui=icon]{margin-block-start:calc((1cap + 1ex) / 4 - var(--_icon-size) / 2);translate:0 calc(var(--_icon-size) / 2 - (1cap + 1ex) / 4)}[data-ui=text-field]>:is([data-part=start],[data-part=end]):has(>[data-part=action]){gap:0}[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]):after,[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}@media(pointer:coarse){[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:after,[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]):after{inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2))}[data-ui=text-field]>:is([data-part=clear],[data-part=copy]):has(~:is([data-part=copy],[data-part=reveal]):not([hidden])):after,[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:has(+[data-part=action]):after{inset-inline-end:0}[data-ui=text-field]>:is([data-part=clear],[data-part=copy]):not([hidden])~:is([data-part=copy],[data-part=reveal]):after,[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]+[data-part=action]:after{inset-inline-start:0}}[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]):hover:not(:disabled,[data-complete]),[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:hover:not(:disabled,[aria-expanded=true]){background-color:var( --slotted-text-field-action-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]):active:not(:disabled),[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:active:not(:disabled){background-color:var( --slotted-text-field-action-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action][aria-expanded=true]{background-color:var( --slotted-text-field-action-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:disabled,[data-ui=text-field][data-part=root][data-disabled]>:is([data-part=start],[data-part=end])>[data-part=action]{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=text-field]>:is([data-part=clear],[data-part=copy],[data-part=reveal]):focus-visible,[data-ui=text-field]>:is([data-part=start],[data-part=end])>[data-part=action]:focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=text-field]>[data-part=copy][data-complete]{color:var( --slotted-text-field-copy-complete-color, var(--slotted-tone-success-text, CanvasText) )}[data-ui=text-field]>:is([data-part=copy],[data-part=reveal])>[data-ui=icon]{transition:opacity var(--slotted-duration-short) var(--slotted-easing-enter),scale var(--slotted-duration-short) var(--slotted-easing-enter)}@starting-style{[data-ui=text-field]>:is([data-part=copy],[data-part=reveal])>[data-ui=icon]{opacity:0;scale:.8}}[data-ui=text-field]>:is([data-part=busy],[data-part=caps-lock],[data-part=clear],[data-part=copy]){transition:var(--_action-transition),opacity var(--slotted-duration-short) var(--slotted-easing-enter),scale var(--slotted-duration-short) var(--slotted-easing-enter),display var(--slotted-duration-short) allow-discrete}[data-ui=text-field]>:is([data-part=busy],[data-part=caps-lock],[data-part=clear],[data-part=copy])[hidden]{display:none;opacity:0;scale:.8;transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit),scale var(--slotted-duration-short) var(--slotted-easing-exit),display var(--slotted-duration-short) allow-discrete}@starting-style{[data-ui=text-field]>:is([data-part=busy],[data-part=caps-lock],[data-part=clear],[data-part=copy]){opacity:0;scale:.8}}[data-ui=text-field]>[data-part=busy]{--slotted-spinner-size: var(--_icon-size);color:var(--slotted-text-field-adornment-color, var(--slotted-text-muted, GrayText));flex:0 0 auto}[data-ui=text-field]>[data-part=caps-lock]{--slotted-icon-size: var(--_icon-size);align-items:center;color:var(--slotted-text-field-caps-lock-color, var(--slotted-tone-warning-text, CanvasText));display:inline-flex;flex:0 0 auto}[data-ui=text-field][data-part=root]:hover:not([data-disabled]):not([data-readonly]):not([data-invalid]){border-color:var(--slotted-text-field-hover-border-color, var(--slotted-tone-accent-border))}[data-ui=text-field][data-part=root][data-variant=subtle]:hover:not([data-disabled]):not([data-readonly]):not([data-invalid]){background-color:var( --slotted-text-field-subtle-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=text-field][data-part=root][data-variant=plain]:hover:not([data-disabled]):not([data-readonly]):not([data-invalid]){background-color:var( --slotted-text-field-plain-hover-background, var(--slotted-tone-secondary-subtle-hover) );border-color:transparent}[data-ui=text-field][data-part=root]:has(>[data-part=input]:focus-visible){box-shadow:var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight);outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=text-field][data-part=root][data-variant=plain]:has(>[data-part=input]:focus-visible){box-shadow:none;outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=text-field][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-text-field-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) );--_invalid-edge-width: var( --slotted-text-field-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );--_invalid-edge-color: var( --slotted-text-field-invalid-border-color, var(--slotted-tone-danger-border) );--_invalid-edge: inset 0 0 0 var(--_invalid-edge-width) var(--_invalid-edge-color);border-color:var(--slotted-text-field-invalid-border-color, var(--slotted-tone-danger-border));box-shadow:var(--_invalid-edge)}[data-ui=text-field][data-part=root][data-invalid]:has(>[data-part=input]:focus-visible){box-shadow:var(--_invalid-edge),var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight)}[data-ui=text-field][data-part=root][data-variant=plain][data-invalid]:has(>[data-part=input]:focus-visible){box-shadow:inset 0 0 0 calc(var(--slotted-focus-ring-offset, 2px) - var(--slotted-control-border-width, 1px) + var(--_invalid-edge-width)) var(--_invalid-edge-color)}@media(forced-colors:active){[data-ui=text-field][data-part=root][data-invalid]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--slotted-control-border-width, 1px) + var(--_invalid-edge-width)))}[data-ui=text-field][data-part=root][data-invalid]:has(>[data-part=input]:focus-visible){outline:calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=text-field][data-part=root][data-variant=plain][data-invalid]:has(>[data-part=input]:focus-visible){outline:calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double var(--slotted-focus-ring-color, Highlight);outline-offset:calc(-1 * (var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)))}}[data-ui=text-field][data-part=root][data-readonly]{background-color:var( --slotted-text-field-readonly-background, var(--slotted-tone-secondary-subtle-hover) );cursor:default}[data-ui=text-field][data-part=root][data-disabled],[data-ui=text-field][data-part=root]:has(>[data-part=input]:disabled){background-color:var( --slotted-text-field-disabled-background, var(--slotted-disabled-background) );border-color:var(--slotted-text-field-disabled-border-color, var(--slotted-disabled-border));box-shadow:none;color:var(--slotted-text-field-disabled-color, var(--slotted-disabled-foreground));cursor:not-allowed}[data-ui=text-field][data-part=root][data-disabled]>[data-part=start],[data-ui=text-field][data-part=root][data-disabled]>[data-part=end]{color:var(--slotted-disabled-foreground)}}\n"], dependencies: [{ kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }, { kind: "component", type: SlMenu, selector: "sl-menu", inputs: ["value", "aria-label", "aria-describedby", "open", "align", "side", "size", "width", "mount", "strategy", "sideOffset", "alignOffset", "collisionPadding", "submenuOpenDelay", "submenuCloseDelay", "typeaheadTimeout", "disabled", "loop", "typeahead", "openOnHover", "closeOnSelect", "closeOnEscape", "closeOnOutsidePress", "flip", "shift", "hideWhenDetached", "portal", "loading"], outputs: ["openChange", "openChangeRequest"], exportAs: ["slMenu"] }, { kind: "component", type: SlMenuItem, selector: "button[slMenuItem], a[slMenuItem], button[slMenuCheckboxItem], button[slMenuRadioItem]", inputs: ["disabled", "textValue", "tone", "shortcut", "closeOnSelect", "value", "checked"], outputs: ["checkedChange", "checkedChangeRequest", "select"], exportAs: ["slMenuItem"] }, { kind: "component", type: SlMenuRadioGroup, selector: "sl-menu-radio-group", inputs: ["value"], outputs: ["valueChange", "valueChangeRequest"], exportAs: ["slMenuRadioGroup"] }, { kind: "directive", type: SlMenuTrigger, selector: "[slMenuTriggerFor]", inputs: ["slMenuTriggerFor"], exportAs: ["slMenuTrigger"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
523
523
|
}
|
|
524
524
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlColorPicker, decorators: [{
|
|
525
525
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slotted-angular-color-picker.mjs","sources":["../../color-picker/src/color-picker-defaults.ts","../../color-picker/src/color-picker.ts","../../color-picker/src/color-field.ts","../../color-picker/src/slotted-angular-color-picker.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nimport type { ColorFormat } from '@slotted/core/color';\n\nexport type { ColorFormat };\nexport type ColorPickerSize = 'sm' | 'md' | 'lg';\n\nexport interface ColorPickerDefaults {\n format: ColorFormat;\n presets: readonly string[] | undefined;\n size: ColorPickerSize;\n}\n\nconst FALLBACK: ColorPickerDefaults = {\n format: 'hex',\n presets: undefined,\n size: 'md',\n};\n\nexport const COLOR_PICKER_DEFAULTS = new InjectionToken<ColorPickerDefaults>(\n 'slotted color picker defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once its notation, its palette and its size. The\n * words come from the language in force (`provideSlotted`).\n */\nexport function provideColorPickerDefaults(defaults: Partial<ColorPickerDefaults>) {\n return {\n provide: COLOR_PICKER_DEFAULTS,\n useFactory: (): ColorPickerDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\nexport function injectColorPickerDefaults(): ColorPickerDefaults {\n return inject(COLOR_PICKER_DEFAULTS);\n}\n","import {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n forwardRef,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { SlField } from '@slotted/angular/field';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlMenu, SlMenuItem, SlMenuRadioGroup, SlMenuTrigger } from '@slotted/angular/menu';\nimport {\n clampToGamut,\n COLOR_FORMATS,\n contrastLevel,\n contrastRatio,\n formatColor,\n hsvaToRgba,\n parseColor,\n rgbaToHsva,\n toCss,\n} from '@slotted/core/color';\nimport type { ColorFormat, ContrastLevel, Hsva } from '@slotted/core/color';\nimport {\n colorPickerMessages,\n type ColorPickerMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\n\nimport { injectColorPickerDefaults } from './color-picker-defaults';\nimport type { ColorPickerSize } from './color-picker-defaults';\n\n/** The catalog key of each WCAG outcome. */\nconst CONTRAST_LEVEL_KEYS = {\n AAA: 'contrastLevels.AAA',\n AA: 'contrastLevels.AA',\n 'AA-large': 'contrastLevels.AALarge',\n fail: 'contrastLevels.fail',\n} as const satisfies Record<ContrastLevel, string>;\n\nconst clamp = (value: number, min: number, max: number) => Math.min(max, Math.max(min, value));\n\nfunction sameColor(a: string, b: string): boolean {\n const pa = parseColor(a);\n const pb = parseColor(b);\n return pa !== null && pb !== null && formatColor(pa.rgba, 'hex') === formatColor(pb.rgba, 'hex');\n}\n\nfunction isRtl(element: Element): boolean {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nfunction sliderStep(\n event: KeyboardEvent,\n rtl: boolean,\n small: number,\n large: number,\n): number | null {\n const step = event.shiftKey ? large : small;\n switch (event.key) {\n case 'ArrowRight':\n return rtl ? -step : step;\n case 'ArrowLeft':\n return rtl ? step : -step;\n case 'ArrowUp':\n return step;\n case 'ArrowDown':\n return -step;\n case 'PageUp':\n return large;\n case 'PageDown':\n return -large;\n default:\n return null;\n }\n}\n\nconst optionalBoolean = (value: boolean | string | undefined) =>\n value === undefined ? undefined : booleanAttribute(value);\n\n/**\n * Choosing a colour: an area, a hue channel, an alpha channel, the preview of\n * now beside before, the value as text with its notation and the eyedropper,\n * the presets, and the contrast against `contrastWith`.\n *\n * The value is a string in the notation shown, and it comes back in that\n * notation; every colour the stylesheet paints is written on the host as a\n * runtime property from what `@slotted/core/color` parsed. It belongs in a\n * form as it stands. React lets a consumer choose the parts by passing them as\n * children; an attribute directive cannot see what was projected before it\n * renders, so here the parts are chosen by inputs — `alpha`, `presets`,\n * `contrastWith` — and the eyedropper by the platform.\n */\n@Component({\n selector: 'div[slColorPicker]',\n standalone: true,\n exportAs: 'slColorPicker',\n imports: [SlGlyph, SlIcon, SlMenu, SlMenuItem, SlMenuRadioGroup, SlMenuTrigger],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlColorPicker), multi: true },\n ],\n template: `\n <div\n data-part=\"area\"\n [attr.data-dragging]=\"dragging() === 'area' ? '' : null\"\n (pointerdown)=\"down($event, 'area')\"\n (pointermove)=\"move($event, 'area')\"\n (pointerup)=\"dragging.set(null)\"\n (pointercancel)=\"dragging.set(null)\"\n >\n <div\n data-part=\"area-thumb\"\n role=\"slider\"\n [attr.aria-roledescription]=\"t('areaRoleDescription')\"\n [attr.aria-label]=\"t('area')\"\n [attr.aria-valuetext]=\"percent(hsva().s) + ', ' + percent(hsva().v)\"\n [attr.aria-disabled]=\"off() || null\"\n [attr.tabindex]=\"resolvedDisabled() ? -1 : 0\"\n (keydown)=\"areaKey($event)\"\n ></div>\n </div>\n @for (channel of channels(); track channel) {\n <div\n data-part=\"channel\"\n [attr.data-channel]=\"channel\"\n [attr.data-dragging]=\"dragging() === channel ? '' : null\"\n (pointerdown)=\"down($event, channel)\"\n (pointermove)=\"move($event, channel)\"\n (pointerup)=\"dragging.set(null)\"\n (pointercancel)=\"dragging.set(null)\"\n >\n <div\n data-part=\"channel-thumb\"\n role=\"slider\"\n [attr.data-channel]=\"channel\"\n [attr.aria-label]=\"channel === 'hue' ? t('hue') : t('alpha')\"\n aria-valuemin=\"0\"\n [attr.aria-valuemax]=\"channel === 'hue' ? 360 : 100\"\n [attr.aria-valuenow]=\"channel === 'hue' ? round(hsva().h) : round(hsva().a * 100)\"\n [attr.aria-valuetext]=\"channel === 'hue' ? round(hsva().h) + '°' : percent(hsva().a)\"\n [attr.aria-disabled]=\"off() || null\"\n [attr.tabindex]=\"resolvedDisabled() ? -1 : 0\"\n (keydown)=\"channelKey($event, channel)\"\n ></div>\n </div>\n }\n <div data-part=\"row\">\n <span data-part=\"swatch\" role=\"img\" [attr.aria-label]=\"current()\"></span>\n <button\n data-part=\"previous\"\n type=\"button\"\n [attr.aria-label]=\"t('previous', { color: previous() ?? current() })\"\n [disabled]=\"off()\"\n (click)=\"request(previous() ?? current(), 'select', $event)\"\n >\n <span slIcon><svg slGlyph name=\"rotate-ccw\"></svg></span>\n </button>\n <div\n data-ui=\"text-field\"\n data-part=\"root\"\n data-size=\"sm\"\n data-variant=\"outline\"\n data-mono=\"\"\n [attr.data-invalid]=\"inputInvalid() ? '' : null\"\n [attr.data-disabled]=\"resolvedDisabled() ? '' : null\"\n [attr.data-readonly]=\"resolvedReadOnly() ? '' : null\"\n >\n <input\n data-part=\"input\"\n dir=\"ltr\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [attr.aria-label]=\"t('input')\"\n [attr.aria-invalid]=\"inputInvalid() ? 'true' : null\"\n [disabled]=\"resolvedDisabled()\"\n [readOnly]=\"resolvedReadOnly()\"\n [value]=\"draft() ?? current()\"\n (input)=\"draft.set($any($event.target).value)\"\n (keydown.enter)=\"$event.preventDefault(); commit($event)\"\n (blur)=\"commit($event); onTouched()\"\n />\n </div>\n <button\n data-part=\"format\"\n type=\"button\"\n [attr.aria-label]=\"t('format', { format: resolvedFormat() })\"\n [disabled]=\"off()\"\n [slMenuTriggerFor]=\"formats\"\n >\n {{ resolvedFormat() }}<span slIcon><svg slGlyph name=\"chevron-down\"></svg></span>\n </button>\n <sl-menu #formats>\n <sl-menu-radio-group\n [value]=\"resolvedFormat()\"\n (valueChange)=\"requestFormat($any($event), null)\"\n >\n @for (format of formatNames; track format) {\n <button slMenuRadioItem [value]=\"format\">{{ format.toUpperCase() }}</button>\n }\n </sl-menu-radio-group>\n </sl-menu>\n @if (eyedropper()) {\n <button\n data-part=\"eyedropper\"\n type=\"button\"\n [attr.aria-label]=\"t('eyedropper')\"\n [disabled]=\"off()\"\n (click)=\"pick($event)\"\n >\n <span slIcon><svg slGlyph name=\"pipette\"></svg></span>\n </button>\n }\n </div>\n @if (outOfGamut()) {\n <p data-part=\"gamut\" role=\"status\">\n <span slIcon><svg slGlyph name=\"circle-alert\"></svg></span>{{ t('gamut') }}\n </p>\n }\n @if (resolvedPresets().length > 0) {\n <div data-part=\"presets\" role=\"radiogroup\" [attr.aria-label]=\"t('presets')\">\n @for (preset of resolvedPresets(); track preset; let index = $index) {\n <button\n data-part=\"preset\"\n type=\"button\"\n role=\"radio\"\n [attr.aria-label]=\"preset\"\n [attr.aria-checked]=\"index === selectedPreset()\"\n [attr.data-selected]=\"index === selectedPreset() ? '' : null\"\n [attr.tabindex]=\"index === (selectedPreset() === -1 ? 0 : selectedPreset()) ? 0 : -1\"\n [style.--slotted-color-picker-preset]=\"preset\"\n [disabled]=\"off()\"\n (click)=\"choose(preset, $event)\"\n (keydown)=\"presetKey($event, index)\"\n ></button>\n }\n </div>\n }\n @if (contrast(); as measured) {\n <div data-part=\"contrast\" aria-live=\"polite\" [attr.data-level]=\"measured.level\">\n <span data-part=\"contrast-sample\" aria-hidden=\"true\">{{ t('contrastSample') }}</span>\n <span data-part=\"contrast-ratio\">{{ measured.ratio }}:1</span>\n <span data-part=\"contrast-level\">{{ t(measured.key) }}</span>\n </div>\n }\n `,\n styleUrls: [\n '../../../styles/src/color-picker/color-picker.css',\n '../../../styles/src/text-field/text-field.css',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'color-picker',\n 'data-part': 'root',\n '[attr.data-size]': 'size() ?? field?.resolvedSize() ?? defaults.size',\n '[attr.data-format]': 'resolvedFormat()',\n '[attr.data-disabled]': \"resolvedDisabled() ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() ? '' : null\",\n '[attr.data-out-of-gamut]': \"outOfGamut() ? '' : null\",\n '[style.--slotted-color-picker-color]': 'css()',\n '[style.--slotted-color-picker-opaque]': 'opaque()',\n '[style.--slotted-color-picker-hue]': 'hsva().h',\n '[style.--slotted-color-picker-x]': 'hsva().s',\n '[style.--slotted-color-picker-y]': 'hsva().v',\n '[style.--slotted-color-picker-alpha]': 'hsva().a',\n '[style.--slotted-color-picker-previous]': 'previousCss()',\n '[style.--slotted-color-picker-contrast-with]': 'contrastCss()',\n },\n})\nexport class SlColorPicker implements ControlValueAccessor {\n /** Present means the consumer owns the value: a colour in any supported notation. */\n readonly value = input<string | undefined>(undefined);\n readonly defaultValue = input<string | undefined>(undefined);\n /** The notation the value is written in. */\n readonly format = input<ColorFormat | undefined>(undefined);\n readonly defaultFormat = input<ColorFormat | undefined>(undefined);\n readonly alpha = input(true, { transform: booleanAttribute });\n readonly presets = input<readonly string[] | undefined>(undefined);\n /** The background the contrast is measured against; absent, no contrast is drawn. */\n readonly contrastWith = input<string | undefined>(undefined);\n readonly size = input<ColorPickerSize | undefined>(undefined);\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n /**\n * Words laid over the catalog of the language in force, key by key: every\n * control's name, the gamut sentence and the contrast levels.\n */\n readonly messages = input<PartialMessages<ColorPickerMessages> | undefined>(undefined);\n\n /** Before the colour moves: `pointer`, `keyboard`, `select` or `programmatic` (the eyedropper). */\n readonly valueChange = output<ChangeRequest<string>>();\n readonly formatChange = output<ChangeRequest<ColorFormat>>();\n\n protected readonly defaults = injectColorPickerDefaults();\n /** The family's words in the language in force, with this picker's `messages` laid over them. */\n readonly t = injectMessages(colorPickerMessages, this.messages);\n protected readonly field = inject(SlField, { optional: true });\n private readonly element: HTMLElement = inject(ElementRef).nativeElement;\n protected readonly formatNames = COLOR_FORMATS;\n\n private readonly own = signal<string | undefined>(undefined);\n private readonly ownFormat = signal<ColorFormat | undefined>(undefined);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n private readonly memory = { h: 0, s: 0 };\n protected readonly dragging = signal<'area' | 'hue' | 'alpha' | null>(null);\n protected readonly draft = signal<string | null>(null);\n protected readonly eyedropper = signal(false);\n /** The colour the panel opened with, read once after the first render. */\n protected readonly previous = signal<string | null>(null);\n private onChangeFn: (value: string) => void = () => undefined;\n protected onTouched: () => void = () => undefined;\n\n readonly current = computed(() => this.value() ?? this.own() ?? this.defaultValue() ?? '#000000');\n private readonly parsed = computed(() => parseColor(this.current()));\n readonly resolvedFormat = computed(\n () =>\n this.format() ??\n this.ownFormat() ??\n this.defaultFormat() ??\n parseColor(this.value() ?? this.defaultValue() ?? '')?.format ??\n this.defaults.format,\n );\n protected readonly resolvedDisabled = computed(\n () => this.disabled() ?? this.formDisabled() ?? this.field?.resolvedDisabled() ?? false,\n );\n protected readonly resolvedReadOnly = computed(\n () => this.readOnly() ?? this.field?.resolvedReadOnly() ?? false,\n );\n protected readonly off = computed(() => this.resolvedDisabled() || this.resolvedReadOnly());\n protected readonly channels = computed<('hue' | 'alpha')[]>(() =>\n this.alpha() ? ['hue', 'alpha'] : ['hue'],\n );\n private readonly rgba = computed(() =>\n clampToGamut(this.parsed()?.rgba ?? { r: 0, g: 0, b: 0, a: 1 }),\n );\n protected readonly hsva = computed<Hsva>(() => {\n const next = rgbaToHsva(this.rgba());\n if (next.v === 0) next.s = this.memory.s;\n else this.memory.s = next.s;\n if (next.s === 0 || next.v === 0) next.h = this.memory.h;\n else this.memory.h = next.h;\n return next;\n });\n protected readonly css = computed(() => toCss(this.rgba()));\n protected readonly opaque = computed(() => toCss(this.rgba(), true));\n protected readonly outOfGamut = computed(() => this.parsed()?.inGamut === false);\n protected readonly draftValid = computed(() => {\n const draft = this.draft();\n return draft === null || parseColor(draft) !== null;\n });\n protected readonly resolvedInvalid = computed(\n () => this.invalid() === true || this.field?.invalid() === true,\n );\n /** The panel has no frame of its own, so a picker the form calls invalid says so on its text. */\n protected readonly inputInvalid = computed(() => !this.draftValid() || this.resolvedInvalid());\n protected readonly resolvedPresets = computed(\n () => this.presets() ?? this.defaults.presets ?? [],\n );\n protected readonly selectedPreset = computed(() =>\n this.resolvedPresets().findIndex((preset) => sameColor(preset, this.current())),\n );\n protected readonly previousCss = computed(() =>\n toCss(parseColor(this.previous() ?? this.current())?.rgba ?? this.rgba()),\n );\n private readonly background = computed(() => {\n const value = this.contrastWith();\n return value === undefined ? null : parseColor(value);\n });\n protected readonly contrastCss = computed(() => {\n const background = this.background();\n return background === null ? null : toCss(background.rgba);\n });\n protected readonly contrast = computed(() => {\n const background = this.background();\n const parsed = this.parsed();\n if (background === null || parsed === null) return null;\n const ratio = contrastRatio(parsed.rgba, background.rgba);\n const level = contrastLevel(ratio);\n return { level, ratio: ratio.toFixed(2), key: CONTRAST_LEVEL_KEYS[level] };\n });\n\n constructor() {\n afterNextRender(() => {\n this.previous.set(this.current());\n this.eyedropper.set('EyeDropper' in window);\n /* slMenuTriggerFor binds data-part to null outside a bar, and the\n binding is a constant: the part is written back once, the rule\n menu records for its own trigger. */\n this.element.querySelector('[aria-haspopup=\"menu\"]')?.setAttribute('data-part', 'format');\n });\n }\n\n protected round(value: number) {\n return Math.round(value);\n }\n\n protected percent(value: number) {\n return `${Math.round(value * 100)} %`;\n }\n\n writeValue(value: string | null | undefined) {\n if (value != null) this.own.set(value);\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n /** Asks to move to `next`, and moves an uncontrolled value once nobody refused. */\n request(next: string, reason: ChangeReason, source: Event | null) {\n const state = createControllable<string>({\n controlled: this.value(),\n initial: this.current(),\n onRequest: (change) => this.valueChange.emit(change),\n });\n if (state.request(next, reason, source ?? undefined)) {\n this.own.set(next);\n this.onChangeFn(next);\n }\n }\n\n private requestHsva(next: Hsva, reason: ChangeReason, source: Event) {\n this.memory.h = next.h;\n this.memory.s = next.s;\n const rgba = hsvaToRgba({ ...next, a: this.alpha() ? next.a : 1 });\n this.request(formatColor(rgba, this.resolvedFormat()), reason, source);\n }\n\n protected requestFormat(next: ColorFormat, source: Event | null) {\n const state = createControllable<ColorFormat>({\n controlled: this.format(),\n initial: this.resolvedFormat(),\n onRequest: (change) => this.formatChange.emit(change),\n });\n if (state.request(next, 'select', source ?? undefined) && this.format() === undefined) {\n this.ownFormat.set(next);\n }\n const parsed = this.parsed();\n if (parsed !== null) this.request(formatColor(parsed.rgba, next), 'select', source);\n }\n\n protected down(event: PointerEvent, target: 'area' | 'hue' | 'alpha') {\n if (event.button !== 0 || this.off()) return;\n const box = event.currentTarget as HTMLElement;\n box.setPointerCapture(event.pointerId);\n this.dragging.set(target);\n this.place(event, target, box);\n (box.querySelector('[role=\"slider\"]') as HTMLElement | null)?.focus({ preventScroll: true });\n }\n\n protected move(event: PointerEvent, target: 'area' | 'hue' | 'alpha') {\n if (this.dragging() === target) this.place(event, target, event.currentTarget as HTMLElement);\n }\n\n private place(event: PointerEvent, target: 'area' | 'hue' | 'alpha', box: HTMLElement) {\n const rect = box.getBoundingClientRect();\n let x = clamp((event.clientX - rect.left) / rect.width, 0, 1);\n const y = clamp((event.clientY - rect.top) / rect.height, 0, 1);\n if (isRtl(box)) x = 1 - x;\n const hsva = this.hsva();\n if (target === 'area') this.requestHsva({ ...hsva, s: x, v: 1 - y }, 'pointer', event);\n else if (target === 'hue') this.requestHsva({ ...hsva, h: x * 360 }, 'pointer', event);\n else this.requestHsva({ ...hsva, a: x }, 'pointer', event);\n }\n\n protected areaKey(event: KeyboardEvent) {\n if (this.off()) return;\n const step = sliderStep(event, isRtl(this.element), 0.01, 0.1);\n if (step === null) return;\n event.preventDefault();\n const hsva = this.hsva();\n const horizontal = event.key === 'ArrowLeft' || event.key === 'ArrowRight';\n this.requestHsva(\n horizontal\n ? { ...hsva, s: clamp(hsva.s + step, 0, 1) }\n : { ...hsva, v: clamp(hsva.v + step, 0, 1) },\n 'keyboard',\n event,\n );\n }\n\n protected channelKey(event: KeyboardEvent, channel: 'hue' | 'alpha') {\n if (this.off()) return;\n const hue = channel === 'hue';\n const max = hue ? 360 : 1;\n const hsva = this.hsva();\n const current = hue ? hsva.h : hsva.a;\n let next: number | null = null;\n if (event.key === 'Home') next = 0;\n else if (event.key === 'End') next = max;\n else {\n const step = sliderStep(event, isRtl(this.element), hue ? 1 : 0.01, hue ? 10 : 0.1);\n if (step !== null) next = current + step;\n }\n if (next === null) return;\n event.preventDefault();\n this.requestHsva({ ...hsva, [hue ? 'h' : 'a']: clamp(next, 0, max) }, 'keyboard', event);\n }\n\n protected commit(event: Event) {\n const draft = this.draft();\n if (draft === null) return;\n const parsed = parseColor(draft);\n if (parsed !== null && !sameColor(draft, this.current())) {\n this.request(formatColor(parsed.rgba, this.resolvedFormat()), 'keyboard', event);\n }\n this.draft.set(null);\n }\n\n protected choose(preset: string, event: Event) {\n const parsed = parseColor(preset);\n if (parsed !== null)\n this.request(formatColor(parsed.rgba, this.resolvedFormat()), 'select', event);\n }\n\n protected presetKey(event: KeyboardEvent, index: number) {\n const rtl = isRtl(this.element);\n const forward = event.key === (rtl ? 'ArrowLeft' : 'ArrowRight') || event.key === 'ArrowDown';\n const back = event.key === (rtl ? 'ArrowRight' : 'ArrowLeft') || event.key === 'ArrowUp';\n if (!forward && !back) return;\n event.preventDefault();\n const presets = this.resolvedPresets();\n const next = (index + (forward ? 1 : -1) + presets.length) % presets.length;\n const sibling = (event.currentTarget as HTMLElement).parentElement?.children[next] as\n HTMLElement | undefined;\n sibling?.focus();\n this.choose(presets[next]!, event);\n }\n\n protected async pick(event: Event) {\n const EyeDropper = (\n window as unknown as {\n EyeDropper: new () => { open: () => Promise<{ sRGBHex: string }> };\n }\n ).EyeDropper;\n try {\n const { sRGBHex } = await new EyeDropper().open();\n const parsed = parseColor(sRGBHex);\n if (parsed !== null) {\n this.request(formatColor(parsed.rgba, this.resolvedFormat()), 'programmatic', event);\n }\n } catch {\n /* The reader pressed Escape: nothing was picked. */\n }\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n model,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport {\n SlPopover,\n SlPopoverAnchor,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlTextField, SlTextFieldInput, SlTextFieldStart } from '@slotted/angular/text-field';\nimport { clampToGamut, formatColor, parseColor, toCss } from '@slotted/core/color';\nimport type { ColorFormat } from '@slotted/core/color';\nimport {\n colorPickerMessages,\n type ColorPickerMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\n\nimport { SlColorPicker } from './color-picker';\nimport { injectColorPickerDefaults } from './color-picker-defaults';\nimport type { ColorPickerSize } from './color-picker-defaults';\n\nfunction sameColor(a: string, b: string): boolean {\n const pa = parseColor(a);\n const pb = parseColor(b);\n return pa !== null && pb !== null && formatColor(pa.rgba, 'hex') === formatColor(pb.rgba, 'hex');\n}\n\n/**\n * A `text-field` holding a colour: the swatch in its start opens the panel in\n * a popover, and the value can be typed in any notation and is kept in the\n * one shown. The text is the field's control, so a `slField` label names it;\n * the host is the consumer's element and the form control.\n */\n@Component({\n selector: 'div[slColorField]',\n standalone: true,\n exportAs: 'slColorField',\n imports: [\n SlColorPicker,\n SlPopover,\n SlPopoverAnchor,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n SlTextField,\n SlTextFieldInput,\n SlTextFieldStart,\n ],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlColorField), multi: true },\n ],\n template: `\n <ng-container slPopover side=\"bottom\" align=\"start\" [(open)]=\"open\">\n <div slTextField slPopoverAnchor mono [size]=\"size()\">\n <span slTextFieldStart>\n <button\n slPopoverTrigger\n type=\"button\"\n data-ui=\"color-picker\"\n data-part=\"trigger\"\n [attr.aria-label]=\"t('trigger')\"\n [disabled]=\"resolvedDisabled()\"\n [style.--slotted-color-picker-color]=\"css()\"\n ></button>\n </span>\n <input\n slTextFieldInput\n dir=\"ltr\"\n spellcheck=\"false\"\n autocomplete=\"off\"\n [attr.aria-label]=\"label\"\n [disabled]=\"resolvedDisabled()\"\n [invalid]=\"draftValid() ? undefined : true\"\n [value]=\"draft() ?? current()\"\n (valueChange)=\"draft.set($event.value)\"\n (keydown.enter)=\"$event.preventDefault(); commit($event)\"\n (blur)=\"commit($event); onTouched()\"\n />\n </div>\n <ng-template slPopoverLayer>\n <div slPopoverContent [attr.aria-label]=\"t('trigger')\">\n <div slPopoverBody>\n <div\n slColorPicker\n [value]=\"current()\"\n [format]=\"resolvedFormat()\"\n [alpha]=\"alpha()\"\n [presets]=\"presets()\"\n [contrastWith]=\"contrastWith()\"\n [messages]=\"messages()\"\n (valueChange)=\"request($event.value, $event.reason, $event.source)\"\n (formatChange)=\"ownFormat.set($event.value); formatChange.emit($event)\"\n ></div>\n </div>\n </div>\n </ng-template>\n </ng-container>\n `,\n /* The swatch's stylesheet: carried by the panel alone, it arrived on the first open. */\n styleUrls: ['../../../styles/src/color-picker/color-picker.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[attr.aria-label]': 'null' },\n})\nexport class SlColorField implements ControlValueAccessor {\n readonly value = input<string | undefined>(undefined);\n readonly defaultValue = input<string | undefined>(undefined);\n readonly format = input<ColorFormat | undefined>(undefined);\n readonly alpha = input(true, { transform: booleanAttribute });\n readonly presets = input<readonly string[] | undefined>(undefined);\n readonly contrastWith = input<string | undefined>(undefined);\n readonly size = input<ColorPickerSize | undefined>(undefined);\n readonly disabled = input(false, { transform: booleanAttribute });\n /** Words laid over the catalog of the language in force, for the trigger and the panel. */\n readonly messages = input<PartialMessages<ColorPickerMessages> | undefined>(undefined);\n /** Whether the panel is open. */\n readonly open = model(false);\n\n readonly valueChange = output<ChangeRequest<string>>();\n readonly formatChange = output<ChangeRequest<ColorFormat>>();\n\n protected readonly defaults = injectColorPickerDefaults();\n /** The family's words in the language in force, with this field's `messages` laid over them. */\n readonly t = injectMessages(colorPickerMessages, this.messages);\n /** The consumer's name for the field, moved onto the text it names. */\n protected readonly label = inject(new HostAttributeToken('aria-label'), { optional: true });\n\n private readonly own = signal<string | undefined>(undefined);\n protected readonly ownFormat = signal<ColorFormat | undefined>(undefined);\n private readonly formDisabled = signal(false);\n protected readonly draft = signal<string | null>(null);\n private onChangeFn: (value: string) => void = () => undefined;\n protected onTouched: () => void = () => undefined;\n\n readonly current = computed(() => this.value() ?? this.own() ?? this.defaultValue() ?? '#000000');\n protected readonly resolvedFormat = computed(\n () =>\n this.format() ??\n this.ownFormat() ??\n parseColor(this.current())?.format ??\n this.defaults.format,\n );\n protected readonly resolvedDisabled = computed(() => this.disabled() || this.formDisabled());\n protected readonly css = computed(() =>\n toCss(clampToGamut(parseColor(this.current())?.rgba ?? { r: 0, g: 0, b: 0, a: 1 })),\n );\n protected readonly draftValid = computed(() => {\n const draft = this.draft();\n return draft === null || parseColor(draft) !== null;\n });\n\n writeValue(value: string | null | undefined) {\n if (value != null) this.own.set(value);\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n protected request(next: string, reason: ChangeReason, source: unknown) {\n const state = createControllable<string>({\n controlled: this.value(),\n initial: this.current(),\n onRequest: (change) => this.valueChange.emit(change),\n });\n if (state.request(next, reason, source)) {\n this.own.set(next);\n this.onChangeFn(next);\n }\n }\n\n protected commit(event: Event) {\n const draft = this.draft();\n if (draft === null) return;\n const parsed = parseColor(draft);\n if (parsed !== null && !sameColor(draft, this.current())) {\n this.request(formatColor(parsed.rgba, this.resolvedFormat()), 'keyboard', event);\n }\n this.draft.set(null);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["sameColor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slotted-angular-color-picker.mjs","sources":["../../color-picker/src/color-picker-defaults.ts","../../color-picker/src/color-picker.ts","../../color-picker/src/color-field.ts","../../color-picker/src/slotted-angular-color-picker.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nimport type { ColorFormat } from '@slotted/core/color';\n\nexport type { ColorFormat };\nexport type ColorPickerSize = 'sm' | 'md' | 'lg';\n\nexport interface ColorPickerDefaults {\n format: ColorFormat;\n presets: readonly string[] | undefined;\n size: ColorPickerSize;\n}\n\nconst FALLBACK: ColorPickerDefaults = {\n format: 'hex',\n presets: undefined,\n size: 'md',\n};\n\nexport const COLOR_PICKER_DEFAULTS = new InjectionToken<ColorPickerDefaults>(\n 'slotted color picker defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once its notation, its palette and its size. The\n * words come from the language in force (`provideSlotted`).\n */\nexport function provideColorPickerDefaults(defaults: Partial<ColorPickerDefaults>) {\n return {\n provide: COLOR_PICKER_DEFAULTS,\n useFactory: (): ColorPickerDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\nexport function injectColorPickerDefaults(): ColorPickerDefaults {\n return inject(COLOR_PICKER_DEFAULTS);\n}\n","import {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n forwardRef,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { SlField } from '@slotted/angular/field';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlMenu, SlMenuItem, SlMenuRadioGroup, SlMenuTrigger } from '@slotted/angular/menu';\nimport {\n clampToGamut,\n COLOR_FORMATS,\n contrastLevel,\n contrastRatio,\n formatColor,\n hsvaToRgba,\n parseColor,\n rgbaToHsva,\n toCss,\n} from '@slotted/core/color';\nimport type { ColorFormat, ContrastLevel, Hsva } from '@slotted/core/color';\nimport {\n colorPickerMessages,\n type ColorPickerMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\n\nimport { injectColorPickerDefaults } from './color-picker-defaults';\nimport type { ColorPickerSize } from './color-picker-defaults';\n\n/** The catalog key of each WCAG outcome. */\nconst CONTRAST_LEVEL_KEYS = {\n AAA: 'contrastLevels.AAA',\n AA: 'contrastLevels.AA',\n 'AA-large': 'contrastLevels.AALarge',\n fail: 'contrastLevels.fail',\n} as const satisfies Record<ContrastLevel, string>;\n\nconst clamp = (value: number, min: number, max: number) => Math.min(max, Math.max(min, value));\n\nfunction sameColor(a: string, b: string): boolean {\n const pa = parseColor(a);\n const pb = parseColor(b);\n return pa !== null && pb !== null && formatColor(pa.rgba, 'hex') === formatColor(pb.rgba, 'hex');\n}\n\nfunction isRtl(element: Element): boolean {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nfunction sliderStep(\n event: KeyboardEvent,\n rtl: boolean,\n small: number,\n large: number,\n): number | null {\n const step = event.shiftKey ? large : small;\n switch (event.key) {\n case 'ArrowRight':\n return rtl ? -step : step;\n case 'ArrowLeft':\n return rtl ? step : -step;\n case 'ArrowUp':\n return step;\n case 'ArrowDown':\n return -step;\n case 'PageUp':\n return large;\n case 'PageDown':\n return -large;\n default:\n return null;\n }\n}\n\nconst optionalBoolean = (value: boolean | string | undefined) =>\n value === undefined ? undefined : booleanAttribute(value);\n\n/**\n * Choosing a colour: an area, a hue channel, an alpha channel, the preview of\n * now beside before, the value as text with its notation and the eyedropper,\n * the presets, and the contrast against `contrastWith`.\n *\n * The value is a string in the notation shown, and it comes back in that\n * notation; every colour the stylesheet paints is written on the host as a\n * runtime property from what `@slotted/core/color` parsed. It belongs in a\n * form as it stands. React lets a consumer choose the parts by passing them as\n * children; an attribute directive cannot see what was projected before it\n * renders, so here the parts are chosen by inputs — `alpha`, `presets`,\n * `contrastWith` — and the eyedropper by the platform.\n */\n@Component({\n selector: 'div[slColorPicker]',\n standalone: true,\n exportAs: 'slColorPicker',\n imports: [SlGlyph, SlIcon, SlMenu, SlMenuItem, SlMenuRadioGroup, SlMenuTrigger],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlColorPicker), multi: true },\n ],\n template: `\n <div\n data-part=\"area\"\n [attr.data-dragging]=\"dragging() === 'area' ? '' : null\"\n (pointerdown)=\"down($event, 'area')\"\n (pointermove)=\"move($event, 'area')\"\n (pointerup)=\"dragging.set(null)\"\n (pointercancel)=\"dragging.set(null)\"\n >\n <div\n data-part=\"area-thumb\"\n role=\"slider\"\n [attr.aria-roledescription]=\"t('areaRoleDescription')\"\n [attr.aria-label]=\"t('area')\"\n [attr.aria-valuetext]=\"percent(hsva().s) + ', ' + percent(hsva().v)\"\n [attr.aria-disabled]=\"off() || null\"\n [attr.tabindex]=\"resolvedDisabled() ? -1 : 0\"\n (keydown)=\"areaKey($event)\"\n ></div>\n </div>\n @for (channel of channels(); track channel) {\n <div\n data-part=\"channel\"\n [attr.data-channel]=\"channel\"\n [attr.data-dragging]=\"dragging() === channel ? '' : null\"\n (pointerdown)=\"down($event, channel)\"\n (pointermove)=\"move($event, channel)\"\n (pointerup)=\"dragging.set(null)\"\n (pointercancel)=\"dragging.set(null)\"\n >\n <div\n data-part=\"channel-thumb\"\n role=\"slider\"\n [attr.data-channel]=\"channel\"\n [attr.aria-label]=\"channel === 'hue' ? t('hue') : t('alpha')\"\n aria-valuemin=\"0\"\n [attr.aria-valuemax]=\"channel === 'hue' ? 360 : 100\"\n [attr.aria-valuenow]=\"channel === 'hue' ? round(hsva().h) : round(hsva().a * 100)\"\n [attr.aria-valuetext]=\"channel === 'hue' ? round(hsva().h) + '°' : percent(hsva().a)\"\n [attr.aria-disabled]=\"off() || null\"\n [attr.tabindex]=\"resolvedDisabled() ? -1 : 0\"\n (keydown)=\"channelKey($event, channel)\"\n ></div>\n </div>\n }\n <div data-part=\"row\">\n <span data-part=\"swatch\" role=\"img\" [attr.aria-label]=\"current()\"></span>\n <button\n data-part=\"previous\"\n type=\"button\"\n [attr.aria-label]=\"t('previous', { color: previous() ?? current() })\"\n [disabled]=\"off()\"\n (click)=\"request(previous() ?? current(), 'select', $event)\"\n >\n <span slIcon><svg slGlyph name=\"rotate-ccw\"></svg></span>\n </button>\n <div\n data-ui=\"text-field\"\n data-part=\"root\"\n data-size=\"sm\"\n data-variant=\"outline\"\n data-mono=\"\"\n [attr.data-invalid]=\"inputInvalid() ? '' : null\"\n [attr.data-disabled]=\"resolvedDisabled() ? '' : null\"\n [attr.data-readonly]=\"resolvedReadOnly() ? '' : null\"\n >\n <input\n data-part=\"input\"\n dir=\"ltr\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [attr.aria-label]=\"t('input')\"\n [attr.aria-invalid]=\"inputInvalid() ? 'true' : null\"\n [disabled]=\"resolvedDisabled()\"\n [readOnly]=\"resolvedReadOnly()\"\n [value]=\"draft() ?? current()\"\n (input)=\"draft.set($any($event.target).value)\"\n (keydown.enter)=\"$event.preventDefault(); commit($event)\"\n (blur)=\"commit($event); onTouched()\"\n />\n </div>\n <button\n data-part=\"format\"\n type=\"button\"\n [attr.aria-label]=\"t('format', { format: resolvedFormat() })\"\n [disabled]=\"off()\"\n [slMenuTriggerFor]=\"formats\"\n >\n {{ resolvedFormat() }}<span slIcon><svg slGlyph name=\"chevron-down\"></svg></span>\n </button>\n <sl-menu #formats>\n <sl-menu-radio-group\n [value]=\"resolvedFormat()\"\n (valueChange)=\"requestFormat($any($event), null)\"\n >\n @for (format of formatNames; track format) {\n <button slMenuRadioItem [value]=\"format\">{{ format.toUpperCase() }}</button>\n }\n </sl-menu-radio-group>\n </sl-menu>\n @if (eyedropper()) {\n <button\n data-part=\"eyedropper\"\n type=\"button\"\n [attr.aria-label]=\"t('eyedropper')\"\n [disabled]=\"off()\"\n (click)=\"pick($event)\"\n >\n <span slIcon><svg slGlyph name=\"pipette\"></svg></span>\n </button>\n }\n </div>\n @if (outOfGamut()) {\n <p data-part=\"gamut\" role=\"status\">\n <span slIcon><svg slGlyph name=\"circle-alert\"></svg></span>{{ t('gamut') }}\n </p>\n }\n @if (resolvedPresets().length > 0) {\n <div data-part=\"presets\" role=\"radiogroup\" [attr.aria-label]=\"t('presets')\">\n @for (preset of resolvedPresets(); track preset; let index = $index) {\n <button\n data-part=\"preset\"\n type=\"button\"\n role=\"radio\"\n [attr.aria-label]=\"preset\"\n [attr.aria-checked]=\"index === selectedPreset()\"\n [attr.data-selected]=\"index === selectedPreset() ? '' : null\"\n [attr.tabindex]=\"index === (selectedPreset() === -1 ? 0 : selectedPreset()) ? 0 : -1\"\n [style.--slotted-color-picker-preset]=\"preset\"\n [disabled]=\"off()\"\n (click)=\"choose(preset, $event)\"\n (keydown)=\"presetKey($event, index)\"\n ></button>\n }\n </div>\n }\n @if (contrast(); as measured) {\n <div data-part=\"contrast\" aria-live=\"polite\" [attr.data-level]=\"measured.level\">\n <span data-part=\"contrast-sample\" aria-hidden=\"true\">{{ t('contrastSample') }}</span>\n <span data-part=\"contrast-ratio\">{{ measured.ratio }}:1</span>\n <span data-part=\"contrast-level\">{{ t(measured.key) }}</span>\n </div>\n }\n `,\n styleUrls: [\n '../../../styles/src/color-picker/color-picker.css',\n '../../../styles/src/text-field/text-field.css',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'color-picker',\n 'data-part': 'root',\n '[attr.data-size]': 'size() ?? field?.resolvedSize() ?? defaults.size',\n '[attr.data-format]': 'resolvedFormat()',\n '[attr.data-disabled]': \"resolvedDisabled() ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() ? '' : null\",\n '[attr.data-out-of-gamut]': \"outOfGamut() ? '' : null\",\n '[style.--slotted-color-picker-color]': 'css()',\n '[style.--slotted-color-picker-opaque]': 'opaque()',\n '[style.--slotted-color-picker-hue]': 'hsva().h',\n '[style.--slotted-color-picker-x]': 'hsva().s',\n '[style.--slotted-color-picker-y]': 'hsva().v',\n '[style.--slotted-color-picker-alpha]': 'hsva().a',\n '[style.--slotted-color-picker-previous]': 'previousCss()',\n '[style.--slotted-color-picker-contrast-with]': 'contrastCss()',\n },\n})\nexport class SlColorPicker implements ControlValueAccessor {\n /** Present means the consumer owns the value: a colour in any supported notation. */\n readonly value = input<string | undefined>(undefined);\n readonly defaultValue = input<string | undefined>(undefined);\n /** The notation the value is written in. */\n readonly format = input<ColorFormat | undefined>(undefined);\n readonly defaultFormat = input<ColorFormat | undefined>(undefined);\n readonly alpha = input(true, { transform: booleanAttribute });\n readonly presets = input<readonly string[] | undefined>(undefined);\n /** The background the contrast is measured against; absent, no contrast is drawn. */\n readonly contrastWith = input<string | undefined>(undefined);\n readonly size = input<ColorPickerSize | undefined>(undefined);\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: optionalBoolean,\n });\n /**\n * Words laid over the catalog of the language in force, key by key: every\n * control's name, the gamut sentence and the contrast levels.\n */\n readonly messages = input<PartialMessages<ColorPickerMessages> | undefined>(undefined);\n\n /** Before the colour moves: `pointer`, `keyboard`, `select` or `programmatic` (the eyedropper). */\n readonly valueChange = output<ChangeRequest<string>>();\n readonly formatChange = output<ChangeRequest<ColorFormat>>();\n\n protected readonly defaults = injectColorPickerDefaults();\n /** The family's words in the language in force, with this picker's `messages` laid over them. */\n readonly t = injectMessages(colorPickerMessages, this.messages);\n protected readonly field = inject(SlField, { optional: true });\n private readonly element: HTMLElement = inject(ElementRef).nativeElement;\n protected readonly formatNames = COLOR_FORMATS;\n\n private readonly own = signal<string | undefined>(undefined);\n private readonly ownFormat = signal<ColorFormat | undefined>(undefined);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n private readonly memory = { h: 0, s: 0 };\n protected readonly dragging = signal<'area' | 'hue' | 'alpha' | null>(null);\n protected readonly draft = signal<string | null>(null);\n protected readonly eyedropper = signal(false);\n /** The colour the panel opened with, read once after the first render. */\n protected readonly previous = signal<string | null>(null);\n private onChangeFn: (value: string) => void = () => undefined;\n protected onTouched: () => void = () => undefined;\n\n readonly current = computed(() => this.value() ?? this.own() ?? this.defaultValue() ?? '#000000');\n private readonly parsed = computed(() => parseColor(this.current()));\n readonly resolvedFormat = computed(\n () =>\n this.format() ??\n this.ownFormat() ??\n this.defaultFormat() ??\n parseColor(this.value() ?? this.defaultValue() ?? '')?.format ??\n this.defaults.format,\n );\n protected readonly resolvedDisabled = computed(\n () => this.disabled() ?? this.formDisabled() ?? this.field?.resolvedDisabled() ?? false,\n );\n protected readonly resolvedReadOnly = computed(\n () => this.readOnly() ?? this.field?.resolvedReadOnly() ?? false,\n );\n protected readonly off = computed(() => this.resolvedDisabled() || this.resolvedReadOnly());\n protected readonly channels = computed<('hue' | 'alpha')[]>(() =>\n this.alpha() ? ['hue', 'alpha'] : ['hue'],\n );\n private readonly rgba = computed(() =>\n clampToGamut(this.parsed()?.rgba ?? { r: 0, g: 0, b: 0, a: 1 }),\n );\n protected readonly hsva = computed<Hsva>(() => {\n const next = rgbaToHsva(this.rgba());\n if (next.v === 0) next.s = this.memory.s;\n else this.memory.s = next.s;\n if (next.s === 0 || next.v === 0) next.h = this.memory.h;\n else this.memory.h = next.h;\n return next;\n });\n protected readonly css = computed(() => toCss(this.rgba()));\n protected readonly opaque = computed(() => toCss(this.rgba(), true));\n protected readonly outOfGamut = computed(() => this.parsed()?.inGamut === false);\n protected readonly draftValid = computed(() => {\n const draft = this.draft();\n return draft === null || parseColor(draft) !== null;\n });\n protected readonly resolvedInvalid = computed(\n () => this.invalid() === true || this.field?.invalid() === true,\n );\n /** The panel has no frame of its own, so a picker the form calls invalid says so on its text. */\n protected readonly inputInvalid = computed(() => !this.draftValid() || this.resolvedInvalid());\n protected readonly resolvedPresets = computed(\n () => this.presets() ?? this.defaults.presets ?? [],\n );\n protected readonly selectedPreset = computed(() =>\n this.resolvedPresets().findIndex((preset) => sameColor(preset, this.current())),\n );\n protected readonly previousCss = computed(() =>\n toCss(parseColor(this.previous() ?? this.current())?.rgba ?? this.rgba()),\n );\n private readonly background = computed(() => {\n const value = this.contrastWith();\n return value === undefined ? null : parseColor(value);\n });\n protected readonly contrastCss = computed(() => {\n const background = this.background();\n return background === null ? null : toCss(background.rgba);\n });\n protected readonly contrast = computed(() => {\n const background = this.background();\n const parsed = this.parsed();\n if (background === null || parsed === null) return null;\n const ratio = contrastRatio(parsed.rgba, background.rgba);\n const level = contrastLevel(ratio);\n return { level, ratio: ratio.toFixed(2), key: CONTRAST_LEVEL_KEYS[level] };\n });\n\n constructor() {\n afterNextRender(() => {\n this.previous.set(this.current());\n this.eyedropper.set('EyeDropper' in window);\n /* slMenuTriggerFor binds data-part to null outside a bar, and the\n binding is a constant: the part is written back once, the rule\n menu records for its own trigger. */\n this.element.querySelector('[aria-haspopup=\"menu\"]')?.setAttribute('data-part', 'format');\n });\n }\n\n protected round(value: number) {\n return Math.round(value);\n }\n\n protected percent(value: number) {\n return `${Math.round(value * 100)} %`;\n }\n\n writeValue(value: string | null | undefined) {\n if (value != null) this.own.set(value);\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n /** Asks to move to `next`, and moves an uncontrolled value once nobody refused. */\n request(next: string, reason: ChangeReason, source: Event | null) {\n const state = createControllable<string>({\n controlled: this.value(),\n initial: this.current(),\n onRequest: (change) => this.valueChange.emit(change),\n });\n if (state.request(next, reason, source ?? undefined)) {\n this.own.set(next);\n this.onChangeFn(next);\n }\n }\n\n private requestHsva(next: Hsva, reason: ChangeReason, source: Event) {\n this.memory.h = next.h;\n this.memory.s = next.s;\n const rgba = hsvaToRgba({ ...next, a: this.alpha() ? next.a : 1 });\n this.request(formatColor(rgba, this.resolvedFormat()), reason, source);\n }\n\n protected requestFormat(next: ColorFormat, source: Event | null) {\n const state = createControllable<ColorFormat>({\n controlled: this.format(),\n initial: this.resolvedFormat(),\n onRequest: (change) => this.formatChange.emit(change),\n });\n if (state.request(next, 'select', source ?? undefined) && this.format() === undefined) {\n this.ownFormat.set(next);\n }\n const parsed = this.parsed();\n if (parsed !== null) this.request(formatColor(parsed.rgba, next), 'select', source);\n }\n\n protected down(event: PointerEvent, target: 'area' | 'hue' | 'alpha') {\n if (event.button !== 0 || this.off()) return;\n const box = event.currentTarget as HTMLElement;\n box.setPointerCapture(event.pointerId);\n this.dragging.set(target);\n this.place(event, target, box);\n (box.querySelector('[role=\"slider\"]') as HTMLElement | null)?.focus({ preventScroll: true });\n }\n\n protected move(event: PointerEvent, target: 'area' | 'hue' | 'alpha') {\n if (this.dragging() === target) this.place(event, target, event.currentTarget as HTMLElement);\n }\n\n private place(event: PointerEvent, target: 'area' | 'hue' | 'alpha', box: HTMLElement) {\n const rect = box.getBoundingClientRect();\n let x = clamp((event.clientX - rect.left) / rect.width, 0, 1);\n const y = clamp((event.clientY - rect.top) / rect.height, 0, 1);\n if (isRtl(box)) x = 1 - x;\n const hsva = this.hsva();\n if (target === 'area') this.requestHsva({ ...hsva, s: x, v: 1 - y }, 'pointer', event);\n else if (target === 'hue') this.requestHsva({ ...hsva, h: x * 360 }, 'pointer', event);\n else this.requestHsva({ ...hsva, a: x }, 'pointer', event);\n }\n\n protected areaKey(event: KeyboardEvent) {\n if (this.off()) return;\n const step = sliderStep(event, isRtl(this.element), 0.01, 0.1);\n if (step === null) return;\n event.preventDefault();\n const hsva = this.hsva();\n const horizontal = event.key === 'ArrowLeft' || event.key === 'ArrowRight';\n this.requestHsva(\n horizontal\n ? { ...hsva, s: clamp(hsva.s + step, 0, 1) }\n : { ...hsva, v: clamp(hsva.v + step, 0, 1) },\n 'keyboard',\n event,\n );\n }\n\n protected channelKey(event: KeyboardEvent, channel: 'hue' | 'alpha') {\n if (this.off()) return;\n const hue = channel === 'hue';\n const max = hue ? 360 : 1;\n const hsva = this.hsva();\n const current = hue ? hsva.h : hsva.a;\n let next: number | null = null;\n if (event.key === 'Home') next = 0;\n else if (event.key === 'End') next = max;\n else {\n const step = sliderStep(event, isRtl(this.element), hue ? 1 : 0.01, hue ? 10 : 0.1);\n if (step !== null) next = current + step;\n }\n if (next === null) return;\n event.preventDefault();\n this.requestHsva({ ...hsva, [hue ? 'h' : 'a']: clamp(next, 0, max) }, 'keyboard', event);\n }\n\n protected commit(event: Event) {\n const draft = this.draft();\n if (draft === null) return;\n const parsed = parseColor(draft);\n if (parsed !== null && !sameColor(draft, this.current())) {\n this.request(formatColor(parsed.rgba, this.resolvedFormat()), 'keyboard', event);\n }\n this.draft.set(null);\n }\n\n protected choose(preset: string, event: Event) {\n const parsed = parseColor(preset);\n if (parsed !== null)\n this.request(formatColor(parsed.rgba, this.resolvedFormat()), 'select', event);\n }\n\n protected presetKey(event: KeyboardEvent, index: number) {\n const rtl = isRtl(this.element);\n const forward = event.key === (rtl ? 'ArrowLeft' : 'ArrowRight') || event.key === 'ArrowDown';\n const back = event.key === (rtl ? 'ArrowRight' : 'ArrowLeft') || event.key === 'ArrowUp';\n if (!forward && !back) return;\n event.preventDefault();\n const presets = this.resolvedPresets();\n const next = (index + (forward ? 1 : -1) + presets.length) % presets.length;\n const sibling = (event.currentTarget as HTMLElement).parentElement?.children[next] as\n HTMLElement | undefined;\n sibling?.focus();\n this.choose(presets[next]!, event);\n }\n\n protected async pick(event: Event) {\n const EyeDropper = (\n window as unknown as {\n EyeDropper: new () => { open: () => Promise<{ sRGBHex: string }> };\n }\n ).EyeDropper;\n try {\n const { sRGBHex } = await new EyeDropper().open();\n const parsed = parseColor(sRGBHex);\n if (parsed !== null) {\n this.request(formatColor(parsed.rgba, this.resolvedFormat()), 'programmatic', event);\n }\n } catch {\n /* The reader pressed Escape: nothing was picked. */\n }\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n model,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport {\n SlPopover,\n SlPopoverAnchor,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n} from '@slotted/angular/popover';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlTextField, SlTextFieldInput, SlTextFieldStart } from '@slotted/angular/text-field';\nimport { clampToGamut, formatColor, parseColor, toCss } from '@slotted/core/color';\nimport type { ColorFormat } from '@slotted/core/color';\nimport {\n colorPickerMessages,\n type ColorPickerMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\n\nimport { SlColorPicker } from './color-picker';\nimport { injectColorPickerDefaults } from './color-picker-defaults';\nimport type { ColorPickerSize } from './color-picker-defaults';\n\nfunction sameColor(a: string, b: string): boolean {\n const pa = parseColor(a);\n const pb = parseColor(b);\n return pa !== null && pb !== null && formatColor(pa.rgba, 'hex') === formatColor(pb.rgba, 'hex');\n}\n\n/**\n * A `text-field` holding a colour: the swatch in its start opens the panel in\n * a popover, and the value can be typed in any notation and is kept in the\n * one shown. The text is the field's control, so a `slField` label names it;\n * the host is the consumer's element and the form control.\n */\n@Component({\n selector: 'div[slColorField]',\n standalone: true,\n exportAs: 'slColorField',\n imports: [\n SlColorPicker,\n SlPopover,\n SlPopoverAnchor,\n SlPopoverBody,\n SlPopoverContent,\n SlPopoverLayer,\n SlPopoverTrigger,\n SlTextField,\n SlTextFieldInput,\n SlTextFieldStart,\n ],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlColorField), multi: true },\n ],\n template: `\n <ng-container slPopover side=\"bottom\" align=\"start\" [(open)]=\"open\">\n <div slTextField slPopoverAnchor mono [size]=\"size()\">\n <span slTextFieldStart>\n <button\n slPopoverTrigger\n type=\"button\"\n data-ui=\"color-picker\"\n data-part=\"trigger\"\n [attr.aria-label]=\"t('trigger')\"\n [disabled]=\"resolvedDisabled()\"\n [style.--slotted-color-picker-color]=\"css()\"\n ></button>\n </span>\n <input\n slTextFieldInput\n dir=\"ltr\"\n spellcheck=\"false\"\n autocomplete=\"off\"\n [attr.aria-label]=\"label\"\n [disabled]=\"resolvedDisabled()\"\n [invalid]=\"draftValid() ? undefined : true\"\n [value]=\"draft() ?? current()\"\n (valueChange)=\"draft.set($event.value)\"\n (keydown.enter)=\"$event.preventDefault(); commit($event)\"\n (blur)=\"commit($event); onTouched()\"\n />\n </div>\n <ng-template slPopoverLayer>\n <div slPopoverContent [attr.aria-label]=\"t('trigger')\">\n <div slPopoverBody>\n <div\n slColorPicker\n [value]=\"current()\"\n [format]=\"resolvedFormat()\"\n [alpha]=\"alpha()\"\n [presets]=\"presets()\"\n [contrastWith]=\"contrastWith()\"\n [messages]=\"messages()\"\n (valueChange)=\"request($event.value, $event.reason, $event.source)\"\n (formatChange)=\"ownFormat.set($event.value); formatChange.emit($event)\"\n ></div>\n </div>\n </div>\n </ng-template>\n </ng-container>\n `,\n /* The swatch's stylesheet: carried by the panel alone, it arrived on the first open. */\n styleUrls: ['../../../styles/src/color-picker/color-picker.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { '[attr.aria-label]': 'null' },\n})\nexport class SlColorField implements ControlValueAccessor {\n readonly value = input<string | undefined>(undefined);\n readonly defaultValue = input<string | undefined>(undefined);\n readonly format = input<ColorFormat | undefined>(undefined);\n readonly alpha = input(true, { transform: booleanAttribute });\n readonly presets = input<readonly string[] | undefined>(undefined);\n readonly contrastWith = input<string | undefined>(undefined);\n readonly size = input<ColorPickerSize | undefined>(undefined);\n readonly disabled = input(false, { transform: booleanAttribute });\n /** Words laid over the catalog of the language in force, for the trigger and the panel. */\n readonly messages = input<PartialMessages<ColorPickerMessages> | undefined>(undefined);\n /** Whether the panel is open. */\n readonly open = model(false);\n\n readonly valueChange = output<ChangeRequest<string>>();\n readonly formatChange = output<ChangeRequest<ColorFormat>>();\n\n protected readonly defaults = injectColorPickerDefaults();\n /** The family's words in the language in force, with this field's `messages` laid over them. */\n readonly t = injectMessages(colorPickerMessages, this.messages);\n /** The consumer's name for the field, moved onto the text it names. */\n protected readonly label = inject(new HostAttributeToken('aria-label'), { optional: true });\n\n private readonly own = signal<string | undefined>(undefined);\n protected readonly ownFormat = signal<ColorFormat | undefined>(undefined);\n private readonly formDisabled = signal(false);\n protected readonly draft = signal<string | null>(null);\n private onChangeFn: (value: string) => void = () => undefined;\n protected onTouched: () => void = () => undefined;\n\n readonly current = computed(() => this.value() ?? this.own() ?? this.defaultValue() ?? '#000000');\n protected readonly resolvedFormat = computed(\n () =>\n this.format() ??\n this.ownFormat() ??\n parseColor(this.current())?.format ??\n this.defaults.format,\n );\n protected readonly resolvedDisabled = computed(() => this.disabled() || this.formDisabled());\n protected readonly css = computed(() =>\n toCss(clampToGamut(parseColor(this.current())?.rgba ?? { r: 0, g: 0, b: 0, a: 1 })),\n );\n protected readonly draftValid = computed(() => {\n const draft = this.draft();\n return draft === null || parseColor(draft) !== null;\n });\n\n writeValue(value: string | null | undefined) {\n if (value != null) this.own.set(value);\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n protected request(next: string, reason: ChangeReason, source: unknown) {\n const state = createControllable<string>({\n controlled: this.value(),\n initial: this.current(),\n onRequest: (change) => this.valueChange.emit(change),\n });\n if (state.request(next, reason, source)) {\n this.own.set(next);\n this.onChangeFn(next);\n }\n }\n\n protected commit(event: Event) {\n const draft = this.draft();\n if (draft === null) return;\n const parsed = parseColor(draft);\n if (parsed !== null && !sameColor(draft, this.current())) {\n this.request(formatColor(parsed.rgba, this.resolvedFormat()), 'keyboard', event);\n }\n this.draft.set(null);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["sameColor"],"mappings":"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"}
|
|
@@ -720,7 +720,7 @@ class SlColumnManager {
|
|
|
720
720
|
</div>
|
|
721
721
|
</div>
|
|
722
722
|
</ng-template>
|
|
723
|
-
`, isInline: true, styles: ["@layer slotted.components{[data-ui=column-manager]{--_text: var(--slotted-text, CanvasText);--_muted: var(--slotted-text-muted, GrayText);--_rule: var(--slotted-border-subtle, ButtonBorder);--_hover: var(--slotted-tone-secondary-subtle-hover, ButtonFace);--_active: var(--slotted-tone-secondary-subtle-active, ButtonFace);--_inset: var(--slotted-control-padding-inline-md, 13px);--_row-block: var(--slotted-control-gap-sm, 6px);--_gap: var(--slotted-control-gap-md, 8px);--_font-size: var(--slotted-control-font-size-md, 13px);--_line-height: var(--slotted-line-height-md, 1.5);--_line: calc(var(--_font-size) * var(--_line-height));--_glyph: var(--slotted-control-icon-size-sm, 14px);--_control: min( calc(var(--_glyph) + 2 * var(--slotted-space-2, .25rem)), var(--slotted-control-inner-size-md, 24px) );--_radius: var(--slotted-radius-sm, 4px);--_duration: var(--slotted-control-transition-duration);--_easing: var(--slotted-control-transition-easing);--_inline-size: var(--slotted-column-manager-inline-size, 22rem);--_list-max: var(--slotted-column-manager-list-max-block-size, min(60vh, 28rem));box-sizing:border-box;color:var(--_text);display:grid;font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);font-size:var(--_font-size);grid-template-rows:auto auto minmax(0,1fr) auto;line-height:var(--_line-height);max-block-size:100%;min-inline-size:0;text-align:start;container-name:column-manager;container-type:inline-size}[data-ui=column-manager][data-presentation=popover]{inline-size:min(var(--_inline-size),calc(var(--slotted-positioner-available-width, 100vw) - var(--slotted-space-8, 1.5rem)))}[data-ui=column-manager][data-presentation=drawer]{block-size:100%;inline-size:100%}[data-ui=column-manager][data-presentation=inline]{inline-size:100%}[data-ui=column-manager]>[data-part=header]{align-items:baseline;column-gap:var(--_gap);display:flex;flex-wrap:wrap;padding-block:var(--_inset) var(--slotted-space-4, .5rem);padding-inline:var(--_inset)}[data-ui=column-manager]>[data-part=header]>[data-part=title]{color:var(--_text);font-family:var( --slotted-font-family-heading, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) );font-size:var(--slotted-font-size-md, .875rem);font-weight:var(--slotted-font-weight-semibold, 600);line-height:var(--slotted-line-height-md, 1.5);margin:0;min-inline-size:0}[data-ui=column-manager]>[data-part=header]>[data-part=summary]{color:var(--_muted);font-size:var(--slotted-font-size-sm, .8125rem);font-variant-numeric:tabular-nums;line-height:var(--slotted-line-height-sm, 1.45);margin-inline-start:auto;white-space:nowrap}[data-ui=column-manager]>[data-part=search]{padding-block-end:var(--_gap);padding-inline:var(--_inset)}[data-ui=column-manager]>[data-part=search]>[data-ui=text-field]{inline-size:100%}[data-ui=column-manager]>[data-part=list]{border-block:var(--slotted-border-width-thin, 1px) solid var(--_rule);max-block-size:var(--_list-max);min-block-size:0;overflow-y:auto;overscroll-behavior:contain;padding-block:var(--slotted-space-2, .25rem)}[data-ui=column-manager][data-presentation=drawer]>[data-part=list]{max-block-size:none}[data-ui=column-manager]>[data-part=list]>[data-part=section]{padding-block:var(--slotted-space-2, .25rem);position:relative}[data-ui=column-manager]>[data-part=list]>[data-part=section]+[data-part=section]{border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_rule)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=section-label]{color:var(--_muted);font-size:var(--slotted-font-size-xs, .75rem);font-weight:var(--slotted-font-weight-medium, 500);line-height:var(--slotted-line-height-xs, 1.4);padding-block:var(--slotted-space-3, .375rem) var(--slotted-space-2, .25rem);padding-inline:var(--_inset)}[data-ui=column-manager]>[data-part=list]>[data-part=section][data-sole]>[data-part=section-label]{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]{align-items:start;column-gap:var(--slotted-space-2, .25rem);display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding-block:var(--_row-block);padding-inline:calc(var(--_inset) - var(--slotted-space-2, .25rem));position:relative;transition:opacity var(--_duration) var(--_easing)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item][data-dragging]{opacity:.5}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>:is([data-part=handle],[data-part=pin]){align-items:center;background-color:transparent;block-size:var(--_control);border:0;border-radius:var(--_radius);color:var(--_muted);display:inline-flex;flex:none;inline-size:var(--_control);justify-content:center;margin:0;margin-block:calc((var(--_line) - var(--_control)) / 2);padding:0;transition:background-color var(--_duration) var(--_easing),color var(--_duration) var(--_easing)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=handle]{cursor:grab;touch-action:none}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=pin][data-pinned]{color:var(--slotted-tone-accent-text, LinkText)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>:is([data-part=handle],[data-part=pin]):not([data-disabled]):hover,[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=pin][data-open]:not([data-disabled]){background-color:var(--_hover);color:var(--_text)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>:is([data-part=handle],[data-part=pin]):not([data-disabled]):active{background-color:var(--_active)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>:is([data-part=handle],[data-part=pin]):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, currentColor);outline-offset:calc(var(--slotted-focus-ring-width, 2px) * -1)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=handle][data-disabled]{color:var(--slotted-disabled-foreground, GrayText);cursor:default}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item][data-dragging]>[data-part=handle]{cursor:grabbing}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=visibility]{display:block;min-inline-size:0;overflow-wrap:anywhere;padding-inline:var(--slotted-space-2, .25rem)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=visibility] [data-part=description]{text-wrap:pretty}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=visibility] [data-part=status]{color:var(--_muted);display:inline-block;font-size:var(--slotted-font-size-xs, .75rem)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item][data-space-hidden]>[data-part=visibility] [data-part=status]{color:var(--slotted-tone-warning-text, CanvasText)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=drop-indicator]{block-size:0;pointer-events:none;position:relative}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=drop-indicator]:before{background-color:var(--slotted-tone-accent-solid);block-size:var(--slotted-border-width-thick, 2px);border-radius:var(--slotted-radius-full, 9999px);content:\"\";inset-block-start:calc(var(--slotted-border-width-thick, 2px) / -2);inset-inline:var(--_inset);position:absolute}[data-ui=column-manager]>[data-part=list]>[data-part=section][data-drop-target]{background-color:var(--_hover)}[data-ui=column-manager]>[data-part=list]>[data-part=empty]{color:var(--_muted);padding-block:var(--slotted-space-8, 1.5rem);padding-inline:var(--_inset);text-align:center}[data-ui=column-manager]>[data-part=footer]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--_gap);padding:var(--_inset)}[data-ui=column-manager]>[data-part=footer]>:is([data-part=show-all],[data-part=reset]){flex:none}[data-ui=column-manager]>[data-part=footer]>[data-part=cancel]{margin-inline-start:auto}[data-ui=column-manager]>[data-part=footer]>[data-part=apply]{flex:none}@container column-manager (max-width: 20rem){[data-ui=column-manager]>[data-part=footer]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}[data-ui=column-manager]>[data-part=footer]>[data-part=cancel]{margin-inline-start:0}}[data-part=trigger][data-column-manager-trigger],[data-column-manager-trigger]{--_count-size: var(--slotted-font-size-xs, .75rem)}[data-column-manager-trigger] [data-part=count]{background-color:var(--slotted-tone-accent-surface, Canvas);border-radius:var(--slotted-radius-full, 9999px);box-sizing:border-box;color:var(--slotted-tone-accent-text, LinkText);display:inline-block;font-size:var(--_count-size);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-semibold, 600);line-height:calc(var(--_count-size) + 2 * var(--slotted-space-1, .125rem));margin-inline-start:var(--slotted-space-3, .375rem);min-inline-size:calc(var(--_count-size) + 2 * var(--slotted-space-2, .25rem));padding-inline:var(--slotted-space-2, .25rem);text-align:center}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SlButton, selector: "button[slButton]", inputs: ["disabled", "focusableWhenDisabled", "fullWidth", "justify", "loading", "loadingDelay", "messages", "size", "tone", "type", "variant"], exportAs: ["slButton"] }, { kind: "component", type: SlCheckbox, selector: "[slCheckbox]", inputs: ["checked", "defaultChecked", "indeterminate", "parent", "value", "name", "tabIndex", "size", "labelPlacement", "variant", "disabled", "readOnly", "invalid"], outputs: ["checkedChange"], exportAs: ["slCheckbox"] }, { kind: "directive", type: SlCheckboxDescription, selector: "[slCheckboxDescription]", exportAs: ["slCheckboxDescription"] }, { kind: "directive", type: SlColumnManagerPart, selector: "[slColumnManagerPart]", inputs: ["slColumnManagerPart"] }, { kind: "component", type: SlDrawer, selector: "sl-drawer", inputs: ["open", "extent", "mode", "side", "size", "mount", "escape", "outsidePress", "back", "modal", "loading", "messages", "drag", "scrimFrom", "minExtent", "maxExtent", "snapPoints", "container", "initialFocus", "finalFocus"], outputs: ["openChange", "extentChange", "openChangeRequest", "extentChangeRequest", "closed"], exportAs: ["slDrawer"] }, { kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }, { kind: "component", type: SlMenu, selector: "sl-menu", inputs: ["value", "aria-label", "aria-describedby", "open", "align", "side", "size", "mount", "strategy", "sideOffset", "alignOffset", "collisionPadding", "submenuOpenDelay", "submenuCloseDelay", "typeaheadTimeout", "disabled", "loop", "typeahead", "openOnHover", "closeOnSelect", "closeOnEscape", "closeOnOutsidePress", "flip", "shift", "hideWhenDetached", "portal", "loading"], outputs: ["openChange", "openChangeRequest"], exportAs: ["slMenu"] }, { kind: "component", type: SlMenuItem, selector: "button[slMenuItem], a[slMenuItem], button[slMenuCheckboxItem], button[slMenuRadioItem]", inputs: ["disabled", "textValue", "tone", "shortcut", "closeOnSelect", "value", "checked"], outputs: ["checkedChange", "checkedChangeRequest", "select"], exportAs: ["slMenuItem"] }, { kind: "directive", type: SlMenuTrigger, selector: "[slMenuTriggerFor]", inputs: ["slMenuTriggerFor"], exportAs: ["slMenuTrigger"] }, { kind: "directive", type: SlPopover, selector: "[slPopover]", inputs: ["open", "defaultOpen", "disabled", "size", "width", "side", "align", "mount", "strategy", "messages", "initialFocus", "finalFocus", "arrow", "autoFocus", "closeOnEscape", "closeOnOutsidePress", "flip", "shift", "hideWhenDetached", "portal", "sideOffset", "alignOffset", "collisionPadding", "arrowPadding"], outputs: ["openChange", "openChangeRequest"], exportAs: ["slPopover"] }, { kind: "component", type: SlPopoverContent, selector: "[slPopoverContent]", exportAs: ["slPopoverContent"] }, { kind: "directive", type: SlPopoverLayer, selector: "ng-template[slPopoverLayer]", exportAs: ["slPopoverLayer"] }, { kind: "component", type: SlTextField, selector: "[slTextField]", inputs: ["size", "variant", "mono", "clearable", "revealable", "copyable", "messages", "loading"], outputs: ["valueCopy"], exportAs: ["slTextField"] }, { kind: "directive", type: SlTextFieldInput, selector: "input[slTextFieldInput]", inputs: ["value", "defaultValue", "disabled", "readOnly", "invalid", "showCount", "countMax", "revealed", "defaultRevealed", "type"], outputs: ["valueChange", "revealedChange"], exportAs: ["slTextFieldInput"] }, { kind: "directive", type: SlTextFieldStart, selector: "[slTextFieldStart]", exportAs: ["slTextFieldStart"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
723
|
+
`, isInline: true, styles: ["@layer slotted.components{[data-ui=column-manager]{--_text: var(--slotted-text, CanvasText);--_muted: var(--slotted-text-muted, GrayText);--_rule: var(--slotted-border-subtle, ButtonBorder);--_hover: var(--slotted-tone-secondary-subtle-hover, ButtonFace);--_active: var(--slotted-tone-secondary-subtle-active, ButtonFace);--_inset: var(--slotted-control-padding-inline-md, 13px);--_row-block: var(--slotted-control-gap-sm, 6px);--_gap: var(--slotted-control-gap-md, 8px);--_font-size: var(--slotted-control-font-size-md, 13px);--_line-height: var(--slotted-line-height-md, 1.5);--_line: calc(var(--_font-size) * var(--_line-height));--_glyph: var(--slotted-control-icon-size-sm, 14px);--_control: min( calc(var(--_glyph) + 2 * var(--slotted-space-2, .25rem)), var(--slotted-control-inner-size-md, 24px) );--_radius: var(--slotted-radius-sm, 4px);--_duration: var(--slotted-control-transition-duration);--_easing: var(--slotted-control-transition-easing);--_inline-size: var(--slotted-column-manager-inline-size, 22rem);--_list-max: var(--slotted-column-manager-list-max-block-size, min(60vh, 28rem));box-sizing:border-box;color:var(--_text);display:grid;font-family:var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif);font-size:var(--_font-size);grid-template-rows:auto auto minmax(0,1fr) auto;line-height:var(--_line-height);max-block-size:100%;min-inline-size:0;text-align:start;container-name:column-manager;container-type:inline-size}[data-ui=column-manager][data-presentation=popover]{inline-size:min(var(--_inline-size),calc(var(--slotted-positioner-available-width, 100vw) - var(--slotted-space-8, 1.5rem)))}[data-ui=column-manager][data-presentation=drawer]{block-size:100%;inline-size:100%}[data-ui=column-manager][data-presentation=inline]{inline-size:100%}[data-ui=column-manager]>[data-part=header]{align-items:baseline;column-gap:var(--_gap);display:flex;flex-wrap:wrap;padding-block:var(--_inset) var(--slotted-space-4, .5rem);padding-inline:var(--_inset)}[data-ui=column-manager]>[data-part=header]>[data-part=title]{color:var(--_text);font-family:var( --slotted-font-family-heading, var(--slotted-font-family-sans, ui-sans-serif, system-ui, sans-serif) );font-size:var(--slotted-font-size-md, .875rem);font-weight:var(--slotted-font-weight-semibold, 600);line-height:var(--slotted-line-height-md, 1.5);margin:0;min-inline-size:0}[data-ui=column-manager]>[data-part=header]>[data-part=summary]{color:var(--_muted);font-size:var(--slotted-font-size-sm, .8125rem);font-variant-numeric:tabular-nums;line-height:var(--slotted-line-height-sm, 1.45);margin-inline-start:auto;white-space:nowrap}[data-ui=column-manager]>[data-part=search]{padding-block-end:var(--_gap);padding-inline:var(--_inset)}[data-ui=column-manager]>[data-part=search]>[data-ui=text-field]{inline-size:100%}[data-ui=column-manager]>[data-part=list]{border-block:var(--slotted-border-width-thin, 1px) solid var(--_rule);max-block-size:var(--_list-max);min-block-size:0;overflow-y:auto;overscroll-behavior:contain;padding-block:var(--slotted-space-2, .25rem)}[data-ui=column-manager][data-presentation=drawer]>[data-part=list]{max-block-size:none}[data-ui=column-manager]>[data-part=list]>[data-part=section]{padding-block:var(--slotted-space-2, .25rem);position:relative}[data-ui=column-manager]>[data-part=list]>[data-part=section]+[data-part=section]{border-block-start:var(--slotted-border-width-thin, 1px) solid var(--_rule)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=section-label]{color:var(--_muted);font-size:var(--slotted-font-size-xs, .75rem);font-weight:var(--slotted-font-weight-medium, 500);line-height:var(--slotted-line-height-xs, 1.4);padding-block:var(--slotted-space-3, .375rem) var(--slotted-space-2, .25rem);padding-inline:var(--_inset)}[data-ui=column-manager]>[data-part=list]>[data-part=section][data-sole]>[data-part=section-label]{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]{align-items:start;column-gap:var(--slotted-space-2, .25rem);display:grid;grid-template-columns:auto minmax(0,1fr) auto;padding-block:var(--_row-block);padding-inline:calc(var(--_inset) - var(--slotted-space-2, .25rem));position:relative;transition:opacity var(--_duration) var(--_easing)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item][data-dragging]{opacity:.5}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>:is([data-part=handle],[data-part=pin]){align-items:center;background-color:transparent;block-size:var(--_control);border:0;border-radius:var(--_radius);color:var(--_muted);display:inline-flex;flex:none;inline-size:var(--_control);justify-content:center;margin:0;margin-block:calc((var(--_line) - var(--_control)) / 2);padding:0;transition:background-color var(--_duration) var(--_easing),color var(--_duration) var(--_easing)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=handle]{cursor:grab;touch-action:none}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=pin][data-pinned]{color:var(--slotted-tone-accent-text, LinkText)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>:is([data-part=handle],[data-part=pin]):not([data-disabled]):hover,[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=pin][data-open]:not([data-disabled]){background-color:var(--_hover);color:var(--_text)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>:is([data-part=handle],[data-part=pin]):not([data-disabled]):active{background-color:var(--_active)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>:is([data-part=handle],[data-part=pin]):focus-visible{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, currentColor);outline-offset:calc(var(--slotted-focus-ring-width, 2px) * -1)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=handle][data-disabled]{color:var(--slotted-disabled-foreground, GrayText);cursor:default}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item][data-dragging]>[data-part=handle]{cursor:grabbing}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=visibility]{display:block;min-inline-size:0;overflow-wrap:anywhere;padding-inline:var(--slotted-space-2, .25rem)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=visibility] [data-part=description]{text-wrap:pretty}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item]>[data-part=visibility] [data-part=status]{color:var(--_muted);display:inline-block;font-size:var(--slotted-font-size-xs, .75rem)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=item][data-space-hidden]>[data-part=visibility] [data-part=status]{color:var(--slotted-tone-warning-text, CanvasText)}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=drop-indicator]{block-size:0;pointer-events:none;position:relative}[data-ui=column-manager]>[data-part=list]>[data-part=section]>[data-part=drop-indicator]:before{background-color:var(--slotted-tone-accent-solid);block-size:var(--slotted-border-width-thick, 2px);border-radius:var(--slotted-radius-full, 9999px);content:\"\";inset-block-start:calc(var(--slotted-border-width-thick, 2px) / -2);inset-inline:var(--_inset);position:absolute}[data-ui=column-manager]>[data-part=list]>[data-part=section][data-drop-target]{background-color:var(--_hover)}[data-ui=column-manager]>[data-part=list]>[data-part=empty]{color:var(--_muted);padding-block:var(--slotted-space-8, 1.5rem);padding-inline:var(--_inset);text-align:center}[data-ui=column-manager]>[data-part=footer]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--_gap);padding:var(--_inset)}[data-ui=column-manager]>[data-part=footer]>:is([data-part=show-all],[data-part=reset]){flex:none}[data-ui=column-manager]>[data-part=footer]>[data-part=cancel]{margin-inline-start:auto}[data-ui=column-manager]>[data-part=footer]>[data-part=apply]{flex:none}@container column-manager (max-width: 20rem){[data-ui=column-manager]>[data-part=footer]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}[data-ui=column-manager]>[data-part=footer]>[data-part=cancel]{margin-inline-start:0}}[data-part=trigger][data-column-manager-trigger],[data-column-manager-trigger]{--_count-size: var(--slotted-font-size-xs, .75rem)}[data-column-manager-trigger] [data-part=count]{background-color:var(--slotted-tone-accent-surface, Canvas);border-radius:var(--slotted-radius-full, 9999px);box-sizing:border-box;color:var(--slotted-tone-accent-text, LinkText);display:inline-block;font-size:var(--_count-size);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-semibold, 600);line-height:calc(var(--_count-size) + 2 * var(--slotted-space-1, .125rem));margin-inline-start:var(--slotted-space-3, .375rem);min-inline-size:calc(var(--_count-size) + 2 * var(--slotted-space-2, .25rem));padding-inline:var(--slotted-space-2, .25rem);text-align:center}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SlButton, selector: "button[slButton]", inputs: ["disabled", "focusableWhenDisabled", "fullWidth", "justify", "loading", "loadingDelay", "messages", "size", "tone", "type", "variant"], exportAs: ["slButton"] }, { kind: "component", type: SlCheckbox, selector: "[slCheckbox]", inputs: ["checked", "defaultChecked", "indeterminate", "parent", "value", "name", "tabIndex", "size", "labelPlacement", "variant", "disabled", "readOnly", "invalid"], outputs: ["checkedChange"], exportAs: ["slCheckbox"] }, { kind: "directive", type: SlCheckboxDescription, selector: "[slCheckboxDescription]", exportAs: ["slCheckboxDescription"] }, { kind: "directive", type: SlColumnManagerPart, selector: "[slColumnManagerPart]", inputs: ["slColumnManagerPart"] }, { kind: "component", type: SlDrawer, selector: "sl-drawer", inputs: ["open", "extent", "mode", "side", "size", "mount", "escape", "outsidePress", "back", "modal", "loading", "messages", "drag", "scrimFrom", "minExtent", "maxExtent", "snapPoints", "container", "initialFocus", "finalFocus"], outputs: ["openChange", "extentChange", "openChangeRequest", "extentChangeRequest", "closed"], exportAs: ["slDrawer"] }, { kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }, { kind: "component", type: SlMenu, selector: "sl-menu", inputs: ["value", "aria-label", "aria-describedby", "open", "align", "side", "size", "width", "mount", "strategy", "sideOffset", "alignOffset", "collisionPadding", "submenuOpenDelay", "submenuCloseDelay", "typeaheadTimeout", "disabled", "loop", "typeahead", "openOnHover", "closeOnSelect", "closeOnEscape", "closeOnOutsidePress", "flip", "shift", "hideWhenDetached", "portal", "loading"], outputs: ["openChange", "openChangeRequest"], exportAs: ["slMenu"] }, { kind: "component", type: SlMenuItem, selector: "button[slMenuItem], a[slMenuItem], button[slMenuCheckboxItem], button[slMenuRadioItem]", inputs: ["disabled", "textValue", "tone", "shortcut", "closeOnSelect", "value", "checked"], outputs: ["checkedChange", "checkedChangeRequest", "select"], exportAs: ["slMenuItem"] }, { kind: "directive", type: SlMenuTrigger, selector: "[slMenuTriggerFor]", inputs: ["slMenuTriggerFor"], exportAs: ["slMenuTrigger"] }, { kind: "directive", type: SlPopover, selector: "[slPopover]", inputs: ["open", "defaultOpen", "disabled", "size", "width", "side", "align", "mount", "strategy", "messages", "initialFocus", "finalFocus", "arrow", "autoFocus", "closeOnEscape", "closeOnOutsidePress", "flip", "shift", "hideWhenDetached", "portal", "sideOffset", "alignOffset", "collisionPadding", "arrowPadding"], outputs: ["openChange", "openChangeRequest"], exportAs: ["slPopover"] }, { kind: "component", type: SlPopoverContent, selector: "[slPopoverContent]", exportAs: ["slPopoverContent"] }, { kind: "directive", type: SlPopoverLayer, selector: "ng-template[slPopoverLayer]", exportAs: ["slPopoverLayer"] }, { kind: "component", type: SlTextField, selector: "[slTextField]", inputs: ["size", "variant", "mono", "clearable", "revealable", "copyable", "messages", "loading"], outputs: ["valueCopy"], exportAs: ["slTextField"] }, { kind: "directive", type: SlTextFieldInput, selector: "input[slTextFieldInput]", inputs: ["value", "defaultValue", "disabled", "readOnly", "invalid", "showCount", "countMax", "revealed", "defaultRevealed", "type"], outputs: ["valueChange", "revealedChange"], exportAs: ["slTextFieldInput"] }, { kind: "directive", type: SlTextFieldStart, selector: "[slTextFieldStart]", exportAs: ["slTextFieldStart"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
724
724
|
}
|
|
725
725
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlColumnManager, decorators: [{
|
|
726
726
|
type: Component,
|