@slotted/angular 0.1.0-beta.3 → 0.1.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/docs/calendar.json +7 -0
  2. package/docs/calendar.md +1 -0
  3. package/docs/date-field.json +8 -1
  4. package/docs/date-field.md +2 -1
  5. package/docs/date-picker.examples.md +36 -0
  6. package/docs/date-picker.json +20 -5
  7. package/docs/date-picker.md +5 -4
  8. package/docs/guidelines/composition.md +10 -0
  9. package/docs/guidelines/index.md +2 -0
  10. package/docs/guidelines/list-pages.md +12 -1
  11. package/docs/page.json +1 -0
  12. package/docs/page.md +1 -0
  13. package/docs/skills/compose-screen/SKILL.md +7 -0
  14. package/docs/table.json +13 -0
  15. package/docs/table.md +3 -1
  16. package/docs/text-field.json +1 -1
  17. package/docs/text-field.md +1 -1
  18. package/fesm2022/slotted-angular-calendar.mjs +158 -33
  19. package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
  20. package/fesm2022/slotted-angular-combobox.mjs +25 -4
  21. package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
  22. package/fesm2022/slotted-angular-data-grid.mjs +2 -2
  23. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
  24. package/fesm2022/slotted-angular-date-field.mjs +35 -12
  25. package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
  26. package/fesm2022/slotted-angular-date-picker.mjs +91 -27
  27. package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
  28. package/fesm2022/slotted-angular-date-range-picker.mjs +1 -1
  29. package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
  30. package/fesm2022/slotted-angular-datetime-picker.mjs +1 -1
  31. package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
  32. package/fesm2022/slotted-angular-datetime-range-picker.mjs +1 -1
  33. package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
  34. package/fesm2022/slotted-angular-filter-bar.mjs +1 -1
  35. package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
  36. package/fesm2022/slotted-angular-import-export-center.mjs +1 -1
  37. package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
  38. package/fesm2022/slotted-angular-multi-select.mjs +24 -3
  39. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
  40. package/fesm2022/slotted-angular-page.mjs +20 -1
  41. package/fesm2022/slotted-angular-page.mjs.map +1 -1
  42. package/fesm2022/slotted-angular-table.mjs +15 -4
  43. package/fesm2022/slotted-angular-table.mjs.map +1 -1
  44. package/package.json +3 -3
  45. package/types/slotted-angular-calendar.d.ts +28 -2
  46. package/types/slotted-angular-calendar.d.ts.map +1 -1
  47. package/types/slotted-angular-combobox.d.ts +4 -0
  48. package/types/slotted-angular-combobox.d.ts.map +1 -1
  49. package/types/slotted-angular-date-field.d.ts +11 -1
  50. package/types/slotted-angular-date-field.d.ts.map +1 -1
  51. package/types/slotted-angular-date-picker.d.ts +38 -11
  52. package/types/slotted-angular-date-picker.d.ts.map +1 -1
  53. package/types/slotted-angular-multi-select.d.ts +4 -0
  54. package/types/slotted-angular-multi-select.d.ts.map +1 -1
  55. package/types/slotted-angular-page.d.ts.map +1 -1
  56. package/types/slotted-angular-table.d.ts +16 -2
  57. package/types/slotted-angular-table.d.ts.map +1 -1
@@ -876,7 +876,7 @@ class SlDateRangePicker {
876
876
  <ng-content select="[slDateRangePickerFooter]" />
877
877
  </div>
878
878
  </div>
879
- }`, isInline: true, styles: ["@layer slotted.components{[data-ui=date-range-picker][data-part=root]{display:block;inline-size:100%}[data-ui=date-range-picker] [data-part=control]{--_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: var(--slotted-control-icon-size-md, 16px);--_border-width: var(--slotted-control-border-width, 1px);--_action-size: var( --slotted-date-range-picker-action-size, min( calc(var(--_icon-size) + 2 * var(--slotted-space-2, .25rem)), calc(var(--_height) - var(--_border-width) * 2 - var(--slotted-space-2, .25rem)) ) );align-items:center;background-color:var( --slotted-date-range-picker-background, var(--slotted-control-surface, Field) );border:var(--_border-width) solid var( --slotted-date-range-picker-border-color, var(--slotted-control-border-color, ButtonBorder) );border-radius:var(--slotted-date-range-picker-radius, var(--slotted-control-radius, 4px));box-shadow:var(--slotted-date-range-picker-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;color:var(--slotted-date-range-picker-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(--slotted-space-1, .125rem);inline-size:100%;min-block-size:var(--_height);min-inline-size:0;padding-inline:var(--_padding-inline);position:relative;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=date-range-picker] [data-part=control]{--_action-inset: max( 0px, calc(var(--_padding-inline) - (var(--_action-size) - var(--_icon-size)) / 2) );--_actions: 1;padding-inline-end:calc(var(--_action-inset) + var(--_action-size) * var(--_actions) + var(--slotted-space-1, .125rem) * (var(--_actions) - 1) + var(--slotted-space-2, .25rem))}[data-ui=date-range-picker] [data-part=control]:has(>[data-part=clear]){--_actions: 2}[data-ui=date-range-picker][data-part=root][data-size=sm] [data-part=control]{--_font-size: var(--slotted-control-font-size-sm, 12px);--_height: var(--slotted-control-height-sm, 30px);--_padding-inline: var(--slotted-control-padding-inline-sm, 11px);--_gap: var(--slotted-control-gap-sm, 6px);--_icon-size: var(--slotted-control-icon-size-sm, 14px)}[data-ui=date-range-picker][data-part=root][data-size=lg] [data-part=control]{--_font-size: var(--slotted-control-font-size-lg, 14px);--_height: var(--slotted-control-height-lg, 38px);--_padding-inline: var(--slotted-control-padding-inline-lg, 15px);--_gap: var(--slotted-control-gap-lg, 10px);--_icon-size: var(--slotted-control-icon-size-lg, 18px)}[data-ui=date-range-picker][data-part=root][data-variant=subtle] [data-part=control]{background-color:var( --slotted-date-range-picker-subtle-background, var(--slotted-surface-sunken, Canvas) );border-color:var( --slotted-date-range-picker-subtle-border-color, var(--slotted-border-subtle, ButtonBorder) )}[data-ui=date-range-picker][data-part=root][data-variant=plain] [data-part=control]{background-color:transparent;border-color:transparent;border-radius:var(--slotted-radius-none, 0px);box-shadow:none}[data-ui=date-range-picker] [data-part=start],[data-ui=date-range-picker] [data-part=end]{--slotted-control-border-width: 0px;--slotted-control-padding-inline-sm: 0px;--slotted-control-padding-inline-md: 0px;--slotted-control-padding-inline-lg: 0px;--slotted-control-height-sm: calc(var(--_height) - var(--_border-width) * 2);--slotted-control-height-md: calc(var(--_height) - var(--_border-width) * 2);--slotted-control-height-lg: calc(var(--_height) - var(--_border-width) * 2);--slotted-date-field-plain-hover-background: transparent;--slotted-date-field-invalid-border-color: transparent;--slotted-date-field-shadow: none;--slotted-control-shadow-focus-geometry: 0 0 0 0;--slotted-focus-ring-width: 0px;display:flex;flex:0 1 auto;min-inline-size:0;position:relative}[data-ui=date-range-picker] [data-part=start]:after,[data-ui=date-range-picker] [data-part=end]:after{background-color:var( --slotted-date-range-picker-current-color, var(--slotted-tone-accent-solid) );block-size:var(--slotted-date-range-picker-current-size, 2px);border-start-end-radius:var(--slotted-radius-xs, 2px);border-start-start-radius:var(--slotted-radius-xs, 2px);content:\"\";inset-block-end:0;inset-inline:0;opacity:0;position:absolute;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=date-range-picker][data-part=root]:is([data-open],:has([data-part=control]:focus-within)) :is([data-part=start],[data-part=end])[data-current]:after{opacity:1}[data-ui=date-range-picker] [data-part=separator]{color:var(--slotted-date-range-picker-separator-color, var(--slotted-text-muted, GrayText));flex:0 0 auto;padding-inline:var(--slotted-space-2, .25rem);-webkit-user-select:none;user-select:none}[data-ui=date-range-picker] [data-part=clear],[data-ui=date-range-picker] [data-part=trigger]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var(--_action-size);border:0;border-radius:var(--slotted-date-range-picker-radius, var(--slotted-control-radius, 4px));color:var(--slotted-date-range-picker-action-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:0 0 auto;inline-size:var(--_action-size);inset-block-start:calc((var(--_height) - var(--_border-width) * 2 - var(--_action-size)) / 2);inset-inline-end:var(--_action-inset);justify-content:center;padding:0;position:absolute;touch-action:manipulation;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui=date-range-picker] [data-part=clear]{inset-inline-end:calc(var(--_action-inset) + var(--_action-size) + var(--slotted-space-1, .125rem))}[data-ui=date-range-picker] [data-part=clear]:after,[data-ui=date-range-picker] [data-part=trigger]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}@media(pointer:coarse){[data-ui=date-range-picker] :is([data-part=clear],[data-part=trigger]):after{inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2))}[data-ui=date-range-picker] [data-part=clear]:has(+[data-part=trigger]:not([hidden])):after{inset-inline-end:0}[data-ui=date-range-picker] [data-part=clear]:not([hidden])+[data-part=trigger]:after{inset-inline-start:0}}[data-ui=date-range-picker] [data-part=clear]:hover:not(:disabled):not([data-disabled]),[data-ui=date-range-picker] [data-part=trigger]:hover:not(:disabled):not([data-disabled]){background-color:var( --slotted-date-range-picker-action-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=date-range-picker] [data-part=clear]:active:not(:disabled):not([data-disabled]),[data-ui=date-range-picker] [data-part=trigger]:active:not(:disabled):not([data-disabled]){background-color:var( --slotted-date-range-picker-action-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=date-range-picker] [data-part=clear]:focus-visible,[data-ui=date-range-picker] [data-part=trigger]: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=date-range-picker] [data-part=clear]:disabled,[data-ui=date-range-picker] [data-part=trigger]:disabled{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=date-range-picker][data-part=root]:not([data-disabled]):not([data-readonly]):not([data-invalid]) [data-part=control]:hover{border-color:var( --slotted-date-range-picker-hover-border-color, var(--slotted-tone-accent-border) )}[data-ui=date-range-picker][data-part=root][data-variant=subtle]:not([data-disabled]):not([data-readonly]):not([data-invalid]) [data-part=control]:hover{background-color:var( --slotted-date-range-picker-subtle-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=date-range-picker][data-part=root][data-variant=plain]:not([data-disabled]):not([data-readonly]):not([data-invalid]) [data-part=control]:hover{background-color:var( --slotted-date-range-picker-plain-hover-background, var(--slotted-tone-secondary-subtle-hover) );border-color:transparent}[data-ui=date-range-picker] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){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=date-range-picker][data-part=root][data-variant=plain] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){box-shadow:none;outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=date-range-picker][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-date-range-picker-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=date-range-picker][data-part=root][data-invalid] [data-part=control]{--_invalid-edge-width: var( --slotted-date-range-picker-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );--_invalid-edge-color: var( --slotted-date-range-picker-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-date-range-picker-invalid-border-color, var(--slotted-tone-danger-border) );box-shadow:var(--_invalid-edge)}[data-ui=date-range-picker][data-invalid] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){box-shadow:var(--_invalid-edge),var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight)}[data-ui=date-range-picker][data-part=root][data-variant=plain][data-invalid] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){box-shadow:inset 0 0 0 calc(var(--slotted-focus-ring-offset, 2px) - var(--_border-width) + var(--_invalid-edge-width)) var(--_invalid-edge-color)}@media(forced-colors:active){[data-ui=date-range-picker][data-part=root][data-invalid] [data-part=control]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--_border-width) + var(--_invalid-edge-width)))}[data-ui=date-range-picker][data-invalid] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){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=date-range-picker][data-part=root][data-variant=plain][data-invalid] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){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=date-range-picker][data-part=root][data-readonly] [data-part=control]{background-color:var( --slotted-date-range-picker-readonly-background, var(--slotted-tone-secondary-subtle-hover) );cursor:default}[data-ui=date-range-picker][data-part=root][data-disabled] [data-part=control]{background-color:var( --slotted-date-range-picker-disabled-background, var(--slotted-disabled-background) );border-color:var( --slotted-date-range-picker-disabled-border-color, var(--slotted-disabled-border) );box-shadow:none;color:var(--slotted-date-range-picker-disabled-color, var(--slotted-disabled-foreground));cursor:not-allowed}[data-ui=date-range-picker][data-part=root][data-disabled] [data-part=separator]{color:var(--slotted-disabled-foreground)}[data-ui=date-range-picker][data-part=positioner]{position:absolute;inset-block-start:0;box-sizing:border-box;isolation:isolate;pointer-events:none;z-index:calc(var(--slotted-z-index-popover, 1100) + var(--slotted-layer-depth, 0));--_enter-distance: var(--slotted-space-2, .25rem);opacity:0;translate:0 calc(-1 * var(--_enter-distance));transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit),translate var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=date-range-picker][data-part=positioner][data-side=top]{translate:0 var(--_enter-distance)}[data-ui=date-range-picker][data-part=positioner]:is([data-side=left],[data-side=right]){translate:0 0}[data-ui=date-range-picker][data-part=positioner][data-open]{opacity:1;translate:0 0;transition:none}[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned]{animation:slotted-date-range-picker-enter-down var(--slotted-duration-medium) var(--slotted-easing-enter)}[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned][data-side=top]{animation-name:slotted-date-range-picker-enter-up}[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned]:is([data-side=left],[data-side=right]){animation-name:slotted-date-range-picker-fade}@keyframes slotted-date-range-picker-enter-down{0%{opacity:0;translate:0 calc(-1 * var(--_enter-distance))}}@keyframes slotted-date-range-picker-enter-up{0%{opacity:0;translate:0 var(--_enter-distance)}}@keyframes slotted-date-range-picker-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){[data-ui=date-range-picker][data-part=positioner],[data-ui=date-range-picker][data-part=positioner][data-side=top],[data-ui=date-range-picker][data-part=positioner][data-side=left],[data-ui=date-range-picker][data-part=positioner][data-side=right]{translate:0 0;transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned],[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned][data-side=top],[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned][data-side=left],[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned][data-side=right]{animation-name:slotted-date-range-picker-fade}}[data-ui=date-range-picker][data-part=positioner][data-detached]{visibility:hidden}[data-ui=date-range-picker] [data-part=content]{background-color:var( --slotted-date-range-picker-surface, var(--slotted-surface-raised, Canvas) );border:var(--slotted-border-width-thin, 1px) solid var( --slotted-date-range-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );border-radius:var(--slotted-date-range-picker-content-radius, var(--slotted-radius-lg, 8px));box-shadow:var(--slotted-date-range-picker-content-shadow, var(--slotted-shadow-md));box-sizing:border-box;color:var(--slotted-date-range-picker-content-color, var(--slotted-text, CanvasText));display:grid;gap:var(--slotted-space-5, .75rem);grid-template-areas:\"head\" \"panels\" \"footer\";grid-template-columns:minmax(0,1fr);max-inline-size:var(--slotted-positioner-available-width, 100vw);padding:var(--slotted-date-range-picker-content-padding, var(--slotted-space-5, .75rem));pointer-events:auto}[data-ui=date-range-picker] [data-part=panels]{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--slotted-space-5, .75rem);grid-area:panels;min-inline-size:0}[data-ui=date-range-picker] [data-part=panels]>[data-ui=calendar]{flex:0 1 auto}[data-ui=date-range-picker] [data-part=head]{box-sizing:border-box;inline-size:0;min-inline-size:100%;align-items:baseline;border-block-end:var(--slotted-border-width-thin, 1px) solid var( --slotted-date-range-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );column-gap:var(--slotted-space-2, .25rem);display:flex;flex-wrap:wrap;grid-area:head;padding-block-end:var(--slotted-space-3, .375rem);row-gap:var(--slotted-space-1, .125rem)}[data-ui=date-range-picker] [data-part=head]>[data-part=head-start],[data-ui=date-range-picker] [data-part=head]>[data-part=head-end]{color:var(--slotted-date-range-picker-content-color, var(--slotted-text, CanvasText));font-size:var(--slotted-font-size-sm, 13px);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-medium, 500);unicode-bidi:plaintext;white-space:nowrap}[data-ui=date-range-picker] [data-part=head] :is([data-part=head-start],[data-part=head-end])[data-placeholder]{color:var(--slotted-date-range-picker-placeholder-color, var(--slotted-text-muted, GrayText));font-weight:var(--slotted-font-weight-regular, 400)}[data-ui=date-range-picker] [data-part=head] :is([data-part=head-start],[data-part=head-end])[data-pending]{color:var(--slotted-date-range-picker-pending-color, var(--slotted-tone-accent-text))}[data-ui=date-range-picker] [data-part=length]{color:var(--slotted-date-range-picker-length-color, var(--slotted-tone-accent-text));font-size:var(--slotted-font-size-sm, 13px);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-semibold, 600);margin-inline-start:auto;padding-inline-start:var(--slotted-space-4, .5rem);unicode-bidi:plaintext;white-space:nowrap}[data-ui=date-range-picker] [data-part=length][data-pending]{font-weight:var(--slotted-font-weight-medium, 500)}[data-ui=date-range-picker] [data-part=length]:empty:before{content:\"\\200b\"}[data-ui=date-range-picker] [data-part=limit]{color:var(--slotted-date-range-picker-limit-color, var(--slotted-text-muted, GrayText));flex-basis:100%;font-size:var(--slotted-font-size-xs, 11px);unicode-bidi:plaintext}[data-ui=date-range-picker] [data-part=presets]{align-items:stretch;display:flex;flex:1 0 auto;flex-direction:column;gap:var(--slotted-space-1, .125rem)}[data-ui=date-range-picker] [data-part=preset]{appearance:none;background-color:transparent;border:0;border-radius:var(--slotted-date-range-picker-radius, var(--slotted-control-radius, 4px));color:var(--slotted-date-range-picker-content-color, var(--slotted-text, CanvasText));cursor:pointer;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--slotted-font-size-sm, 13px);line-height:var(--slotted-line-height-sm, 1.4);min-block-size:var(--slotted-target-min, 24px);padding-block:var(--slotted-space-2, .25rem);padding-inline:var(--slotted-space-3, .375rem);text-align:start;touch-action:manipulation;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);white-space:nowrap;-webkit-tap-highlight-color:transparent}[data-ui=date-range-picker] [data-part=preset]:hover:not(:disabled):not([data-selected]){background-color:var( --slotted-date-range-picker-preset-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=date-range-picker] [data-part=preset]:active:not(:disabled):not([data-selected]){background-color:var( --slotted-date-range-picker-preset-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=date-range-picker] [data-part=preset][data-selected]{background-color:var( --slotted-date-range-picker-preset-selected-background, var(--slotted-tone-accent-subtle-hover) );color:var(--slotted-date-range-picker-preset-selected-color, var(--slotted-tone-accent-text));font-weight:var(--slotted-font-weight-medium, 500)}[data-ui=date-range-picker] [data-part=preset]: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=date-range-picker] [data-part=preset]:disabled{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=date-range-picker] [data-part=footer]{box-sizing:border-box;inline-size:0;min-inline-size:100%;align-items:center;border-block-start:var(--slotted-border-width-thin, 1px) solid var( --slotted-date-range-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );display:flex;gap:var(--slotted-space-2, .25rem);grid-area:footer;justify-content:flex-end;padding-block-start:var(--slotted-space-4, .5rem)}@media(max-width:480px)and (pointer:coarse){[data-ui=date-range-picker][data-part=positioner][data-presentation=sheet]{inset:auto 0 0;position:fixed;translate:0 var(--slotted-space-9, 2rem)}[data-ui=date-range-picker][data-part=positioner][data-presentation=sheet][data-open]{translate:0 0}[data-ui=date-range-picker][data-part=positioner][data-presentation=sheet] [data-part=content]{border-end-end-radius:0;border-end-start-radius:0;border-inline:0;border-block-end:0;inline-size:var(--slotted-date-range-picker-sheet-inline-size, 100%);max-inline-size:none;justify-content:center}[data-ui=date-range-picker][data-part=positioner][data-presentation=sheet] [data-part=presets]{flex-direction:row;flex-wrap:wrap}}@media(forced-colors:active){[data-ui=date-range-picker][data-part=root][data-variant=plain] [data-part=control]{border-color:ButtonBorder}[data-ui=date-range-picker] [data-part=start]:after,[data-ui=date-range-picker] [data-part=end]:after{forced-color-adjust:none}[data-ui=date-range-picker] [data-part=start]:after,[data-ui=date-range-picker] [data-part=end]:after{background-color:currentcolor}[data-ui=date-range-picker] [data-part=preset][data-selected]{background-color:Highlight;color:HighlightText;forced-color-adjust:none}}}\n"], dependencies: [{ kind: "component", type: SlCalendar, selector: "[slCalendar]", inputs: ["value", "defaultValue", "focusedDate", "defaultFocusedDate", "min", "max", "isDateUnavailable", "selectionMode", "months", "view", "defaultView", "weekNumbers", "fixedWeeks", "outsideDays", "locale", "timeZone", "firstDayOfWeek", "calendar", "disabled", "readOnly", "invalid", "messages"], outputs: ["valueChange", "focusedDateChange", "viewChange", "previewChange"], exportAs: ["slCalendar"] }, { kind: "component", type: SlDateField, selector: "[slDateField]", inputs: ["value", "defaultValue", "min", "max", "isDateUnavailable", "locale", "timeZone", "firstDayOfWeek", "yearPivot", "calendar", "size", "variant", "disabled", "readOnly", "invalid", "required", "clearable", "messages", "name", "label", "groupId"], outputs: ["valueChange"], exportAs: ["slDateField"] }, { kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
879
+ }`, isInline: true, styles: ["@layer slotted.components{[data-ui=date-range-picker][data-part=root]{display:block;inline-size:100%}[data-ui=date-range-picker] [data-part=control]{--_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: var(--slotted-control-icon-size-md, 16px);--_border-width: var(--slotted-control-border-width, 1px);--_action-size: var( --slotted-date-range-picker-action-size, min( calc(var(--_icon-size) + 2 * var(--slotted-space-2, .25rem)), calc(var(--_height) - var(--_border-width) * 2 - var(--slotted-space-2, .25rem)) ) );align-items:center;background-color:var( --slotted-date-range-picker-background, var(--slotted-control-surface, Field) );border:var(--_border-width) solid var( --slotted-date-range-picker-border-color, var(--slotted-control-border-color, ButtonBorder) );border-radius:var(--slotted-date-range-picker-radius, var(--slotted-control-radius, 4px));box-shadow:var(--slotted-date-range-picker-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;color:var(--slotted-date-range-picker-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(--slotted-space-1, .125rem);inline-size:100%;min-block-size:var(--_height);min-inline-size:0;padding-inline:var(--_padding-inline);position:relative;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=date-range-picker] [data-part=control]{--_action-inset: max( 0px, calc(var(--_padding-inline) - (var(--_action-size) - var(--_icon-size)) / 2) );--_actions: 1;padding-inline-end:calc(var(--_action-inset) + var(--_action-size) * var(--_actions) + var(--slotted-space-1, .125rem) * (var(--_actions) - 1) + var(--slotted-space-2, .25rem))}[data-ui=date-range-picker] [data-part=control]:has(>[data-part=clear]){--_actions: 2}[data-ui=date-range-picker][data-part=root][data-size=sm] [data-part=control]{--_font-size: var(--slotted-control-font-size-sm, 12px);--_height: var(--slotted-control-height-sm, 30px);--_padding-inline: var(--slotted-control-padding-inline-sm, 11px);--_gap: var(--slotted-control-gap-sm, 6px);--_icon-size: var(--slotted-control-icon-size-sm, 14px)}[data-ui=date-range-picker][data-part=root][data-size=lg] [data-part=control]{--_font-size: var(--slotted-control-font-size-lg, 14px);--_height: var(--slotted-control-height-lg, 38px);--_padding-inline: var(--slotted-control-padding-inline-lg, 15px);--_gap: var(--slotted-control-gap-lg, 10px);--_icon-size: var(--slotted-control-icon-size-lg, 18px)}[data-ui=date-range-picker][data-part=root][data-variant=subtle] [data-part=control]{background-color:var( --slotted-date-range-picker-subtle-background, var(--slotted-surface-sunken, Canvas) );border-color:var( --slotted-date-range-picker-subtle-border-color, var(--slotted-border-subtle, ButtonBorder) )}[data-ui=date-range-picker][data-part=root][data-variant=plain] [data-part=control]{background-color:transparent;border-color:transparent;border-radius:var(--slotted-radius-none, 0px);box-shadow:none}[data-ui=date-range-picker] [data-part=start],[data-ui=date-range-picker] [data-part=end]{--slotted-control-border-width: 0px;--slotted-control-padding-inline-sm: 0px;--slotted-control-padding-inline-md: 0px;--slotted-control-padding-inline-lg: 0px;--slotted-control-height-sm: calc(var(--_height) - var(--_border-width) * 2);--slotted-control-height-md: calc(var(--_height) - var(--_border-width) * 2);--slotted-control-height-lg: calc(var(--_height) - var(--_border-width) * 2);--slotted-date-field-plain-hover-background: transparent;--slotted-date-field-invalid-border-color: transparent;--slotted-date-field-shadow: none;--slotted-control-shadow-focus-geometry: 0 0 0 0;--slotted-focus-ring-width: 0px;display:flex;flex:0 1 auto;min-inline-size:0;position:relative}[data-ui=date-range-picker] [data-part=start]:after,[data-ui=date-range-picker] [data-part=end]:after{background-color:var( --slotted-date-range-picker-current-color, var(--slotted-tone-accent-solid) );block-size:var(--slotted-date-range-picker-current-size, 2px);border-start-end-radius:var(--slotted-radius-xs, 2px);border-start-start-radius:var(--slotted-radius-xs, 2px);content:\"\";inset-block-end:0;inset-inline:0;opacity:0;position:absolute;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=date-range-picker][data-part=root]:is([data-open],:has([data-part=control]:focus-within)) :is([data-part=start],[data-part=end])[data-current]:after{opacity:1}[data-ui=date-range-picker] [data-part=separator]{color:var(--slotted-date-range-picker-separator-color, var(--slotted-text-muted, GrayText));flex:0 0 auto;padding-inline:var(--slotted-space-2, .25rem);-webkit-user-select:none;user-select:none}[data-ui=date-range-picker] [data-part=clear],[data-ui=date-range-picker] [data-part=trigger]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var(--_action-size);border:0;border-radius:var(--slotted-date-range-picker-radius, var(--slotted-control-radius, 4px));color:var(--slotted-date-range-picker-action-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:0 0 auto;inline-size:var(--_action-size);inset-block-start:calc((var(--_height) - var(--_border-width) * 2 - var(--_action-size)) / 2);inset-inline-end:var(--_action-inset);justify-content:center;padding:0;position:absolute;touch-action:manipulation;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui=date-range-picker] [data-part=clear]{inset-inline-end:calc(var(--_action-inset) + var(--_action-size) + var(--slotted-space-1, .125rem))}[data-ui=date-range-picker] [data-part=clear]:after,[data-ui=date-range-picker] [data-part=trigger]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}@media(pointer:coarse){[data-ui=date-range-picker] :is([data-part=clear],[data-part=trigger]):after{inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2))}[data-ui=date-range-picker] [data-part=clear]:has(+[data-part=trigger]:not([hidden])):after{inset-inline-end:0}[data-ui=date-range-picker] [data-part=clear]:not([hidden])+[data-part=trigger]:after{inset-inline-start:0}}[data-ui=date-range-picker] [data-part=clear]:hover:not(:disabled):not([data-disabled]),[data-ui=date-range-picker] [data-part=trigger]:hover:not(:disabled):not([data-disabled]){background-color:var( --slotted-date-range-picker-action-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=date-range-picker] [data-part=clear]:active:not(:disabled):not([data-disabled]),[data-ui=date-range-picker] [data-part=trigger]:active:not(:disabled):not([data-disabled]){background-color:var( --slotted-date-range-picker-action-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=date-range-picker] [data-part=clear]:focus-visible,[data-ui=date-range-picker] [data-part=trigger]: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=date-range-picker] [data-part=clear]:disabled,[data-ui=date-range-picker] [data-part=trigger]:disabled{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=date-range-picker][data-part=root]:not([data-disabled]):not([data-readonly]):not([data-invalid]) [data-part=control]:hover{border-color:var( --slotted-date-range-picker-hover-border-color, var(--slotted-tone-accent-border) )}[data-ui=date-range-picker][data-part=root][data-variant=subtle]:not([data-disabled]):not([data-readonly]):not([data-invalid]) [data-part=control]:hover{background-color:var( --slotted-date-range-picker-subtle-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=date-range-picker][data-part=root][data-variant=plain]:not([data-disabled]):not([data-readonly]):not([data-invalid]) [data-part=control]:hover{background-color:var( --slotted-date-range-picker-plain-hover-background, var(--slotted-tone-secondary-subtle-hover) );border-color:transparent}[data-ui=date-range-picker] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){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=date-range-picker][data-part=root][data-variant=plain] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){box-shadow:none;outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}[data-ui=date-range-picker][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-date-range-picker-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=date-range-picker][data-part=root][data-invalid] [data-part=control]{--_invalid-edge-width: var( --slotted-date-range-picker-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );--_invalid-edge-color: var( --slotted-date-range-picker-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-date-range-picker-invalid-border-color, var(--slotted-tone-danger-border) );box-shadow:var(--_invalid-edge)}[data-ui=date-range-picker][data-invalid] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){box-shadow:var(--_invalid-edge),var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight)}[data-ui=date-range-picker][data-part=root][data-variant=plain][data-invalid] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){box-shadow:inset 0 0 0 calc(var(--slotted-focus-ring-offset, 2px) - var(--_border-width) + var(--_invalid-edge-width)) var(--_invalid-edge-color)}@media(forced-colors:active){[data-ui=date-range-picker][data-part=root][data-invalid] [data-part=control]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--_border-width) + var(--_invalid-edge-width)))}[data-ui=date-range-picker][data-invalid] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){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=date-range-picker][data-part=root][data-variant=plain][data-invalid] [data-part=control]:focus-within:not(:has(>[data-part=clear]:focus,>[data-part=trigger]:focus)){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=date-range-picker][data-part=root][data-readonly] [data-part=control]{background-color:var( --slotted-date-range-picker-readonly-background, var(--slotted-tone-secondary-subtle-hover) );cursor:default}[data-ui=date-range-picker][data-part=root][data-disabled] [data-part=control]{background-color:var( --slotted-date-range-picker-disabled-background, var(--slotted-disabled-background) );border-color:var( --slotted-date-range-picker-disabled-border-color, var(--slotted-disabled-border) );box-shadow:none;color:var(--slotted-date-range-picker-disabled-color, var(--slotted-disabled-foreground));cursor:not-allowed}[data-ui=date-range-picker][data-part=root][data-disabled] [data-part=separator]{color:var(--slotted-disabled-foreground)}[data-ui=date-range-picker][data-part=positioner]{position:absolute;inset-block-start:0;box-sizing:border-box;isolation:isolate;pointer-events:none;z-index:calc(var(--slotted-z-index-popover, 1100) + var(--slotted-layer-depth, 0));--_enter-distance: var(--slotted-space-2, .25rem);opacity:0;translate:0 calc(-1 * var(--_enter-distance));transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit),translate var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=date-range-picker][data-part=positioner][data-side=top]{translate:0 var(--_enter-distance)}[data-ui=date-range-picker][data-part=positioner]:is([data-side=left],[data-side=right]){translate:0 0}[data-ui=date-range-picker][data-part=positioner][data-open]{opacity:1;translate:0 0;transition:none}[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned]{animation:slotted-date-range-picker-enter-down var(--slotted-duration-medium) var(--slotted-easing-enter)}[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned][data-side=top]{animation-name:slotted-date-range-picker-enter-up}[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned]:is([data-side=left],[data-side=right]){animation-name:slotted-date-range-picker-fade}@keyframes slotted-date-range-picker-enter-down{0%{opacity:0;translate:0 calc(-1 * var(--_enter-distance))}}@keyframes slotted-date-range-picker-enter-up{0%{opacity:0;translate:0 var(--_enter-distance)}}@keyframes slotted-date-range-picker-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){[data-ui=date-range-picker][data-part=positioner],[data-ui=date-range-picker][data-part=positioner][data-side=top],[data-ui=date-range-picker][data-part=positioner][data-side=left],[data-ui=date-range-picker][data-part=positioner][data-side=right]{translate:0 0;transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned],[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned][data-side=top],[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned][data-side=left],[data-ui=date-range-picker][data-part=positioner][data-open][data-positioned][data-side=right]{animation-name:slotted-date-range-picker-fade}}[data-ui=date-range-picker][data-part=positioner][data-detached]{visibility:hidden}[data-ui=date-range-picker] [data-part=content]{background-color:var( --slotted-date-range-picker-surface, var(--slotted-surface-raised, Canvas) );border:var(--slotted-border-width-thin, 1px) solid var( --slotted-date-range-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );border-radius:var(--slotted-date-range-picker-content-radius, var(--slotted-radius-lg, 8px));box-shadow:var(--slotted-date-range-picker-content-shadow, var(--slotted-shadow-md));box-sizing:border-box;color:var(--slotted-date-range-picker-content-color, var(--slotted-text, CanvasText));display:grid;gap:var(--slotted-space-5, .75rem);grid-template-areas:\"head\" \"panels\" \"footer\";grid-template-columns:minmax(0,1fr);max-inline-size:var(--slotted-positioner-available-width, 100vw);padding:var(--slotted-date-range-picker-content-padding, var(--slotted-space-5, .75rem));pointer-events:auto}[data-ui=date-range-picker] [data-part=panels]{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--slotted-space-5, .75rem);grid-area:panels;min-inline-size:0}[data-ui=date-range-picker] [data-part=panels]>[data-ui=calendar]{flex:0 1 auto}[data-ui=date-range-picker] [data-part=head]{box-sizing:border-box;inline-size:0;min-inline-size:100%;align-items:baseline;border-block-end:var(--slotted-border-width-thin, 1px) solid var( --slotted-date-range-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );column-gap:var(--slotted-space-2, .25rem);display:flex;flex-wrap:wrap;grid-area:head;padding-block-end:var(--slotted-space-3, .375rem);row-gap:var(--slotted-space-1, .125rem)}[data-ui=date-range-picker] [data-part=head]>[data-part=head-start],[data-ui=date-range-picker] [data-part=head]>[data-part=head-end]{color:var(--slotted-date-range-picker-content-color, var(--slotted-text, CanvasText));font-size:var(--slotted-font-size-sm, 13px);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-medium, 500);unicode-bidi:plaintext;white-space:nowrap}[data-ui=date-range-picker] [data-part=head] :is([data-part=head-start],[data-part=head-end])[data-placeholder]{color:var(--slotted-date-range-picker-placeholder-color, var(--slotted-text-muted, GrayText));font-weight:var(--slotted-font-weight-regular, 400)}[data-ui=date-range-picker] [data-part=head] :is([data-part=head-start],[data-part=head-end])[data-pending]{color:var(--slotted-date-range-picker-pending-color, var(--slotted-tone-accent-text))}[data-ui=date-range-picker] [data-part=length]{color:var(--slotted-date-range-picker-length-color, var(--slotted-tone-accent-text));font-size:var(--slotted-font-size-sm, 13px);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-semibold, 600);margin-inline-start:auto;padding-inline-start:var(--slotted-space-4, .5rem);unicode-bidi:plaintext;white-space:nowrap}[data-ui=date-range-picker] [data-part=length][data-pending]{font-weight:var(--slotted-font-weight-medium, 500)}[data-ui=date-range-picker] [data-part=length]:empty:before{content:\"\\200b\"}[data-ui=date-range-picker] [data-part=limit]{color:var(--slotted-date-range-picker-limit-color, var(--slotted-text-muted, GrayText));flex-basis:100%;font-size:var(--slotted-font-size-xs, 11px);unicode-bidi:plaintext}[data-ui=date-range-picker] [data-part=presets]{align-items:stretch;display:flex;flex:1 0 auto;flex-direction:column;gap:var(--slotted-space-1, .125rem)}[data-ui=date-range-picker] [data-part=preset]{appearance:none;background-color:transparent;border:0;border-radius:var(--slotted-date-range-picker-radius, var(--slotted-control-radius, 4px));color:var(--slotted-date-range-picker-content-color, var(--slotted-text, CanvasText));cursor:pointer;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--slotted-font-size-sm, 13px);line-height:var(--slotted-line-height-sm, 1.4);min-block-size:var(--slotted-target-min, 24px);padding-block:var(--slotted-space-2, .25rem);padding-inline:var(--slotted-space-3, .375rem);text-align:start;touch-action:manipulation;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);white-space:nowrap;-webkit-tap-highlight-color:transparent}[data-ui=date-range-picker] [data-part=preset]:hover:not(:disabled):not([data-selected]){background-color:var( --slotted-date-range-picker-preset-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=date-range-picker] [data-part=preset]:active:not(:disabled):not([data-selected]){background-color:var( --slotted-date-range-picker-preset-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=date-range-picker] [data-part=preset][data-selected]{background-color:var( --slotted-date-range-picker-preset-selected-background, var(--slotted-tone-accent-subtle-hover) );color:var(--slotted-date-range-picker-preset-selected-color, var(--slotted-tone-accent-text));font-weight:var(--slotted-font-weight-medium, 500)}[data-ui=date-range-picker] [data-part=preset]: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=date-range-picker] [data-part=preset]:disabled{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=date-range-picker] [data-part=footer]{box-sizing:border-box;inline-size:0;min-inline-size:100%;align-items:center;border-block-start:var(--slotted-border-width-thin, 1px) solid var( --slotted-date-range-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );display:flex;gap:var(--slotted-space-2, .25rem);grid-area:footer;justify-content:flex-end;padding-block-start:var(--slotted-space-4, .5rem)}@media(max-width:480px)and (pointer:coarse){[data-ui=date-range-picker][data-part=positioner][data-presentation=sheet]{inset:auto 0 0;position:fixed;translate:0 var(--slotted-space-9, 2rem)}[data-ui=date-range-picker][data-part=positioner][data-presentation=sheet][data-open]{translate:0 0}[data-ui=date-range-picker][data-part=positioner][data-presentation=sheet] [data-part=content]{border-end-end-radius:0;border-end-start-radius:0;border-inline:0;border-block-end:0;inline-size:var(--slotted-date-range-picker-sheet-inline-size, 100%);max-inline-size:none;justify-content:center}[data-ui=date-range-picker][data-part=positioner][data-presentation=sheet] [data-part=presets]{flex-direction:row;flex-wrap:wrap}}@media(forced-colors:active){[data-ui=date-range-picker][data-part=root][data-variant=plain] [data-part=control]{border-color:ButtonBorder}[data-ui=date-range-picker] [data-part=start]:after,[data-ui=date-range-picker] [data-part=end]:after{forced-color-adjust:none}[data-ui=date-range-picker] [data-part=start]:after,[data-ui=date-range-picker] [data-part=end]:after{background-color:currentcolor}[data-ui=date-range-picker] [data-part=preset][data-selected]{background-color:Highlight;color:HighlightText;forced-color-adjust:none}}}\n"], dependencies: [{ kind: "component", type: SlCalendar, selector: "[slCalendar]", inputs: ["value", "defaultValue", "focusedDate", "defaultFocusedDate", "min", "max", "isDateUnavailable", "selectionMode", "months", "view", "defaultView", "granularity", "weekNumbers", "fixedWeeks", "outsideDays", "locale", "timeZone", "firstDayOfWeek", "calendar", "disabled", "readOnly", "invalid", "messages"], outputs: ["valueChange", "focusedDateChange", "viewChange", "previewChange"], exportAs: ["slCalendar"] }, { kind: "component", type: SlDateField, selector: "[slDateField]", inputs: ["value", "defaultValue", "granularity", "min", "max", "isDateUnavailable", "locale", "timeZone", "firstDayOfWeek", "yearPivot", "calendar", "size", "variant", "disabled", "readOnly", "invalid", "required", "clearable", "messages", "name", "label", "groupId"], outputs: ["valueChange"], exportAs: ["slDateField"] }, { kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
880
880
  }
881
881
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlDateRangePicker, decorators: [{
882
882
  type: Component,
@@ -1 +1 @@
1
- {"version":3,"file":"slotted-angular-date-range-picker.mjs","sources":["../../date-range-picker/src/date-range-picker-defaults.ts","../../date-range-picker/src/date-range-picker.ts","../../date-range-picker/src/date-range-picker-parts.ts","../../date-range-picker/src/slotted-angular-date-range-picker.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nexport type { DateRange } from '@slotted/angular/calendar';\n\n/** Where the surface opens, before the positioner has read the room. */\nexport type DateRangePickerPlacement =\n 'bottom-start' | 'bottom' | 'bottom-end' | 'top-start' | 'top' | 'top-end';\n\n/**\n * Whether choosing closes the surface. `auto` closes when the run becomes\n * whole — by the second press, or by a preset — and stays open after the\n * first, because the second press has to reach the same surface.\n */\nexport type DateRangePickerCloseOnSelect = 'auto' | 'always' | 'never';\n\nexport type DateRangePickerSize = 'sm' | 'md' | 'lg';\nexport type DateRangePickerVariant = 'outline' | 'subtle' | 'plain';\nexport type DateRangePickerCalendar = 'gregory';\n\n/**\n * What the length counts. A booking counts nights and a leave request counts\n * days, and the same pair of dates gives 4 or 5: the family names the unit\n * rather than choosing for the product. `days` counts both ends.\n */\nexport type DateRangePickerCount = 'days' | 'nights';\n\n/** The end being edited: the field carrying `data-current`, and the end the next press in the grid writes. */\nexport type DateRangePickerPosition = 'start' | 'end';\n\nexport interface DateRangePickerDefaults {\n calendar: DateRangePickerCalendar;\n closeOnSelect: DateRangePickerCloseOnSelect;\n count: DateRangePickerCount;\n months: number;\n placement: DateRangePickerPlacement;\n size: DateRangePickerSize;\n timeZone: string | undefined;\n variant: DateRangePickerVariant;\n}\n\nconst FALLBACK: DateRangePickerDefaults = {\n calendar: 'gregory',\n closeOnSelect: 'auto',\n count: 'days',\n months: 2,\n placement: 'bottom-start',\n size: 'md',\n timeZone: undefined,\n variant: 'outline',\n};\n\nexport const DATE_RANGE_PICKER_DEFAULTS = new InjectionToken<DateRangePickerDefaults>(\n 'slotted date range picker defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once what a run counts, which zone answers \"today\"\n * and how many months it shows — rather than repeating the same inputs on every\n * picker in a form. The locale that writes its dates and every word it says\n * come from the language in force (`provideSlotted`).\n */\nexport function provideDateRangePickerDefaults(defaults: Partial<DateRangePickerDefaults>) {\n return {\n provide: DATE_RANGE_PICKER_DEFAULTS,\n useFactory: (): DateRangePickerDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a range picker renders as here, before it states anything of its own. */\nexport function injectDateRangePickerDefaults(): DateRangePickerDefaults {\n return inject(DATE_RANGE_PICKER_DEFAULTS);\n}\n","import {\n blockedAround,\n compareDate,\n createDateFormat,\n isDateRefusedInRun,\n isSameDate,\n orderedRun,\n rangeLength,\n rangeProblems,\n} from '@slotted/core/date';\nimport type { PlainDate } from '@slotted/core/date';\nimport { createDismissableLayer } from '@slotted/core/dismissable-layer';\nimport { tabbables } from '@slotted/core/focus';\nimport type { DismissableLayerHandle } from '@slotted/core/dismissable-layer';\nimport { createPositioner } from '@slotted/core/positioner';\nimport type { PositionerHandle } from '@slotted/core/positioner';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n inject,\n Injector,\n input,\n numberAttribute,\n output,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport {\n dateRangePickerMessages,\n type DateRangePickerMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type {\n AbstractControl,\n ControlValueAccessor,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SlCalendar, isSameValue } from '@slotted/angular/calendar';\nimport type { CalendarValue, CalendarView, DateRange } from '@slotted/angular/calendar';\nimport { SlDateField } from '@slotted/angular/date-field';\nimport { SlField } from '@slotted/angular/field';\n\nimport { injectDateRangePickerDefaults } from './date-range-picker-defaults';\nimport type {\n DateRangePickerCalendar,\n DateRangePickerCloseOnSelect,\n DateRangePickerCount,\n DateRangePickerPlacement,\n DateRangePickerPosition,\n DateRangePickerSize,\n DateRangePickerVariant,\n} from './date-range-picker-defaults';\n\n/** The reasons the contract's `stateModel.open` lists, and no other. */\ntype OpenReason = Extract<\n ChangeReason,\n 'pointer' | 'keyboard' | 'escape' | 'outsidePress' | 'select'\n>;\n\n/**\n * Below this width, on a finger, the surface is a sheet rather than a popover.\n * The query is here as well as in the stylesheet because the DOM has to say\n * which presentation it is in, and a media query cannot write an attribute.\n */\nconst SHEET_QUERY = '(max-width: 480px) and (pointer: coarse)';\n/** How far `contiguous` looks for an unavailable day when no `maxLength` bounds it. */\nconst CONTIGUOUS_SEARCH = 366;\n/** The surface needs an identifier the trigger can point `aria-controls` at. */\nlet sequence = 0;\n\n/** The one word for nothing: a value whose both ends are `null` is `null`. */\nfunction normalize(range: DateRange | null | undefined): DateRange | null {\n return range === null || range === undefined || (range.start === null && range.end === null)\n ? null\n : range;\n}\n\n/**\n * Two date fields in one frame, a trigger, and `calendar` in range mode behind\n * them.\n *\n * **It composes the three and redraws none of them.** The two fields keep their\n * `data-ui` and so does the calendar; this family owns the frame, the trigger,\n * the layer, and the band that says what the reader has so far.\n *\n * **The band says how long the run is while it is being drawn.** The calendar\n * reports the pending end — the day under the pointer, or the focused day —\n * and `length` says \"4 nights\" for it, in a live region.\n *\n * **A press that leaves the run with one end is a draft, not the value.** The\n * second press emits the whole run; `Escape`, an outside press and the trigger\n * abandon the draft and the previous value stands.\n */\n@Component({\n selector: '[slDateRangePicker]',\n standalone: true,\n exportAs: 'slDateRangePicker',\n imports: [SlCalendar, SlDateField, SlGlyph, SlIcon],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlDateRangePicker), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlDateRangePicker), multi: true },\n ],\n template: `<div\n data-part=\"control\"\n [attr.role]=\"enclosing === null ? null : 'group'\"\n [attr.id]=\"enclosing?.ids()?.control ?? null\"\n [attr.aria-labelledby]=\"enclosing?.ids()?.label ?? null\"\n (keydown)=\"onControlKeyDown($event)\"\n (pointerdown)=\"pointerFocus = true\"\n (focusout)=\"onControlFocusOut($event)\"\n >\n <div\n data-part=\"start\"\n [attr.data-current]=\"currentPosition() === 'start' ? '' : null\"\n (focusin)=\"onFieldFocus('start', $event)\"\n >\n <div\n slDateField\n #startField=\"slDateField\"\n variant=\"plain\"\n [label]=\"t('start')\"\n [groupId]=\"contentId + '-start'\"\n [locale]=\"resolvedLocale()\"\n [timeZone]=\"resolvedTimeZone()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [yearPivot]=\"yearPivot()\"\n [calendar]=\"resolvedCalendar()\"\n [size]=\"resolvedSize()\"\n [min]=\"min()\"\n [max]=\"startMax()\"\n [isDateUnavailable]=\"isDateUnavailable()\"\n [name]=\"startName()\"\n [disabled]=\"resolvedDisabled()\"\n [readOnly]=\"resolvedReadOnly()\"\n [required]=\"resolvedRequired()\"\n [value]=\"start()\"\n (valueChange)=\"onFieldValue('start', $event)\"\n ></div>\n </div>\n <span data-part=\"separator\" aria-hidden=\"true\">–</span>\n <div\n data-part=\"end\"\n [attr.data-current]=\"currentPosition() === 'end' ? '' : null\"\n (focusin)=\"onFieldFocus('end', $event)\"\n >\n <div\n slDateField\n #endField=\"slDateField\"\n variant=\"plain\"\n [label]=\"t('end')\"\n [groupId]=\"contentId + '-end'\"\n [locale]=\"resolvedLocale()\"\n [timeZone]=\"resolvedTimeZone()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [yearPivot]=\"yearPivot()\"\n [calendar]=\"resolvedCalendar()\"\n [size]=\"resolvedSize()\"\n [min]=\"endMin()\"\n [max]=\"max()\"\n [isDateUnavailable]=\"isDateUnavailable()\"\n [invalid]=\"reversed() ? true : undefined\"\n [name]=\"endName()\"\n [disabled]=\"resolvedDisabled()\"\n [readOnly]=\"resolvedReadOnly()\"\n [required]=\"resolvedRequired()\"\n [value]=\"end()\"\n (valueChange)=\"onFieldValue('end', $event)\"\n ></div>\n </div>\n @if (clearable() && held() !== null) {\n <button\n data-part=\"clear\"\n type=\"button\"\n [attr.aria-label]=\"t('clear')\"\n [disabled]=\"!editable()\"\n (click)=\"clear($event)\"\n >\n <span slIcon><svg slGlyph name=\"x\"></svg></span>\n </button>\n }\n <button\n #trigger\n data-part=\"trigger\"\n type=\"button\"\n aria-haspopup=\"dialog\"\n [attr.aria-label]=\"triggerLabel()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? contentId : null\"\n [disabled]=\"!editable()\"\n (click)=\"toggle($event)\"\n >\n <span slIcon><svg slGlyph name=\"calendar\"></svg></span>\n </button>\n </div>\n\n @if (isOpen()) {\n <div\n #layer\n data-ui=\"date-range-picker\"\n data-part=\"positioner\"\n data-open\n [attr.data-presentation]=\"sheet() ? 'sheet' : 'popover'\"\n [attr.data-positioned]=\"positioned() ? '' : null\"\n >\n <div\n data-part=\"content\"\n role=\"dialog\"\n [attr.id]=\"contentId\"\n [attr.aria-label]=\"triggerLabel()\"\n (keydown)=\"onContentKeyDown($event)\"\n >\n <div data-part=\"head\">\n <span\n data-part=\"head-start\"\n [attr.data-placeholder]=\"shownStart() === null ? '' : null\"\n [attr.data-pending]=\"startPending() ? '' : null\"\n >{{ shownStart() === null ? t('start') : writeShort(shownStart()!) }}</span\n >\n –\n <span\n data-part=\"head-end\"\n [attr.data-placeholder]=\"shownEnd() === null ? '' : null\"\n [attr.data-pending]=\"endPending() ? '' : null\"\n >{{ shownEnd() === null ? t('end') : writeShort(shownEnd()!) }}</span\n >\n <span\n data-part=\"length\"\n aria-live=\"polite\"\n [attr.data-pending]=\"pendingRun() === null ? null : ''\"\n >{{ spokenLength() }}</span\n >\n @if (limitText() !== null) {\n <span data-part=\"limit\">{{ limitText() }}</span>\n }\n </div>\n <div data-part=\"panels\">\n <ng-content select=\"[slDateRangePickerPresets]\" />\n <div\n slCalendar\n #calendar=\"slCalendar\"\n selectionMode=\"range\"\n [locale]=\"resolvedLocale()\"\n [timeZone]=\"resolvedTimeZone()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [isDateUnavailable]=\"gridUnavailable()\"\n [months]=\"resolvedMonths()\"\n [weekNumbers]=\"weekNumbers()\"\n [fixedWeeks]=\"fixedWeeks()\"\n [readOnly]=\"resolvedReadOnly()\"\n [value]=\"calendarValue()\"\n [view]=\"view()\"\n (viewChange)=\"view.set($event)\"\n (previewChange)=\"preview.set($event)\"\n (valueChange)=\"onCalendarValue($event)\"\n ></div>\n </div>\n <ng-content select=\"[slDateRangePickerFooter]\" />\n </div>\n </div>\n }`,\n styleUrl: '../../../styles/src/date-range-picker/date-range-picker.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'date-range-picker',\n 'data-part': 'root',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-calendar]': 'resolvedCalendar()',\n '[attr.data-count]': 'resolvedCount()',\n '[attr.data-open]': \"isOpen() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.data-required]': \"resolvedRequired() === true ? '' : null\",\n },\n})\nexport class SlDateRangePicker implements ControlValueAccessor, Validator, OnInit {\n readonly value = input<DateRange | null | undefined>(undefined);\n readonly defaultValue = input<DateRange | null | undefined>(undefined);\n /** Present means the consumer owns whether the surface is showing. */\n readonly open = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly defaultOpen = input(false, { transform: booleanAttribute });\n /** Present means the consumer owns which end is being edited. */\n readonly position = input<DateRangePickerPosition | undefined>(undefined);\n readonly defaultPosition = input<DateRangePickerPosition>('start');\n\n readonly min = input<PlainDate | undefined>(undefined);\n readonly max = input<PlainDate | undefined>(undefined);\n readonly isDateUnavailable = input<((date: PlainDate) => boolean) | undefined>(undefined);\n /**\n * Whether a run may cross an unavailable day. On, and with a start chosen,\n * the days beyond the first unavailable one are unavailable too, and a typed\n * run that crosses one is invalid; off, the run may jump over it and only\n * its two ends are checked.\n */\n readonly contiguous = input(true, { transform: booleanAttribute });\n /** The shortest and longest run allowed, in the unit `count` names. */\n readonly minLength = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly maxLength = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly count = input<DateRangePickerCount | undefined>(undefined);\n\n readonly months = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly weekNumbers = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /** Six rows whatever the month needs, so a press of \"next\" moves no target. */\n readonly fixedWeeks = input(true, { transform: booleanAttribute });\n\n /** BCP 47. Writes both fields, the grid and the trigger's dates. Unset, the language in force decides. */\n readonly locale = input<string | undefined>(undefined);\n readonly timeZone = input<string | undefined>(undefined);\n readonly firstDayOfWeek = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly yearPivot = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly calendar = input<DateRangePickerCalendar | undefined>(undefined);\n\n readonly size = input<DateRangePickerSize | undefined>(undefined);\n readonly variant = input<DateRangePickerVariant | undefined>(undefined);\n readonly placement = input<DateRangePickerPlacement | undefined>(undefined);\n readonly closeOnSelect = input<DateRangePickerCloseOnSelect | undefined>(undefined);\n\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly required = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /** Draws one clear on the frame, which empties both ends. */\n readonly clearable = input(false, { transform: booleanAttribute });\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * trigger's two names, the clear, the names of the two ends, and the\n * phrases that count the run (`days.length`, `nights.between`, …).\n */\n readonly messages = input<PartialMessages<DateRangePickerMessages> | undefined>(undefined);\n /** The names of the two hidden inputs a plain form post reads. */\n readonly startName = input<string | undefined>(undefined);\n readonly endName = input<string | undefined>(undefined);\n\n readonly valueChange = output<ChangeRequest<DateRange | null>>();\n readonly openChange = output<ChangeRequest<boolean>>();\n readonly positionChange = output<ChangeRequest<DateRangePickerPosition>>();\n\n @ViewChild('layer') protected layer?: ElementRef<HTMLElement>;\n @ViewChild('trigger') protected triggerRef?: ElementRef<HTMLButtonElement>;\n @ViewChild('startField') protected startField?: SlDateField;\n @ViewChild('endField') protected endField?: SlDateField;\n @ViewChild('calendar') protected calendarRef?: SlCalendar;\n\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n protected readonly defaults = injectDateRangePickerDefaults();\n private readonly appLocale = injectLocale();\n /** The family's words in the language in force, with this picker's `messages` laid over them. */\n readonly t = injectMessages(dateRangePickerMessages, this.messages);\n private readonly injector = inject(Injector);\n private readonly destroyRef = inject(DestroyRef);\n /**\n * The field around it. Inside one, the frame takes the field's control\n * identifier and its label, and the two ends inside it keep their own\n * names: two date fields each taking the field's identifier wrote it twice\n * and left the label naming neither.\n */\n protected readonly enclosing = inject(SlField, { optional: true });\n\n protected readonly contentId = `sl-date-range-picker-${String((sequence += 1))}`;\n\n private readonly ownOpen = signal(false);\n private readonly ownValue = signal<DateRange | null>(null);\n private readonly ownPosition = signal<DateRangePickerPosition>('start');\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n protected readonly view = signal<CalendarView>('day');\n protected readonly positioned = signal(false);\n protected readonly sheet = signal(false);\n /**\n * The start the reader pressed in the grid while the run is still open. It\n * is not the value: a half-drawn run never reaches a form without the reader\n * having seen it in the field.\n */\n private readonly draft = signal<PlainDate | null>(null);\n /** The pending end the calendar reports, or `null` while no run is open. */\n protected readonly preview = signal<PlainDate | null>(null);\n /** A pointer press before focus names the reason a field became current. */\n protected pointerFocus = false;\n /**\n * Whether the next opening moves focus into the calendar. Set by the trigger\n * and by `openSurface()`; the chord leaves focus in the field so typing keeps\n * working, and a first render that starts open leaves focus where the page\n * put it.\n */\n private focusOnOpen = false;\n\n private positioner: PositionerHandle | null = null;\n private dismissable: DismissableLayerHandle | null = null;\n\n private onChangeFn: (value: DateRange | null) => void = () => undefined;\n /** Whether a form model holds the value, and answers a reset through `writeValue`. */\n private formBound = false;\n private onTouchedFn: () => void = () => undefined;\n private onValidatorChangeFn: () => void = () => undefined;\n\n protected readonly isOpen = computed(() => this.open() ?? this.ownOpen());\n protected readonly held = computed(() => {\n const value = this.value();\n return value === undefined ? this.ownValue() : normalize(value);\n });\n /** The range the picker holds. Public, so a preset can compare itself to it. */\n readonly selection = computed(() => this.held());\n protected readonly currentPosition = computed(() => this.position() ?? this.ownPosition());\n protected readonly start = computed(() => this.held()?.start ?? null);\n protected readonly end = computed(() => this.held()?.end ?? null);\n private readonly ordered = computed(() => {\n const start = this.start();\n const end = this.end();\n return start !== null && end !== null && compareDate(start, end) <= 0;\n });\n protected readonly reversed = computed(() => this.problems().includes('order'));\n\n protected readonly resolvedLocale = computed(() => this.locale() ?? this.appLocale());\n protected readonly resolvedTimeZone = computed(() => this.timeZone() ?? this.defaults.timeZone);\n protected readonly resolvedCalendar = computed(() => this.calendar() ?? this.defaults.calendar);\n protected readonly resolvedSize = computed(\n () => this.size() ?? this.enclosing?.resolvedSize() ?? this.defaults.size,\n );\n protected readonly resolvedVariant = computed(() => this.variant() ?? this.defaults.variant);\n protected readonly resolvedPlacement = computed(\n () => this.placement() ?? this.defaults.placement,\n );\n protected readonly resolvedCount = computed(() => this.count() ?? this.defaults.count);\n protected readonly resolvedMonths = computed(() => this.months() ?? this.defaults.months);\n protected readonly resolvedDisabled = computed(\n () => this.disabled() ?? this.formDisabled() ?? this.enclosing?.resolvedDisabled(),\n );\n protected readonly resolvedReadOnly = computed(\n () => this.readOnly() ?? this.enclosing?.resolvedReadOnly(),\n );\n protected readonly resolvedRequired = computed(\n () => this.required() ?? this.enclosing?.required(),\n );\n protected readonly editable = computed(\n () => this.resolvedDisabled() !== true && this.resolvedReadOnly() !== true,\n );\n\n /**\n * Validity the family owns, beside the validity the consumer states: the\n * bounds, the predicate over every day of the run, the order of the two\n * ends and the length.\n */\n private readonly problems = computed(() =>\n rangeProblems(this.held(), {\n contiguous: this.contiguous(),\n count: this.resolvedCount(),\n max: this.max(),\n maxLength: this.maxLength(),\n min: this.min(),\n minLength: this.minLength(),\n unavailable: this.isDateUnavailable(),\n }),\n );\n protected readonly resolvedInvalid = computed(() => {\n if (this.invalid() !== undefined) return this.invalid();\n if (this.problems().length > 0) return true;\n return this.enclosing?.invalid();\n });\n\n /* Crossed bounds, while the order holds: the start cannot step past the\n end nor the end before the start. Reversed, each field keeps the outer\n bounds and the end field alone says the order is wrong. */\n protected readonly startMax = computed(() => {\n const end = this.end();\n const max = this.max();\n if (!this.ordered() || end === null) return max;\n return max === undefined || compareDate(end, max) < 0 ? end : max;\n });\n protected readonly endMin = computed(() => {\n const start = this.start();\n const min = this.min();\n if (!this.ordered() || start === null) return min;\n return min === undefined || compareDate(start, min) > 0 ? start : min;\n });\n\n /**\n * What the calendar is shown. A pressed start replaces the value while the\n * run is open; with the end as the current position, the end is withheld so\n * the next press writes it instead of restarting the run.\n */\n protected readonly calendarValue = computed<CalendarValue>(() => {\n const draft = this.draft();\n if (draft !== null) return { start: draft, end: null };\n const start = this.start();\n if (this.currentPosition() === 'end' && start !== null) return { start, end: null };\n return this.held();\n });\n private readonly openStart = computed(() => {\n const value = this.calendarValue();\n if (value === null || Array.isArray(value) || !('start' in value)) return null;\n return value.end === null ? value.start : null;\n });\n\n /** The block on either side of the chosen start, found once per start. */\n private readonly blocked = computed(() => {\n const openStart = this.openStart();\n if (openStart === null || !this.contiguous()) return { before: null, after: null };\n return blockedAround(\n openStart,\n this.isDateUnavailable() ?? (() => false),\n this.maxLength() ?? CONTIGUOUS_SEARCH,\n );\n });\n protected readonly gridUnavailable = computed(() => {\n const openStart = this.openStart();\n const unavailable = this.isDateUnavailable();\n if (openStart === null) return unavailable;\n const rules = {\n contiguous: this.contiguous(),\n count: this.resolvedCount(),\n maxLength: this.maxLength(),\n minLength: this.minLength(),\n unavailable,\n };\n const blocked = this.blocked();\n return (date: PlainDate) => isDateRefusedInRun(openStart, date, rules, blocked);\n });\n\n /** The run as it would close on the pending end. */\n protected readonly pendingRun = computed(() => {\n const openStart = this.openStart();\n const preview = this.preview();\n return openStart !== null && preview !== null ? orderedRun(openStart, preview) : null;\n });\n protected readonly shownStart = computed(\n () => this.pendingRun()?.start ?? this.draft() ?? this.start(),\n );\n protected readonly shownEnd = computed(\n () => this.pendingRun()?.end ?? (this.draft() !== null ? null : this.end()),\n );\n protected readonly startPending = computed(() => {\n const pending = this.pendingRun();\n return pending !== null && !isSameDate(pending.start, this.openStart());\n });\n protected readonly endPending = computed(\n () => this.pendingRun() !== null && !this.startPending(),\n );\n\n /** \"4 nights\": the run's length, in the unit `count` names. */\n protected readonly spokenLength = computed(() => {\n const count = this.resolvedCount();\n const length = (days: number) => this.t(`${count}.length` as const, { count: days });\n const pending = this.pendingRun();\n if (pending !== null) return length(rangeLength(pending.start, pending.end, count));\n const start = this.start();\n const end = this.end();\n if (this.ordered() && start !== null && end !== null) {\n return length(rangeLength(start, end, count));\n }\n return '';\n });\n /** \"2 to 7 nights\", \"at least 2 nights\", \"at most 7 nights\". */\n protected readonly limitText = computed(() => {\n const min = this.minLength();\n const max = this.maxLength();\n const count = this.resolvedCount();\n if (min !== undefined && max !== undefined) {\n return this.t(`${count}.between` as const, { min, max });\n }\n if (min !== undefined) return this.t(`${count}.atLeast` as const, { min });\n if (max !== undefined) return this.t(`${count}.atMost` as const, { max });\n return null;\n });\n\n /** The trigger's accessible name: focus returns here when the surface closes. */\n protected readonly triggerLabel = computed(() => {\n const start = this.start();\n const end = this.end();\n if (!this.ordered() || start === null || end === null) {\n return this.t('choose');\n }\n const format = createDateFormat({ locale: this.resolvedLocale() });\n return this.t('change', {\n start: format.describe(start),\n end: format.describe(end),\n length: this.spokenLength(),\n });\n });\n\n /* The band writes each end short — \"12 Sep\" — because the whole date in\n words is the trigger's, and a band that repeats it twice runs past the\n panel at 240 pixels. */\n private readonly short = computed(\n () =>\n new Intl.DateTimeFormat(this.resolvedLocale(), {\n day: 'numeric',\n month: 'short',\n timeZone: 'UTC',\n }),\n );\n\n constructor() {\n /* The layer is created and torn down with the surface, not with the\n component: a layer that outlived its content would hold a place in the\n single stack that nothing occupies. */\n effect(() => {\n const open = this.isOpen();\n if (!open) {\n this.release();\n this.draft.set(null);\n return;\n }\n afterNextRender(() => this.attach(), { injector: this.injector });\n });\n\n /* A rule that changed is a validity that changed, and the form is told. */\n effect(() => {\n this.problems();\n this.onValidatorChangeFn();\n });\n\n this.destroyRef.onDestroy(() => this.release());\n }\n\n ngOnInit() {\n this.ownOpen.set(this.defaultOpen());\n this.ownValue.set(normalize(this.defaultValue()));\n this.ownPosition.set(this.defaultPosition());\n\n /* A native reset restores the hidden inputs and tells nothing, so the\n picker would keep the last run chosen in a form that had been reset. The\n value returns to `defaultValue` through `valueChange`, reason\n `programmatic`, and a start pressed in the grid without its end is\n dropped with it. A picker bound to a form model takes the model's reset\n value through `writeValue` instead. */\n const form = this.element.closest('form');\n if (form !== null) {\n const onReset = (event: Event) => {\n if (this.formBound) return;\n this.draft.set(null);\n this.commit(this.defaultValue() ?? null, 'programmatic', event);\n };\n form.addEventListener('reset', onReset);\n this.destroyRef.onDestroy(() => form.removeEventListener('reset', onReset));\n }\n\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return;\n const query = window.matchMedia(SHEET_QUERY);\n const read = () => this.sheet.set(query.matches);\n read();\n query.addEventListener('change', read);\n this.destroyRef.onDestroy(() => query.removeEventListener('change', read));\n }\n\n /* ── Forms ─────────────────────────────────────────────────────────── */\n\n writeValue(value: DateRange | null | undefined) {\n this.ownValue.set(normalize(value));\n }\n\n registerOnChange(fn: (value: DateRange | null) => void) {\n this.onChangeFn = fn;\n this.formBound = true;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n registerOnValidatorChange(fn: () => void) {\n this.onValidatorChangeFn = fn;\n }\n\n /**\n * The rules no other validator can see: the bounds, the predicate over the\n * run, the order of the two ends and the length. `required` is left to\n * Angular's own, because a form already has a word for it.\n */\n validate(control: AbstractControl): ValidationErrors | null {\n const value = normalize(control.value as DateRange | null | undefined);\n if (value === null) return null;\n const problems = rangeProblems(value, {\n contiguous: this.contiguous(),\n count: this.resolvedCount(),\n max: this.max(),\n maxLength: this.maxLength(),\n min: this.min(),\n minLength: this.minLength(),\n unavailable: this.isDateUnavailable(),\n });\n if (problems.length === 0) return null;\n const errors: ValidationErrors = {};\n if (problems.includes('order')) errors['slottedDateRangeOrder'] = { actual: value };\n if (problems.includes('min'))\n errors['slottedDateRangeMin'] = { min: this.min(), actual: value };\n if (problems.includes('max'))\n errors['slottedDateRangeMax'] = { max: this.max(), actual: value };\n if (problems.includes('unavailable')) errors['slottedDateRangeUnavailable'] = { actual: value };\n if (problems.includes('length')) {\n errors['slottedDateRangeLength'] = {\n minLength: this.minLength(),\n maxLength: this.maxLength(),\n actual: value,\n };\n }\n return errors;\n }\n\n /* ── Imperative ────────────────────────────────────────────────────── */\n\n /** Puts focus on the first segment of one end; the current end by default. */\n focus(position: DateRangePickerPosition = this.currentPosition()) {\n (position === 'end' ? this.endField : this.startField)?.focus();\n }\n\n openSurface(source?: Event) {\n this.setOpen(true, 'keyboard', source, true);\n }\n\n closeSurface(source?: Event) {\n this.setOpen(false, 'keyboard', source);\n }\n\n /** A preset writes its range through here, with the `select` reason. */\n choose(range: DateRange, source?: Event) {\n this.draft.set(null);\n this.commit(range, 'select', source);\n this.setPosition('start', 'select', source);\n this.closeAfter(true, source);\n }\n\n /* ── Handlers ──────────────────────────────────────────────────────── */\n\n protected writeShort(date: PlainDate): string {\n return this.short().format(Date.UTC(date.year, date.month - 1, date.day));\n }\n\n protected toggle(source: Event) {\n this.setOpen(!this.isOpen(), 'pointer', source, true);\n }\n\n /** Tab and Shift+Tab wrap inside the surface while it is open. */\n protected onContentKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Tab' || event.altKey || event.ctrlKey || event.metaKey) return;\n const content = event.currentTarget as HTMLElement;\n const items = tabbables(content);\n const first = items[0];\n const last = items[items.length - 1];\n if (first === undefined || last === undefined) return;\n const current = content.ownerDocument.activeElement;\n if (event.shiftKey && current === first) {\n event.preventDefault();\n last.focus();\n } else if (!event.shiftKey && current === last) {\n event.preventDefault();\n first.focus();\n }\n }\n\n protected clear(source: Event) {\n this.commit(null, 'clear', source);\n this.setPosition('start', 'clear', source);\n this.focus('start');\n }\n\n protected onControlKeyDown(event: KeyboardEvent) {\n if (!this.editable()) return;\n /* ChromeOS turns the chord into PageDown before the browser sees it, which\n is why the trigger button is always drawn and this is only a shortcut. */\n if (event.altKey && event.key === 'ArrowDown') {\n event.preventDefault();\n this.setOpen(true, 'keyboard', event);\n }\n }\n\n protected onFieldFocus(which: DateRangePickerPosition, source: Event) {\n const reason: ChangeReason = this.pointerFocus ? 'pointer' : 'keyboard';\n this.pointerFocus = false;\n if (which !== this.currentPosition()) this.setPosition(which, reason, source);\n }\n\n protected onControlFocusOut(event: FocusEvent) {\n const next = event.relatedTarget;\n if (next instanceof Node && this.element.contains(next)) return;\n this.onTouchedFn();\n }\n\n protected onFieldValue(\n which: DateRangePickerPosition,\n request: { value: PlainDate | null; reason: ChangeReason; source?: unknown },\n ) {\n const next =\n which === 'start'\n ? { start: request.value, end: this.end() }\n : { start: this.start(), end: request.value };\n this.commit(next, request.reason, request.source);\n }\n\n protected onCalendarValue(request: ChangeRequest<CalendarValue>) {\n const next = request.value;\n if (next === null || Array.isArray(next) || !('start' in next)) return;\n if (next.end === null) {\n /* The first press: a draft, and the next press writes the end. */\n this.draft.set(next.start);\n this.setPosition('end', 'select', request.source);\n this.closeAfter(false, request.source);\n return;\n }\n this.draft.set(null);\n this.commit(next, 'select', request.source);\n this.setPosition('start', 'select', request.source);\n this.closeAfter(true, request.source);\n }\n\n private closeAfter(whole: boolean, source: unknown) {\n const axis = this.closeOnSelect() ?? this.defaults.closeOnSelect;\n if (!(axis === 'always' || (axis === 'auto' && whole))) return;\n this.setOpen(false, 'select', source);\n this.triggerRef?.nativeElement.focus({ preventScroll: true });\n }\n\n private commit(next: DateRange | null, reason: ChangeReason, source: unknown) {\n const normalized = normalize(next);\n let cancelled = false;\n const state = createControllable<DateRange | null>({\n controlled: this.value() === undefined ? undefined : this.held(),\n initial: this.held(),\n equals: (a, b) => isSameValue(a, b),\n onRequest: (request) => {\n this.valueChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n if (!state.request(normalized, reason, source) || cancelled) return;\n if (this.value() === undefined) this.ownValue.set(normalized);\n this.onChangeFn(normalized);\n }\n\n private setPosition(next: DateRangePickerPosition, reason: ChangeReason, source: unknown) {\n const state = createControllable<DateRangePickerPosition>({\n controlled: this.position(),\n initial: this.currentPosition(),\n onRequest: (request) => this.positionChange.emit(request),\n });\n if (state.request(next, reason, source)) this.ownPosition.set(next);\n }\n\n private setOpen(next: boolean, reason: OpenReason, source: unknown, moveFocus = false) {\n const state = createControllable<boolean>({\n controlled: this.open(),\n initial: this.isOpen(),\n onRequest: (request) => {\n this.openChange.emit(request);\n this.focusOnOpen = moveFocus && request.value && !request.cancelled;\n },\n });\n if (state.request(next, reason, source)) this.ownOpen.set(next);\n }\n\n /** Places the layer and puts it in the single stack. */\n private attach() {\n const layer = this.layer?.nativeElement;\n if (layer === undefined) return;\n this.release();\n\n if (!this.sheet()) {\n const anchor =\n this.element.querySelector<HTMLElement>('[data-part=\"control\"]') ?? this.element;\n const [side, align] = this.resolvedPlacement().split('-') as [\n 'top' | 'bottom',\n 'start' | 'end' | undefined,\n ];\n this.positioner = createPositioner(anchor, layer, { align: align ?? 'center', side });\n void this.positioner.update().then(() => this.positioned.set(true));\n }\n\n const trigger = this.triggerRef?.nativeElement;\n this.dismissable = createDismissableLayer(layer, {\n branches: trigger === undefined ? [] : [trigger],\n escape: true,\n focusOutside: false,\n modal: false,\n outsidePress: true,\n scrollLock: false,\n onDismiss: (request) => {\n /* The view first, the surface second: the layer asks in the capture\n phase, so the decision is taken here and the layer simply not asked. */\n if (request.reason === 'escape' && this.view() !== 'day') {\n this.view.set(this.view() === 'year' ? 'month' : 'day');\n return;\n }\n this.setOpen(\n false,\n request.reason === 'escape' ? 'escape' : 'outsidePress',\n request.source,\n );\n if (request.reason === 'escape') {\n this.triggerRef?.nativeElement.focus({ preventScroll: true });\n }\n },\n });\n\n /* Opened from the trigger or the handle, focus lands on the cell of the\n current end, or on today when it is empty — the APG's rule for its\n \"Choose Date\" button. The grid pages to that cell first, and focus waits\n for the render that draws it. Opened with the chord, focus stays in the\n field so typing keeps working. */\n if (this.focusOnOpen) {\n this.focusOnOpen = false;\n const target = this.currentPosition() === 'end' ? this.end() : this.start();\n if (target !== null) this.calendarRef?.focusDate(target);\n afterNextRender(\n () =>\n layer\n .querySelector<HTMLElement>('[data-part=\"day\"][tabindex=\"0\"]')\n ?.focus({ preventScroll: true }),\n { injector: this.injector },\n );\n }\n }\n\n private release() {\n this.positioner?.destroy();\n this.positioner = null;\n this.dismissable?.destroy();\n this.dismissable = null;\n this.positioned.set(false);\n }\n}\n\n/**\n * One shortcut. It writes its range with the `select` reason and carries\n * `data-selected` while the value equals it. The list is the product's — \"last\n * 7 days\" is a business calendar — and the family ships the button, not the\n * list.\n */\n@Directive({\n selector: 'button[slDateRangePickerPreset]',\n standalone: true,\n exportAs: 'slDateRangePickerPreset',\n host: {\n 'data-part': 'preset',\n type: 'button',\n '[attr.data-selected]': \"selected() ? '' : null\",\n '(click)': 'choose($event)',\n },\n})\nexport class SlDateRangePickerPreset {\n /** The range the press writes, or a function resolving it at the press. */\n readonly range = input.required<DateRange | (() => DateRange)>({\n alias: 'slDateRangePickerPreset',\n });\n\n private readonly picker = inject(SlDateRangePicker);\n\n protected readonly selected = computed(() => {\n const range = this.range();\n return isSameValue(this.picker.selection(), typeof range === 'function' ? range() : range);\n });\n\n protected choose(event: Event) {\n if (event.defaultPrevented) return;\n const range = this.range();\n this.picker.choose(typeof range === 'function' ? range() : range, event);\n }\n}\n","import { Directive } from '@angular/core';\n\n/**\n * The consumer's own shortcuts, beside the grid where there is room and above\n * it where there is not. Each one is a `slDateRangePickerPreset` button.\n */\n@Directive({\n selector: '[slDateRangePickerPresets]',\n standalone: true,\n exportAs: 'slDateRangePickerPresets',\n host: { 'data-part': 'presets' },\n})\nexport class SlDateRangePickerPresets {}\n\n/** The consumer's own actions, under whatever the surface is holding. */\n@Directive({\n selector: '[slDateRangePickerFooter]',\n standalone: true,\n exportAs: 'slDateRangePickerFooter',\n host: { 'data-part': 'footer' },\n})\nexport class SlDateRangePickerFooter {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slotted-angular-date-range-picker.mjs","sources":["../../date-range-picker/src/date-range-picker-defaults.ts","../../date-range-picker/src/date-range-picker.ts","../../date-range-picker/src/date-range-picker-parts.ts","../../date-range-picker/src/slotted-angular-date-range-picker.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\nexport type { DateRange } from '@slotted/angular/calendar';\n\n/** Where the surface opens, before the positioner has read the room. */\nexport type DateRangePickerPlacement =\n 'bottom-start' | 'bottom' | 'bottom-end' | 'top-start' | 'top' | 'top-end';\n\n/**\n * Whether choosing closes the surface. `auto` closes when the run becomes\n * whole — by the second press, or by a preset — and stays open after the\n * first, because the second press has to reach the same surface.\n */\nexport type DateRangePickerCloseOnSelect = 'auto' | 'always' | 'never';\n\nexport type DateRangePickerSize = 'sm' | 'md' | 'lg';\nexport type DateRangePickerVariant = 'outline' | 'subtle' | 'plain';\nexport type DateRangePickerCalendar = 'gregory';\n\n/**\n * What the length counts. A booking counts nights and a leave request counts\n * days, and the same pair of dates gives 4 or 5: the family names the unit\n * rather than choosing for the product. `days` counts both ends.\n */\nexport type DateRangePickerCount = 'days' | 'nights';\n\n/** The end being edited: the field carrying `data-current`, and the end the next press in the grid writes. */\nexport type DateRangePickerPosition = 'start' | 'end';\n\nexport interface DateRangePickerDefaults {\n calendar: DateRangePickerCalendar;\n closeOnSelect: DateRangePickerCloseOnSelect;\n count: DateRangePickerCount;\n months: number;\n placement: DateRangePickerPlacement;\n size: DateRangePickerSize;\n timeZone: string | undefined;\n variant: DateRangePickerVariant;\n}\n\nconst FALLBACK: DateRangePickerDefaults = {\n calendar: 'gregory',\n closeOnSelect: 'auto',\n count: 'days',\n months: 2,\n placement: 'bottom-start',\n size: 'md',\n timeZone: undefined,\n variant: 'outline',\n};\n\nexport const DATE_RANGE_PICKER_DEFAULTS = new InjectionToken<DateRangePickerDefaults>(\n 'slotted date range picker defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once what a run counts, which zone answers \"today\"\n * and how many months it shows — rather than repeating the same inputs on every\n * picker in a form. The locale that writes its dates and every word it says\n * come from the language in force (`provideSlotted`).\n */\nexport function provideDateRangePickerDefaults(defaults: Partial<DateRangePickerDefaults>) {\n return {\n provide: DATE_RANGE_PICKER_DEFAULTS,\n useFactory: (): DateRangePickerDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a range picker renders as here, before it states anything of its own. */\nexport function injectDateRangePickerDefaults(): DateRangePickerDefaults {\n return inject(DATE_RANGE_PICKER_DEFAULTS);\n}\n","import {\n blockedAround,\n compareDate,\n createDateFormat,\n isDateRefusedInRun,\n isSameDate,\n orderedRun,\n rangeLength,\n rangeProblems,\n} from '@slotted/core/date';\nimport type { PlainDate } from '@slotted/core/date';\nimport { createDismissableLayer } from '@slotted/core/dismissable-layer';\nimport { tabbables } from '@slotted/core/focus';\nimport type { DismissableLayerHandle } from '@slotted/core/dismissable-layer';\nimport { createPositioner } from '@slotted/core/positioner';\nimport type { PositionerHandle } from '@slotted/core/positioner';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\nimport {\n afterNextRender,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n inject,\n Injector,\n input,\n numberAttribute,\n output,\n signal,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport {\n dateRangePickerMessages,\n type DateRangePickerMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type {\n AbstractControl,\n ControlValueAccessor,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SlCalendar, isSameValue } from '@slotted/angular/calendar';\nimport type { CalendarValue, CalendarView, DateRange } from '@slotted/angular/calendar';\nimport { SlDateField } from '@slotted/angular/date-field';\nimport { SlField } from '@slotted/angular/field';\n\nimport { injectDateRangePickerDefaults } from './date-range-picker-defaults';\nimport type {\n DateRangePickerCalendar,\n DateRangePickerCloseOnSelect,\n DateRangePickerCount,\n DateRangePickerPlacement,\n DateRangePickerPosition,\n DateRangePickerSize,\n DateRangePickerVariant,\n} from './date-range-picker-defaults';\n\n/** The reasons the contract's `stateModel.open` lists, and no other. */\ntype OpenReason = Extract<\n ChangeReason,\n 'pointer' | 'keyboard' | 'escape' | 'outsidePress' | 'select'\n>;\n\n/**\n * Below this width, on a finger, the surface is a sheet rather than a popover.\n * The query is here as well as in the stylesheet because the DOM has to say\n * which presentation it is in, and a media query cannot write an attribute.\n */\nconst SHEET_QUERY = '(max-width: 480px) and (pointer: coarse)';\n/** How far `contiguous` looks for an unavailable day when no `maxLength` bounds it. */\nconst CONTIGUOUS_SEARCH = 366;\n/** The surface needs an identifier the trigger can point `aria-controls` at. */\nlet sequence = 0;\n\n/** The one word for nothing: a value whose both ends are `null` is `null`. */\nfunction normalize(range: DateRange | null | undefined): DateRange | null {\n return range === null || range === undefined || (range.start === null && range.end === null)\n ? null\n : range;\n}\n\n/**\n * Two date fields in one frame, a trigger, and `calendar` in range mode behind\n * them.\n *\n * **It composes the three and redraws none of them.** The two fields keep their\n * `data-ui` and so does the calendar; this family owns the frame, the trigger,\n * the layer, and the band that says what the reader has so far.\n *\n * **The band says how long the run is while it is being drawn.** The calendar\n * reports the pending end — the day under the pointer, or the focused day —\n * and `length` says \"4 nights\" for it, in a live region.\n *\n * **A press that leaves the run with one end is a draft, not the value.** The\n * second press emits the whole run; `Escape`, an outside press and the trigger\n * abandon the draft and the previous value stands.\n */\n@Component({\n selector: '[slDateRangePicker]',\n standalone: true,\n exportAs: 'slDateRangePicker',\n imports: [SlCalendar, SlDateField, SlGlyph, SlIcon],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlDateRangePicker), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlDateRangePicker), multi: true },\n ],\n template: `<div\n data-part=\"control\"\n [attr.role]=\"enclosing === null ? null : 'group'\"\n [attr.id]=\"enclosing?.ids()?.control ?? null\"\n [attr.aria-labelledby]=\"enclosing?.ids()?.label ?? null\"\n (keydown)=\"onControlKeyDown($event)\"\n (pointerdown)=\"pointerFocus = true\"\n (focusout)=\"onControlFocusOut($event)\"\n >\n <div\n data-part=\"start\"\n [attr.data-current]=\"currentPosition() === 'start' ? '' : null\"\n (focusin)=\"onFieldFocus('start', $event)\"\n >\n <div\n slDateField\n #startField=\"slDateField\"\n variant=\"plain\"\n [label]=\"t('start')\"\n [groupId]=\"contentId + '-start'\"\n [locale]=\"resolvedLocale()\"\n [timeZone]=\"resolvedTimeZone()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [yearPivot]=\"yearPivot()\"\n [calendar]=\"resolvedCalendar()\"\n [size]=\"resolvedSize()\"\n [min]=\"min()\"\n [max]=\"startMax()\"\n [isDateUnavailable]=\"isDateUnavailable()\"\n [name]=\"startName()\"\n [disabled]=\"resolvedDisabled()\"\n [readOnly]=\"resolvedReadOnly()\"\n [required]=\"resolvedRequired()\"\n [value]=\"start()\"\n (valueChange)=\"onFieldValue('start', $event)\"\n ></div>\n </div>\n <span data-part=\"separator\" aria-hidden=\"true\">–</span>\n <div\n data-part=\"end\"\n [attr.data-current]=\"currentPosition() === 'end' ? '' : null\"\n (focusin)=\"onFieldFocus('end', $event)\"\n >\n <div\n slDateField\n #endField=\"slDateField\"\n variant=\"plain\"\n [label]=\"t('end')\"\n [groupId]=\"contentId + '-end'\"\n [locale]=\"resolvedLocale()\"\n [timeZone]=\"resolvedTimeZone()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [yearPivot]=\"yearPivot()\"\n [calendar]=\"resolvedCalendar()\"\n [size]=\"resolvedSize()\"\n [min]=\"endMin()\"\n [max]=\"max()\"\n [isDateUnavailable]=\"isDateUnavailable()\"\n [invalid]=\"reversed() ? true : undefined\"\n [name]=\"endName()\"\n [disabled]=\"resolvedDisabled()\"\n [readOnly]=\"resolvedReadOnly()\"\n [required]=\"resolvedRequired()\"\n [value]=\"end()\"\n (valueChange)=\"onFieldValue('end', $event)\"\n ></div>\n </div>\n @if (clearable() && held() !== null) {\n <button\n data-part=\"clear\"\n type=\"button\"\n [attr.aria-label]=\"t('clear')\"\n [disabled]=\"!editable()\"\n (click)=\"clear($event)\"\n >\n <span slIcon><svg slGlyph name=\"x\"></svg></span>\n </button>\n }\n <button\n #trigger\n data-part=\"trigger\"\n type=\"button\"\n aria-haspopup=\"dialog\"\n [attr.aria-label]=\"triggerLabel()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? contentId : null\"\n [disabled]=\"!editable()\"\n (click)=\"toggle($event)\"\n >\n <span slIcon><svg slGlyph name=\"calendar\"></svg></span>\n </button>\n </div>\n\n @if (isOpen()) {\n <div\n #layer\n data-ui=\"date-range-picker\"\n data-part=\"positioner\"\n data-open\n [attr.data-presentation]=\"sheet() ? 'sheet' : 'popover'\"\n [attr.data-positioned]=\"positioned() ? '' : null\"\n >\n <div\n data-part=\"content\"\n role=\"dialog\"\n [attr.id]=\"contentId\"\n [attr.aria-label]=\"triggerLabel()\"\n (keydown)=\"onContentKeyDown($event)\"\n >\n <div data-part=\"head\">\n <span\n data-part=\"head-start\"\n [attr.data-placeholder]=\"shownStart() === null ? '' : null\"\n [attr.data-pending]=\"startPending() ? '' : null\"\n >{{ shownStart() === null ? t('start') : writeShort(shownStart()!) }}</span\n >\n –\n <span\n data-part=\"head-end\"\n [attr.data-placeholder]=\"shownEnd() === null ? '' : null\"\n [attr.data-pending]=\"endPending() ? '' : null\"\n >{{ shownEnd() === null ? t('end') : writeShort(shownEnd()!) }}</span\n >\n <span\n data-part=\"length\"\n aria-live=\"polite\"\n [attr.data-pending]=\"pendingRun() === null ? null : ''\"\n >{{ spokenLength() }}</span\n >\n @if (limitText() !== null) {\n <span data-part=\"limit\">{{ limitText() }}</span>\n }\n </div>\n <div data-part=\"panels\">\n <ng-content select=\"[slDateRangePickerPresets]\" />\n <div\n slCalendar\n #calendar=\"slCalendar\"\n selectionMode=\"range\"\n [locale]=\"resolvedLocale()\"\n [timeZone]=\"resolvedTimeZone()\"\n [firstDayOfWeek]=\"firstDayOfWeek()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [isDateUnavailable]=\"gridUnavailable()\"\n [months]=\"resolvedMonths()\"\n [weekNumbers]=\"weekNumbers()\"\n [fixedWeeks]=\"fixedWeeks()\"\n [readOnly]=\"resolvedReadOnly()\"\n [value]=\"calendarValue()\"\n [view]=\"view()\"\n (viewChange)=\"view.set($event)\"\n (previewChange)=\"preview.set($event)\"\n (valueChange)=\"onCalendarValue($event)\"\n ></div>\n </div>\n <ng-content select=\"[slDateRangePickerFooter]\" />\n </div>\n </div>\n }`,\n styleUrl: '../../../styles/src/date-range-picker/date-range-picker.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-ui': 'date-range-picker',\n 'data-part': 'root',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-calendar]': 'resolvedCalendar()',\n '[attr.data-count]': 'resolvedCount()',\n '[attr.data-open]': \"isOpen() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.data-required]': \"resolvedRequired() === true ? '' : null\",\n },\n})\nexport class SlDateRangePicker implements ControlValueAccessor, Validator, OnInit {\n readonly value = input<DateRange | null | undefined>(undefined);\n readonly defaultValue = input<DateRange | null | undefined>(undefined);\n /** Present means the consumer owns whether the surface is showing. */\n readonly open = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly defaultOpen = input(false, { transform: booleanAttribute });\n /** Present means the consumer owns which end is being edited. */\n readonly position = input<DateRangePickerPosition | undefined>(undefined);\n readonly defaultPosition = input<DateRangePickerPosition>('start');\n\n readonly min = input<PlainDate | undefined>(undefined);\n readonly max = input<PlainDate | undefined>(undefined);\n readonly isDateUnavailable = input<((date: PlainDate) => boolean) | undefined>(undefined);\n /**\n * Whether a run may cross an unavailable day. On, and with a start chosen,\n * the days beyond the first unavailable one are unavailable too, and a typed\n * run that crosses one is invalid; off, the run may jump over it and only\n * its two ends are checked.\n */\n readonly contiguous = input(true, { transform: booleanAttribute });\n /** The shortest and longest run allowed, in the unit `count` names. */\n readonly minLength = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly maxLength = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly count = input<DateRangePickerCount | undefined>(undefined);\n\n readonly months = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly weekNumbers = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /** Six rows whatever the month needs, so a press of \"next\" moves no target. */\n readonly fixedWeeks = input(true, { transform: booleanAttribute });\n\n /** BCP 47. Writes both fields, the grid and the trigger's dates. Unset, the language in force decides. */\n readonly locale = input<string | undefined>(undefined);\n readonly timeZone = input<string | undefined>(undefined);\n readonly firstDayOfWeek = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly yearPivot = input<number | undefined, unknown>(undefined, {\n transform: (value) =>\n value === undefined || value === null ? undefined : numberAttribute(value),\n });\n readonly calendar = input<DateRangePickerCalendar | undefined>(undefined);\n\n readonly size = input<DateRangePickerSize | undefined>(undefined);\n readonly variant = input<DateRangePickerVariant | undefined>(undefined);\n readonly placement = input<DateRangePickerPlacement | undefined>(undefined);\n readonly closeOnSelect = input<DateRangePickerCloseOnSelect | undefined>(undefined);\n\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly required = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /** Draws one clear on the frame, which empties both ends. */\n readonly clearable = input(false, { transform: booleanAttribute });\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * trigger's two names, the clear, the names of the two ends, and the\n * phrases that count the run (`days.length`, `nights.between`, …).\n */\n readonly messages = input<PartialMessages<DateRangePickerMessages> | undefined>(undefined);\n /** The names of the two hidden inputs a plain form post reads. */\n readonly startName = input<string | undefined>(undefined);\n readonly endName = input<string | undefined>(undefined);\n\n readonly valueChange = output<ChangeRequest<DateRange | null>>();\n readonly openChange = output<ChangeRequest<boolean>>();\n readonly positionChange = output<ChangeRequest<DateRangePickerPosition>>();\n\n @ViewChild('layer') protected layer?: ElementRef<HTMLElement>;\n @ViewChild('trigger') protected triggerRef?: ElementRef<HTMLButtonElement>;\n @ViewChild('startField') protected startField?: SlDateField;\n @ViewChild('endField') protected endField?: SlDateField;\n @ViewChild('calendar') protected calendarRef?: SlCalendar;\n\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n protected readonly defaults = injectDateRangePickerDefaults();\n private readonly appLocale = injectLocale();\n /** The family's words in the language in force, with this picker's `messages` laid over them. */\n readonly t = injectMessages(dateRangePickerMessages, this.messages);\n private readonly injector = inject(Injector);\n private readonly destroyRef = inject(DestroyRef);\n /**\n * The field around it. Inside one, the frame takes the field's control\n * identifier and its label, and the two ends inside it keep their own\n * names: two date fields each taking the field's identifier wrote it twice\n * and left the label naming neither.\n */\n protected readonly enclosing = inject(SlField, { optional: true });\n\n protected readonly contentId = `sl-date-range-picker-${String((sequence += 1))}`;\n\n private readonly ownOpen = signal(false);\n private readonly ownValue = signal<DateRange | null>(null);\n private readonly ownPosition = signal<DateRangePickerPosition>('start');\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n protected readonly view = signal<CalendarView>('day');\n protected readonly positioned = signal(false);\n protected readonly sheet = signal(false);\n /**\n * The start the reader pressed in the grid while the run is still open. It\n * is not the value: a half-drawn run never reaches a form without the reader\n * having seen it in the field.\n */\n private readonly draft = signal<PlainDate | null>(null);\n /** The pending end the calendar reports, or `null` while no run is open. */\n protected readonly preview = signal<PlainDate | null>(null);\n /** A pointer press before focus names the reason a field became current. */\n protected pointerFocus = false;\n /**\n * Whether the next opening moves focus into the calendar. Set by the trigger\n * and by `openSurface()`; the chord leaves focus in the field so typing keeps\n * working, and a first render that starts open leaves focus where the page\n * put it.\n */\n private focusOnOpen = false;\n\n private positioner: PositionerHandle | null = null;\n private dismissable: DismissableLayerHandle | null = null;\n\n private onChangeFn: (value: DateRange | null) => void = () => undefined;\n /** Whether a form model holds the value, and answers a reset through `writeValue`. */\n private formBound = false;\n private onTouchedFn: () => void = () => undefined;\n private onValidatorChangeFn: () => void = () => undefined;\n\n protected readonly isOpen = computed(() => this.open() ?? this.ownOpen());\n protected readonly held = computed(() => {\n const value = this.value();\n return value === undefined ? this.ownValue() : normalize(value);\n });\n /** The range the picker holds. Public, so a preset can compare itself to it. */\n readonly selection = computed(() => this.held());\n protected readonly currentPosition = computed(() => this.position() ?? this.ownPosition());\n protected readonly start = computed(() => this.held()?.start ?? null);\n protected readonly end = computed(() => this.held()?.end ?? null);\n private readonly ordered = computed(() => {\n const start = this.start();\n const end = this.end();\n return start !== null && end !== null && compareDate(start, end) <= 0;\n });\n protected readonly reversed = computed(() => this.problems().includes('order'));\n\n protected readonly resolvedLocale = computed(() => this.locale() ?? this.appLocale());\n protected readonly resolvedTimeZone = computed(() => this.timeZone() ?? this.defaults.timeZone);\n protected readonly resolvedCalendar = computed(() => this.calendar() ?? this.defaults.calendar);\n protected readonly resolvedSize = computed(\n () => this.size() ?? this.enclosing?.resolvedSize() ?? this.defaults.size,\n );\n protected readonly resolvedVariant = computed(() => this.variant() ?? this.defaults.variant);\n protected readonly resolvedPlacement = computed(\n () => this.placement() ?? this.defaults.placement,\n );\n protected readonly resolvedCount = computed(() => this.count() ?? this.defaults.count);\n protected readonly resolvedMonths = computed(() => this.months() ?? this.defaults.months);\n protected readonly resolvedDisabled = computed(\n () => this.disabled() ?? this.formDisabled() ?? this.enclosing?.resolvedDisabled(),\n );\n protected readonly resolvedReadOnly = computed(\n () => this.readOnly() ?? this.enclosing?.resolvedReadOnly(),\n );\n protected readonly resolvedRequired = computed(\n () => this.required() ?? this.enclosing?.required(),\n );\n protected readonly editable = computed(\n () => this.resolvedDisabled() !== true && this.resolvedReadOnly() !== true,\n );\n\n /**\n * Validity the family owns, beside the validity the consumer states: the\n * bounds, the predicate over every day of the run, the order of the two\n * ends and the length.\n */\n private readonly problems = computed(() =>\n rangeProblems(this.held(), {\n contiguous: this.contiguous(),\n count: this.resolvedCount(),\n max: this.max(),\n maxLength: this.maxLength(),\n min: this.min(),\n minLength: this.minLength(),\n unavailable: this.isDateUnavailable(),\n }),\n );\n protected readonly resolvedInvalid = computed(() => {\n if (this.invalid() !== undefined) return this.invalid();\n if (this.problems().length > 0) return true;\n return this.enclosing?.invalid();\n });\n\n /* Crossed bounds, while the order holds: the start cannot step past the\n end nor the end before the start. Reversed, each field keeps the outer\n bounds and the end field alone says the order is wrong. */\n protected readonly startMax = computed(() => {\n const end = this.end();\n const max = this.max();\n if (!this.ordered() || end === null) return max;\n return max === undefined || compareDate(end, max) < 0 ? end : max;\n });\n protected readonly endMin = computed(() => {\n const start = this.start();\n const min = this.min();\n if (!this.ordered() || start === null) return min;\n return min === undefined || compareDate(start, min) > 0 ? start : min;\n });\n\n /**\n * What the calendar is shown. A pressed start replaces the value while the\n * run is open; with the end as the current position, the end is withheld so\n * the next press writes it instead of restarting the run.\n */\n protected readonly calendarValue = computed<CalendarValue>(() => {\n const draft = this.draft();\n if (draft !== null) return { start: draft, end: null };\n const start = this.start();\n if (this.currentPosition() === 'end' && start !== null) return { start, end: null };\n return this.held();\n });\n private readonly openStart = computed(() => {\n const value = this.calendarValue();\n if (value === null || Array.isArray(value) || !('start' in value)) return null;\n return value.end === null ? value.start : null;\n });\n\n /** The block on either side of the chosen start, found once per start. */\n private readonly blocked = computed(() => {\n const openStart = this.openStart();\n if (openStart === null || !this.contiguous()) return { before: null, after: null };\n return blockedAround(\n openStart,\n this.isDateUnavailable() ?? (() => false),\n this.maxLength() ?? CONTIGUOUS_SEARCH,\n );\n });\n protected readonly gridUnavailable = computed(() => {\n const openStart = this.openStart();\n const unavailable = this.isDateUnavailable();\n if (openStart === null) return unavailable;\n const rules = {\n contiguous: this.contiguous(),\n count: this.resolvedCount(),\n maxLength: this.maxLength(),\n minLength: this.minLength(),\n unavailable,\n };\n const blocked = this.blocked();\n return (date: PlainDate) => isDateRefusedInRun(openStart, date, rules, blocked);\n });\n\n /** The run as it would close on the pending end. */\n protected readonly pendingRun = computed(() => {\n const openStart = this.openStart();\n const preview = this.preview();\n return openStart !== null && preview !== null ? orderedRun(openStart, preview) : null;\n });\n protected readonly shownStart = computed(\n () => this.pendingRun()?.start ?? this.draft() ?? this.start(),\n );\n protected readonly shownEnd = computed(\n () => this.pendingRun()?.end ?? (this.draft() !== null ? null : this.end()),\n );\n protected readonly startPending = computed(() => {\n const pending = this.pendingRun();\n return pending !== null && !isSameDate(pending.start, this.openStart());\n });\n protected readonly endPending = computed(\n () => this.pendingRun() !== null && !this.startPending(),\n );\n\n /** \"4 nights\": the run's length, in the unit `count` names. */\n protected readonly spokenLength = computed(() => {\n const count = this.resolvedCount();\n const length = (days: number) => this.t(`${count}.length` as const, { count: days });\n const pending = this.pendingRun();\n if (pending !== null) return length(rangeLength(pending.start, pending.end, count));\n const start = this.start();\n const end = this.end();\n if (this.ordered() && start !== null && end !== null) {\n return length(rangeLength(start, end, count));\n }\n return '';\n });\n /** \"2 to 7 nights\", \"at least 2 nights\", \"at most 7 nights\". */\n protected readonly limitText = computed(() => {\n const min = this.minLength();\n const max = this.maxLength();\n const count = this.resolvedCount();\n if (min !== undefined && max !== undefined) {\n return this.t(`${count}.between` as const, { min, max });\n }\n if (min !== undefined) return this.t(`${count}.atLeast` as const, { min });\n if (max !== undefined) return this.t(`${count}.atMost` as const, { max });\n return null;\n });\n\n /** The trigger's accessible name: focus returns here when the surface closes. */\n protected readonly triggerLabel = computed(() => {\n const start = this.start();\n const end = this.end();\n if (!this.ordered() || start === null || end === null) {\n return this.t('choose');\n }\n const format = createDateFormat({ locale: this.resolvedLocale() });\n return this.t('change', {\n start: format.describe(start),\n end: format.describe(end),\n length: this.spokenLength(),\n });\n });\n\n /* The band writes each end short — \"12 Sep\" — because the whole date in\n words is the trigger's, and a band that repeats it twice runs past the\n panel at 240 pixels. */\n private readonly short = computed(\n () =>\n new Intl.DateTimeFormat(this.resolvedLocale(), {\n day: 'numeric',\n month: 'short',\n timeZone: 'UTC',\n }),\n );\n\n constructor() {\n /* The layer is created and torn down with the surface, not with the\n component: a layer that outlived its content would hold a place in the\n single stack that nothing occupies. */\n effect(() => {\n const open = this.isOpen();\n if (!open) {\n this.release();\n this.draft.set(null);\n return;\n }\n afterNextRender(() => this.attach(), { injector: this.injector });\n });\n\n /* A rule that changed is a validity that changed, and the form is told. */\n effect(() => {\n this.problems();\n this.onValidatorChangeFn();\n });\n\n this.destroyRef.onDestroy(() => this.release());\n }\n\n ngOnInit() {\n this.ownOpen.set(this.defaultOpen());\n this.ownValue.set(normalize(this.defaultValue()));\n this.ownPosition.set(this.defaultPosition());\n\n /* A native reset restores the hidden inputs and tells nothing, so the\n picker would keep the last run chosen in a form that had been reset. The\n value returns to `defaultValue` through `valueChange`, reason\n `programmatic`, and a start pressed in the grid without its end is\n dropped with it. A picker bound to a form model takes the model's reset\n value through `writeValue` instead. */\n const form = this.element.closest('form');\n if (form !== null) {\n const onReset = (event: Event) => {\n if (this.formBound) return;\n this.draft.set(null);\n this.commit(this.defaultValue() ?? null, 'programmatic', event);\n };\n form.addEventListener('reset', onReset);\n this.destroyRef.onDestroy(() => form.removeEventListener('reset', onReset));\n }\n\n if (typeof window === 'undefined' || typeof window.matchMedia !== 'function') return;\n const query = window.matchMedia(SHEET_QUERY);\n const read = () => this.sheet.set(query.matches);\n read();\n query.addEventListener('change', read);\n this.destroyRef.onDestroy(() => query.removeEventListener('change', read));\n }\n\n /* ── Forms ─────────────────────────────────────────────────────────── */\n\n writeValue(value: DateRange | null | undefined) {\n this.ownValue.set(normalize(value));\n }\n\n registerOnChange(fn: (value: DateRange | null) => void) {\n this.onChangeFn = fn;\n this.formBound = true;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n registerOnValidatorChange(fn: () => void) {\n this.onValidatorChangeFn = fn;\n }\n\n /**\n * The rules no other validator can see: the bounds, the predicate over the\n * run, the order of the two ends and the length. `required` is left to\n * Angular's own, because a form already has a word for it.\n */\n validate(control: AbstractControl): ValidationErrors | null {\n const value = normalize(control.value as DateRange | null | undefined);\n if (value === null) return null;\n const problems = rangeProblems(value, {\n contiguous: this.contiguous(),\n count: this.resolvedCount(),\n max: this.max(),\n maxLength: this.maxLength(),\n min: this.min(),\n minLength: this.minLength(),\n unavailable: this.isDateUnavailable(),\n });\n if (problems.length === 0) return null;\n const errors: ValidationErrors = {};\n if (problems.includes('order')) errors['slottedDateRangeOrder'] = { actual: value };\n if (problems.includes('min'))\n errors['slottedDateRangeMin'] = { min: this.min(), actual: value };\n if (problems.includes('max'))\n errors['slottedDateRangeMax'] = { max: this.max(), actual: value };\n if (problems.includes('unavailable')) errors['slottedDateRangeUnavailable'] = { actual: value };\n if (problems.includes('length')) {\n errors['slottedDateRangeLength'] = {\n minLength: this.minLength(),\n maxLength: this.maxLength(),\n actual: value,\n };\n }\n return errors;\n }\n\n /* ── Imperative ────────────────────────────────────────────────────── */\n\n /** Puts focus on the first segment of one end; the current end by default. */\n focus(position: DateRangePickerPosition = this.currentPosition()) {\n (position === 'end' ? this.endField : this.startField)?.focus();\n }\n\n openSurface(source?: Event) {\n this.setOpen(true, 'keyboard', source, true);\n }\n\n closeSurface(source?: Event) {\n this.setOpen(false, 'keyboard', source);\n }\n\n /** A preset writes its range through here, with the `select` reason. */\n choose(range: DateRange, source?: Event) {\n this.draft.set(null);\n this.commit(range, 'select', source);\n this.setPosition('start', 'select', source);\n this.closeAfter(true, source);\n }\n\n /* ── Handlers ──────────────────────────────────────────────────────── */\n\n protected writeShort(date: PlainDate): string {\n return this.short().format(Date.UTC(date.year, date.month - 1, date.day));\n }\n\n protected toggle(source: Event) {\n this.setOpen(!this.isOpen(), 'pointer', source, true);\n }\n\n /** Tab and Shift+Tab wrap inside the surface while it is open. */\n protected onContentKeyDown(event: KeyboardEvent) {\n if (event.key !== 'Tab' || event.altKey || event.ctrlKey || event.metaKey) return;\n const content = event.currentTarget as HTMLElement;\n const items = tabbables(content);\n const first = items[0];\n const last = items[items.length - 1];\n if (first === undefined || last === undefined) return;\n const current = content.ownerDocument.activeElement;\n if (event.shiftKey && current === first) {\n event.preventDefault();\n last.focus();\n } else if (!event.shiftKey && current === last) {\n event.preventDefault();\n first.focus();\n }\n }\n\n protected clear(source: Event) {\n this.commit(null, 'clear', source);\n this.setPosition('start', 'clear', source);\n this.focus('start');\n }\n\n protected onControlKeyDown(event: KeyboardEvent) {\n if (!this.editable()) return;\n /* ChromeOS turns the chord into PageDown before the browser sees it, which\n is why the trigger button is always drawn and this is only a shortcut. */\n if (event.altKey && event.key === 'ArrowDown') {\n event.preventDefault();\n this.setOpen(true, 'keyboard', event);\n }\n }\n\n protected onFieldFocus(which: DateRangePickerPosition, source: Event) {\n const reason: ChangeReason = this.pointerFocus ? 'pointer' : 'keyboard';\n this.pointerFocus = false;\n if (which !== this.currentPosition()) this.setPosition(which, reason, source);\n }\n\n protected onControlFocusOut(event: FocusEvent) {\n const next = event.relatedTarget;\n if (next instanceof Node && this.element.contains(next)) return;\n this.onTouchedFn();\n }\n\n protected onFieldValue(\n which: DateRangePickerPosition,\n request: { value: PlainDate | null; reason: ChangeReason; source?: unknown },\n ) {\n const next =\n which === 'start'\n ? { start: request.value, end: this.end() }\n : { start: this.start(), end: request.value };\n this.commit(next, request.reason, request.source);\n }\n\n protected onCalendarValue(request: ChangeRequest<CalendarValue>) {\n const next = request.value;\n if (next === null || Array.isArray(next) || !('start' in next)) return;\n if (next.end === null) {\n /* The first press: a draft, and the next press writes the end. */\n this.draft.set(next.start);\n this.setPosition('end', 'select', request.source);\n this.closeAfter(false, request.source);\n return;\n }\n this.draft.set(null);\n this.commit(next, 'select', request.source);\n this.setPosition('start', 'select', request.source);\n this.closeAfter(true, request.source);\n }\n\n private closeAfter(whole: boolean, source: unknown) {\n const axis = this.closeOnSelect() ?? this.defaults.closeOnSelect;\n if (!(axis === 'always' || (axis === 'auto' && whole))) return;\n this.setOpen(false, 'select', source);\n this.triggerRef?.nativeElement.focus({ preventScroll: true });\n }\n\n private commit(next: DateRange | null, reason: ChangeReason, source: unknown) {\n const normalized = normalize(next);\n let cancelled = false;\n const state = createControllable<DateRange | null>({\n controlled: this.value() === undefined ? undefined : this.held(),\n initial: this.held(),\n equals: (a, b) => isSameValue(a, b),\n onRequest: (request) => {\n this.valueChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n if (!state.request(normalized, reason, source) || cancelled) return;\n if (this.value() === undefined) this.ownValue.set(normalized);\n this.onChangeFn(normalized);\n }\n\n private setPosition(next: DateRangePickerPosition, reason: ChangeReason, source: unknown) {\n const state = createControllable<DateRangePickerPosition>({\n controlled: this.position(),\n initial: this.currentPosition(),\n onRequest: (request) => this.positionChange.emit(request),\n });\n if (state.request(next, reason, source)) this.ownPosition.set(next);\n }\n\n private setOpen(next: boolean, reason: OpenReason, source: unknown, moveFocus = false) {\n const state = createControllable<boolean>({\n controlled: this.open(),\n initial: this.isOpen(),\n onRequest: (request) => {\n this.openChange.emit(request);\n this.focusOnOpen = moveFocus && request.value && !request.cancelled;\n },\n });\n if (state.request(next, reason, source)) this.ownOpen.set(next);\n }\n\n /** Places the layer and puts it in the single stack. */\n private attach() {\n const layer = this.layer?.nativeElement;\n if (layer === undefined) return;\n this.release();\n\n if (!this.sheet()) {\n const anchor =\n this.element.querySelector<HTMLElement>('[data-part=\"control\"]') ?? this.element;\n const [side, align] = this.resolvedPlacement().split('-') as [\n 'top' | 'bottom',\n 'start' | 'end' | undefined,\n ];\n this.positioner = createPositioner(anchor, layer, { align: align ?? 'center', side });\n void this.positioner.update().then(() => this.positioned.set(true));\n }\n\n const trigger = this.triggerRef?.nativeElement;\n this.dismissable = createDismissableLayer(layer, {\n branches: trigger === undefined ? [] : [trigger],\n escape: true,\n focusOutside: false,\n modal: false,\n outsidePress: true,\n scrollLock: false,\n onDismiss: (request) => {\n /* The view first, the surface second: the layer asks in the capture\n phase, so the decision is taken here and the layer simply not asked. */\n if (request.reason === 'escape' && this.view() !== 'day') {\n this.view.set(this.view() === 'year' ? 'month' : 'day');\n return;\n }\n this.setOpen(\n false,\n request.reason === 'escape' ? 'escape' : 'outsidePress',\n request.source,\n );\n if (request.reason === 'escape') {\n this.triggerRef?.nativeElement.focus({ preventScroll: true });\n }\n },\n });\n\n /* Opened from the trigger or the handle, focus lands on the cell of the\n current end, or on today when it is empty — the APG's rule for its\n \"Choose Date\" button. The grid pages to that cell first, and focus waits\n for the render that draws it. Opened with the chord, focus stays in the\n field so typing keeps working. */\n if (this.focusOnOpen) {\n this.focusOnOpen = false;\n const target = this.currentPosition() === 'end' ? this.end() : this.start();\n if (target !== null) this.calendarRef?.focusDate(target);\n afterNextRender(\n () =>\n layer\n .querySelector<HTMLElement>('[data-part=\"day\"][tabindex=\"0\"]')\n ?.focus({ preventScroll: true }),\n { injector: this.injector },\n );\n }\n }\n\n private release() {\n this.positioner?.destroy();\n this.positioner = null;\n this.dismissable?.destroy();\n this.dismissable = null;\n this.positioned.set(false);\n }\n}\n\n/**\n * One shortcut. It writes its range with the `select` reason and carries\n * `data-selected` while the value equals it. The list is the product's — \"last\n * 7 days\" is a business calendar — and the family ships the button, not the\n * list.\n */\n@Directive({\n selector: 'button[slDateRangePickerPreset]',\n standalone: true,\n exportAs: 'slDateRangePickerPreset',\n host: {\n 'data-part': 'preset',\n type: 'button',\n '[attr.data-selected]': \"selected() ? '' : null\",\n '(click)': 'choose($event)',\n },\n})\nexport class SlDateRangePickerPreset {\n /** The range the press writes, or a function resolving it at the press. */\n readonly range = input.required<DateRange | (() => DateRange)>({\n alias: 'slDateRangePickerPreset',\n });\n\n private readonly picker = inject(SlDateRangePicker);\n\n protected readonly selected = computed(() => {\n const range = this.range();\n return isSameValue(this.picker.selection(), typeof range === 'function' ? range() : range);\n });\n\n protected choose(event: Event) {\n if (event.defaultPrevented) return;\n const range = this.range();\n this.picker.choose(typeof range === 'function' ? range() : range, event);\n }\n}\n","import { Directive } from '@angular/core';\n\n/**\n * The consumer's own shortcuts, beside the grid where there is room and above\n * it where there is not. Each one is a `slDateRangePickerPreset` button.\n */\n@Directive({\n selector: '[slDateRangePickerPresets]',\n standalone: true,\n exportAs: 'slDateRangePickerPresets',\n host: { 'data-part': 'presets' },\n})\nexport class SlDateRangePickerPresets {}\n\n/** The consumer's own actions, under whatever the surface is holding. */\n@Directive({\n selector: '[slDateRangePickerFooter]',\n standalone: true,\n exportAs: 'slDateRangePickerFooter',\n host: { 'data-part': 'footer' },\n})\nexport class SlDateRangePickerFooter {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1158,7 +1158,7 @@ class SlDateTimePicker {
1158
1158
  <ng-content select="[slDateTimePickerFooter]" />
1159
1159
  </div>
1160
1160
  </div>
1161
- }`, isInline: true, styles: ["@layer slotted.components{[data-ui=datetime-picker][data-part=root]{display:block;inline-size:100%}[data-ui=datetime-picker] [data-part=control]{--_icon-size: var(--slotted-control-icon-size-md, 16px);--_height: var(--slotted-control-height-md, 34px);align-items:center;display:flex;inline-size:100%;min-inline-size:0;position:relative}[data-ui=datetime-picker][data-part=root][data-size=sm] [data-part=control]{--_icon-size: var(--slotted-control-icon-size-sm, 14px);--_height: var(--slotted-control-height-sm, 30px)}[data-ui=datetime-picker][data-part=root][data-size=lg] [data-part=control]{--_icon-size: var(--slotted-control-icon-size-lg, 18px);--_height: var(--slotted-control-height-lg, 38px)}[data-ui=datetime-picker] [data-part=trigger]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var( --slotted-datetime-picker-trigger-size, min( calc(var(--_icon-size) + 2 * var(--slotted-space-2, .25rem)), calc( var(--_height) - var(--slotted-control-border-width, 1px) * 2 - var(--slotted-space-2, .25rem) ) ) );border:0;border-radius:var(--slotted-datetime-picker-radius, var(--slotted-control-radius, 4px));color:var(--slotted-datetime-picker-trigger-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:0 0 auto;inline-size:var( --slotted-datetime-picker-trigger-size, min( calc(var(--_icon-size) + 2 * var(--slotted-space-2, .25rem)), calc( var(--_height) - var(--slotted-control-border-width, 1px) * 2 - var(--slotted-space-2, .25rem) ) ) );justify-content:center;padding:0;position:relative;touch-action:manipulation;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui=datetime-picker] [data-part=trigger]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}@media(pointer:coarse){[data-ui=datetime-picker] [data-part=trigger]:after{inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2))}[data-ui=datetime-picker] [data-part=end]:has(+[data-part=clear]:not([hidden]))>[data-part=trigger]:after{inset-inline-end:0}}[data-ui=datetime-picker] [data-part=trigger]:hover:not(:disabled):not([data-disabled]){background-color:var( --slotted-datetime-picker-trigger-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=datetime-picker] [data-part=trigger]:active:not(:disabled):not([data-disabled]){background-color:var( --slotted-datetime-picker-trigger-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=datetime-picker] [data-part=trigger]: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=datetime-picker][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-datetime-picker-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=datetime-picker] [data-part=trigger]:disabled{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=datetime-picker][data-part=positioner]{position:absolute;inset-block-start:0;box-sizing:border-box;isolation:isolate;pointer-events:none;z-index:calc(var(--slotted-z-index-popover, 1100) + var(--slotted-layer-depth, 0));--_enter-distance: var(--slotted-space-2, .25rem);opacity:0;translate:0 calc(-1 * var(--_enter-distance));transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit),translate var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=datetime-picker][data-part=positioner][data-side=top]{translate:0 var(--_enter-distance)}[data-ui=datetime-picker][data-part=positioner]:is([data-side=left],[data-side=right]){translate:0 0}[data-ui=datetime-picker][data-part=positioner][data-open]{opacity:1;translate:0 0;transition:none}[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned]{animation:slotted-datetime-picker-enter-down var(--slotted-duration-medium) var(--slotted-easing-enter)}[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned][data-side=top]{animation-name:slotted-datetime-picker-enter-up}[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned]:is([data-side=left],[data-side=right]){animation-name:slotted-datetime-picker-fade}@keyframes slotted-datetime-picker-enter-down{0%{opacity:0;translate:0 calc(-1 * var(--_enter-distance))}}@keyframes slotted-datetime-picker-enter-up{0%{opacity:0;translate:0 var(--_enter-distance)}}@keyframes slotted-datetime-picker-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){[data-ui=datetime-picker][data-part=positioner],[data-ui=datetime-picker][data-part=positioner][data-side=top],[data-ui=datetime-picker][data-part=positioner][data-side=left],[data-ui=datetime-picker][data-part=positioner][data-side=right]{translate:0 0;transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned],[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned][data-side=top],[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned][data-side=left],[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned][data-side=right]{animation-name:slotted-datetime-picker-fade}}[data-ui=datetime-picker][data-part=positioner][data-detached]{visibility:hidden}[data-ui=datetime-picker] [data-part=content]{background-color:var(--slotted-datetime-picker-surface, var(--slotted-surface-raised, Canvas));border:var(--slotted-border-width-thin, 1px) solid var( --slotted-datetime-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );border-radius:var(--slotted-datetime-picker-content-radius, var(--slotted-radius-lg, 8px));box-shadow:var(--slotted-datetime-picker-content-shadow, var(--slotted-shadow-md));box-sizing:border-box;color:var(--slotted-datetime-picker-content-color, var(--slotted-text, CanvasText));--_row: max(var(--slotted-target-min, 24px), var(--slotted-control-height-sm, 30px));--_row-pitch: calc(var(--_row) + var(--slotted-space-1, .125rem));display:grid;gap:var(--slotted-space-2, .25rem);grid-template-areas:\"head\" \"panels\" \"footer\";grid-template-columns:minmax(0,1fr);inline-size:auto;max-inline-size:min(34rem,var(--slotted-positioner-available-width, 34rem));padding:var(--slotted-datetime-picker-content-padding, var(--slotted-space-3, .375rem));pointer-events:auto}[data-ui=datetime-picker] [data-part=head]{box-sizing:border-box;inline-size:0;min-inline-size:100%;align-items:center;border-block-end:var(--slotted-border-width-thin, 1px) solid var( --slotted-datetime-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );column-gap:var(--slotted-space-4, .5rem);display:flex;flex-wrap:wrap;grid-area:head;justify-content:space-between;padding-block-end:var(--slotted-space-3, .375rem);row-gap:var(--slotted-space-2, .25rem)}[data-ui=datetime-picker] [data-part=head-value]{color:var(--slotted-datetime-picker-content-color, var(--slotted-text, CanvasText));font-size:var(--slotted-font-size-sm, 13px);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-medium, 500);min-inline-size:0;unicode-bidi:plaintext}[data-ui=datetime-picker] [data-part=head-value] [data-placeholder]{color:var(--slotted-datetime-picker-label-color, var(--slotted-text-muted, GrayText))}[data-ui=datetime-picker] [data-part=now]{align-items:center;appearance:none;background-color:var(--slotted-datetime-picker-now-background, transparent);border:var(--slotted-control-border-width, 1px) solid var( --slotted-datetime-picker-now-border-color, var(--slotted-control-border-color, ButtonBorder) );border-radius:var(--slotted-datetime-picker-radius, var(--slotted-control-radius, 4px));color:var(--slotted-datetime-picker-now-color, var(--slotted-text, CanvasText));cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:var(--slotted-control-font-size-sm, 12px);gap:var(--slotted-space-2, .25rem);justify-content:center;min-block-size:var(--slotted-control-height-sm, 30px);padding-block:0;padding-inline:var(--slotted-control-padding-inline-sm, 10px);touch-action:manipulation;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);white-space:nowrap;-webkit-tap-highlight-color:transparent}[data-ui=datetime-picker] [data-part=now]>[data-ui=icon]{color:var(--slotted-datetime-picker-now-icon-color, var(--slotted-text-muted))}[data-ui=datetime-picker] [data-part=now]:hover:not(:disabled):not([data-disabled]){background-color:var( --slotted-datetime-picker-now-hover-background, var(--slotted-tone-secondary-subtle-hover) );border-color:var( --slotted-datetime-picker-now-hover-border-color, var(--slotted-tone-accent-border) )}[data-ui=datetime-picker] [data-part=now]:active:not(:disabled):not([data-disabled]){background-color:var( --slotted-datetime-picker-now-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=datetime-picker] [data-part=now]: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=datetime-picker] [data-part=presets]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-space-2, .25rem)}[data-ui=datetime-picker] [data-part=panels]{column-gap:var(--slotted-space-6, 1rem);display:flex;flex-wrap:wrap;grid-area:panels;min-inline-size:0;row-gap:var(--slotted-space-4, .5rem)}[data-ui=datetime-picker] [data-part=date-panel]{flex:0 0 auto}[data-ui=datetime-picker] [data-part=time-panel]{display:flex;flex:1 1 var(--slotted-datetime-picker-time-panel-inline-size, 7rem);flex-direction:column;gap:var(--slotted-space-2, .25rem);min-inline-size:var(--slotted-datetime-picker-time-panel-inline-size, 7rem)}[data-ui=datetime-picker] [data-part=list]{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--slotted-space-1, .125rem);max-block-size:var(--slotted-datetime-picker-list-block-size, calc(var(--_row-pitch) * 7.5));min-block-size:0;min-inline-size:0;overflow-y:auto;scroll-padding-block:var(--slotted-space-2, .25rem)}[data-ui=datetime-picker] [data-part=option]{align-items:center;background-color:transparent;border-radius:var(--slotted-datetime-picker-option-radius, var(--slotted-radius-sm, 4px));color:inherit;cursor:pointer;display:flex;flex:0 0 auto;font-variant-numeric:tabular-nums;gap:var(--slotted-space-2, .25rem);min-block-size:var(--_row);padding-inline:var(--slotted-space-3, .375rem);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}[data-ui=datetime-picker] [data-part=option]:hover:not([data-disabled]):not([data-selected]):not([data-current]){background-color:var( --slotted-datetime-picker-option-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=datetime-picker] [data-part=option][data-current]:not([data-selected]){background-color:var( --slotted-datetime-picker-option-current-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=datetime-picker] [data-part=option]: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=datetime-picker] [data-part=option][data-selected]{background-color:var( --slotted-datetime-picker-option-selected-background, var(--slotted-tone-accent-solid) );color:var( --slotted-datetime-picker-option-selected-color, var(--slotted-tone-accent-on-solid) )}[data-ui=datetime-picker] [data-part=option][data-selected]:hover:not([data-disabled]){background-color:var( --slotted-datetime-picker-option-selected-hover-background, var(--slotted-tone-accent-solid-hover) )}[data-ui=datetime-picker] [data-part=option][data-disabled]{background-color:transparent;color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=datetime-picker] [data-part=empty]{align-items:center;color:var(--slotted-datetime-picker-label-color, var(--slotted-text-muted, GrayText));display:flex;flex:1 1 auto;justify-content:center;min-block-size:calc(var(--_row) * 2);padding:var(--slotted-space-4, .5rem);text-align:center;text-wrap:balance}[data-ui=datetime-picker] [data-part=footer]{box-sizing:border-box;inline-size:0;min-inline-size:100%;align-items:center;border-block-start:var(--slotted-border-width-thin, 1px) solid var( --slotted-datetime-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );display:flex;gap:var(--slotted-space-2, .25rem);grid-area:footer;justify-content:flex-end;padding-block-start:var(--slotted-space-3, .375rem)}@media(max-width:480px)and (pointer:coarse){[data-ui=datetime-picker][data-part=positioner][data-presentation=sheet]{inset:auto 0 0;position:fixed;translate:0 var(--slotted-space-9, 2rem)}[data-ui=datetime-picker][data-part=positioner][data-presentation=sheet][data-open]{translate:0 0}[data-ui=datetime-picker][data-part=positioner][data-presentation=sheet] [data-part=content]{border-end-end-radius:0;border-end-start-radius:0;border-inline:0;border-block-end:0;inline-size:var(--slotted-datetime-picker-sheet-inline-size, 100%);max-inline-size:none;max-block-size:85vh;overflow-y:auto}[data-ui=datetime-picker][data-part=positioner][data-presentation=sheet] [data-part=list]{max-block-size:calc(var(--_row-pitch) * 5.5)}}@media(forced-colors:active){[data-ui=datetime-picker] [data-part=option][data-selected]{background-color:Highlight;color:HighlightText;forced-color-adjust:none}[data-ui=datetime-picker] [data-part=option][data-current]:not([data-selected]){outline:var(--slotted-focus-ring-width, 2px) solid Highlight;outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SlCalendar, selector: "[slCalendar]", inputs: ["value", "defaultValue", "focusedDate", "defaultFocusedDate", "min", "max", "isDateUnavailable", "selectionMode", "months", "view", "defaultView", "weekNumbers", "fixedWeeks", "outsideDays", "locale", "timeZone", "firstDayOfWeek", "calendar", "disabled", "readOnly", "invalid", "messages"], outputs: ["valueChange", "focusedDateChange", "viewChange", "previewChange"], exportAs: ["slCalendar"] }, { kind: "component", type: SlDateTimeField, selector: "[slDateTimeField]", inputs: ["value", "defaultValue", "min", "max", "minTime", "maxTime", "isDateUnavailable", "isTimeUnavailable", "locale", "timeZone", "hourCycle", "granularity", "calendar", "firstDayOfWeek", "yearPivot", "referenceDateTime", "size", "variant", "disabled", "readOnly", "invalid", "required", "clearable", "relative", "messages", "name", "label"], outputs: ["valueChange"], exportAs: ["slDateTimeField"] }, { kind: "directive", type: SlDateTimeFieldEnd, selector: "[slDateTimeFieldEnd]", exportAs: ["slDateTimeFieldEnd"] }, { kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1161
+ }`, isInline: true, styles: ["@layer slotted.components{[data-ui=datetime-picker][data-part=root]{display:block;inline-size:100%}[data-ui=datetime-picker] [data-part=control]{--_icon-size: var(--slotted-control-icon-size-md, 16px);--_height: var(--slotted-control-height-md, 34px);align-items:center;display:flex;inline-size:100%;min-inline-size:0;position:relative}[data-ui=datetime-picker][data-part=root][data-size=sm] [data-part=control]{--_icon-size: var(--slotted-control-icon-size-sm, 14px);--_height: var(--slotted-control-height-sm, 30px)}[data-ui=datetime-picker][data-part=root][data-size=lg] [data-part=control]{--_icon-size: var(--slotted-control-icon-size-lg, 18px);--_height: var(--slotted-control-height-lg, 38px)}[data-ui=datetime-picker] [data-part=trigger]{--slotted-icon-size: var(--_icon-size);align-items:center;appearance:none;background-color:transparent;block-size:var( --slotted-datetime-picker-trigger-size, min( calc(var(--_icon-size) + 2 * var(--slotted-space-2, .25rem)), calc( var(--_height) - var(--slotted-control-border-width, 1px) * 2 - var(--slotted-space-2, .25rem) ) ) );border:0;border-radius:var(--slotted-datetime-picker-radius, var(--slotted-control-radius, 4px));color:var(--slotted-datetime-picker-trigger-color, var(--slotted-text-muted, GrayText));cursor:pointer;display:inline-flex;flex:0 0 auto;inline-size:var( --slotted-datetime-picker-trigger-size, min( calc(var(--_icon-size) + 2 * var(--slotted-space-2, .25rem)), calc( var(--_height) - var(--slotted-control-border-width, 1px) * 2 - var(--slotted-space-2, .25rem) ) ) );justify-content:center;padding:0;position:relative;touch-action:manipulation;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-tap-highlight-color:transparent}[data-ui=datetime-picker] [data-part=trigger]:after{content:\"\";inset:min(0px,calc((100% - var(--slotted-target-min, 24px)) / 2));position:absolute}@media(pointer:coarse){[data-ui=datetime-picker] [data-part=trigger]:after{inset:min(0px,calc((100% - var(--slotted-target-comfortable, 44px)) / 2))}[data-ui=datetime-picker] [data-part=end]:has(+[data-part=clear]:not([hidden]))>[data-part=trigger]:after{inset-inline-end:0}}[data-ui=datetime-picker] [data-part=trigger]:hover:not(:disabled):not([data-disabled]){background-color:var( --slotted-datetime-picker-trigger-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=datetime-picker] [data-part=trigger]:active:not(:disabled):not([data-disabled]){background-color:var( --slotted-datetime-picker-trigger-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=datetime-picker] [data-part=trigger]: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=datetime-picker][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-datetime-picker-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=datetime-picker] [data-part=trigger]:disabled{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=datetime-picker][data-part=positioner]{position:absolute;inset-block-start:0;box-sizing:border-box;isolation:isolate;pointer-events:none;z-index:calc(var(--slotted-z-index-popover, 1100) + var(--slotted-layer-depth, 0));--_enter-distance: var(--slotted-space-2, .25rem);opacity:0;translate:0 calc(-1 * var(--_enter-distance));transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit),translate var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=datetime-picker][data-part=positioner][data-side=top]{translate:0 var(--_enter-distance)}[data-ui=datetime-picker][data-part=positioner]:is([data-side=left],[data-side=right]){translate:0 0}[data-ui=datetime-picker][data-part=positioner][data-open]{opacity:1;translate:0 0;transition:none}[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned]{animation:slotted-datetime-picker-enter-down var(--slotted-duration-medium) var(--slotted-easing-enter)}[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned][data-side=top]{animation-name:slotted-datetime-picker-enter-up}[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned]:is([data-side=left],[data-side=right]){animation-name:slotted-datetime-picker-fade}@keyframes slotted-datetime-picker-enter-down{0%{opacity:0;translate:0 calc(-1 * var(--_enter-distance))}}@keyframes slotted-datetime-picker-enter-up{0%{opacity:0;translate:0 var(--_enter-distance)}}@keyframes slotted-datetime-picker-fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){[data-ui=datetime-picker][data-part=positioner],[data-ui=datetime-picker][data-part=positioner][data-side=top],[data-ui=datetime-picker][data-part=positioner][data-side=left],[data-ui=datetime-picker][data-part=positioner][data-side=right]{translate:0 0;transition:opacity var(--slotted-duration-short) var(--slotted-easing-exit)}[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned],[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned][data-side=top],[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned][data-side=left],[data-ui=datetime-picker][data-part=positioner][data-open][data-positioned][data-side=right]{animation-name:slotted-datetime-picker-fade}}[data-ui=datetime-picker][data-part=positioner][data-detached]{visibility:hidden}[data-ui=datetime-picker] [data-part=content]{background-color:var(--slotted-datetime-picker-surface, var(--slotted-surface-raised, Canvas));border:var(--slotted-border-width-thin, 1px) solid var( --slotted-datetime-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );border-radius:var(--slotted-datetime-picker-content-radius, var(--slotted-radius-lg, 8px));box-shadow:var(--slotted-datetime-picker-content-shadow, var(--slotted-shadow-md));box-sizing:border-box;color:var(--slotted-datetime-picker-content-color, var(--slotted-text, CanvasText));--_row: max(var(--slotted-target-min, 24px), var(--slotted-control-height-sm, 30px));--_row-pitch: calc(var(--_row) + var(--slotted-space-1, .125rem));display:grid;gap:var(--slotted-space-2, .25rem);grid-template-areas:\"head\" \"panels\" \"footer\";grid-template-columns:minmax(0,1fr);inline-size:auto;max-inline-size:min(34rem,var(--slotted-positioner-available-width, 34rem));padding:var(--slotted-datetime-picker-content-padding, var(--slotted-space-3, .375rem));pointer-events:auto}[data-ui=datetime-picker] [data-part=head]{box-sizing:border-box;inline-size:0;min-inline-size:100%;align-items:center;border-block-end:var(--slotted-border-width-thin, 1px) solid var( --slotted-datetime-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );column-gap:var(--slotted-space-4, .5rem);display:flex;flex-wrap:wrap;grid-area:head;justify-content:space-between;padding-block-end:var(--slotted-space-3, .375rem);row-gap:var(--slotted-space-2, .25rem)}[data-ui=datetime-picker] [data-part=head-value]{color:var(--slotted-datetime-picker-content-color, var(--slotted-text, CanvasText));font-size:var(--slotted-font-size-sm, 13px);font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-medium, 500);min-inline-size:0;unicode-bidi:plaintext}[data-ui=datetime-picker] [data-part=head-value] [data-placeholder]{color:var(--slotted-datetime-picker-label-color, var(--slotted-text-muted, GrayText))}[data-ui=datetime-picker] [data-part=now]{align-items:center;appearance:none;background-color:var(--slotted-datetime-picker-now-background, transparent);border:var(--slotted-control-border-width, 1px) solid var( --slotted-datetime-picker-now-border-color, var(--slotted-control-border-color, ButtonBorder) );border-radius:var(--slotted-datetime-picker-radius, var(--slotted-control-radius, 4px));color:var(--slotted-datetime-picker-now-color, var(--slotted-text, CanvasText));cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:var(--slotted-control-font-size-sm, 12px);gap:var(--slotted-space-2, .25rem);justify-content:center;min-block-size:var(--slotted-control-height-sm, 30px);padding-block:0;padding-inline:var(--slotted-control-padding-inline-sm, 10px);touch-action:manipulation;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);white-space:nowrap;-webkit-tap-highlight-color:transparent}[data-ui=datetime-picker] [data-part=now]>[data-ui=icon]{color:var(--slotted-datetime-picker-now-icon-color, var(--slotted-text-muted))}[data-ui=datetime-picker] [data-part=now]:hover:not(:disabled):not([data-disabled]){background-color:var( --slotted-datetime-picker-now-hover-background, var(--slotted-tone-secondary-subtle-hover) );border-color:var( --slotted-datetime-picker-now-hover-border-color, var(--slotted-tone-accent-border) )}[data-ui=datetime-picker] [data-part=now]:active:not(:disabled):not([data-disabled]){background-color:var( --slotted-datetime-picker-now-active-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=datetime-picker] [data-part=now]: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=datetime-picker] [data-part=presets]{align-items:center;display:flex;flex-wrap:wrap;gap:var(--slotted-space-2, .25rem)}[data-ui=datetime-picker] [data-part=panels]{column-gap:var(--slotted-space-6, 1rem);display:flex;flex-wrap:wrap;grid-area:panels;min-inline-size:0;row-gap:var(--slotted-space-4, .5rem)}[data-ui=datetime-picker] [data-part=date-panel]{flex:0 0 auto}[data-ui=datetime-picker] [data-part=time-panel]{display:flex;flex:1 1 var(--slotted-datetime-picker-time-panel-inline-size, 7rem);flex-direction:column;gap:var(--slotted-space-2, .25rem);min-inline-size:var(--slotted-datetime-picker-time-panel-inline-size, 7rem)}[data-ui=datetime-picker] [data-part=list]{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--slotted-space-1, .125rem);max-block-size:var(--slotted-datetime-picker-list-block-size, calc(var(--_row-pitch) * 7.5));min-block-size:0;min-inline-size:0;overflow-y:auto;scroll-padding-block:var(--slotted-space-2, .25rem)}[data-ui=datetime-picker] [data-part=option]{align-items:center;background-color:transparent;border-radius:var(--slotted-datetime-picker-option-radius, var(--slotted-radius-sm, 4px));color:inherit;cursor:pointer;display:flex;flex:0 0 auto;font-variant-numeric:tabular-nums;gap:var(--slotted-space-2, .25rem);min-block-size:var(--_row);padding-inline:var(--slotted-space-3, .375rem);transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}[data-ui=datetime-picker] [data-part=option]:hover:not([data-disabled]):not([data-selected]):not([data-current]){background-color:var( --slotted-datetime-picker-option-hover-background, var(--slotted-tone-secondary-subtle-hover) )}[data-ui=datetime-picker] [data-part=option][data-current]:not([data-selected]){background-color:var( --slotted-datetime-picker-option-current-background, var(--slotted-tone-secondary-subtle-active) )}[data-ui=datetime-picker] [data-part=option]: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=datetime-picker] [data-part=option][data-selected]{background-color:var( --slotted-datetime-picker-option-selected-background, var(--slotted-tone-accent-solid) );color:var( --slotted-datetime-picker-option-selected-color, var(--slotted-tone-accent-on-solid) )}[data-ui=datetime-picker] [data-part=option][data-selected]:hover:not([data-disabled]){background-color:var( --slotted-datetime-picker-option-selected-hover-background, var(--slotted-tone-accent-solid-hover) )}[data-ui=datetime-picker] [data-part=option][data-disabled]{background-color:transparent;color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=datetime-picker] [data-part=empty]{align-items:center;color:var(--slotted-datetime-picker-label-color, var(--slotted-text-muted, GrayText));display:flex;flex:1 1 auto;justify-content:center;min-block-size:calc(var(--_row) * 2);padding:var(--slotted-space-4, .5rem);text-align:center;text-wrap:balance}[data-ui=datetime-picker] [data-part=footer]{box-sizing:border-box;inline-size:0;min-inline-size:100%;align-items:center;border-block-start:var(--slotted-border-width-thin, 1px) solid var( --slotted-datetime-picker-content-border-color, var(--slotted-border-subtle, ButtonBorder) );display:flex;gap:var(--slotted-space-2, .25rem);grid-area:footer;justify-content:flex-end;padding-block-start:var(--slotted-space-3, .375rem)}@media(max-width:480px)and (pointer:coarse){[data-ui=datetime-picker][data-part=positioner][data-presentation=sheet]{inset:auto 0 0;position:fixed;translate:0 var(--slotted-space-9, 2rem)}[data-ui=datetime-picker][data-part=positioner][data-presentation=sheet][data-open]{translate:0 0}[data-ui=datetime-picker][data-part=positioner][data-presentation=sheet] [data-part=content]{border-end-end-radius:0;border-end-start-radius:0;border-inline:0;border-block-end:0;inline-size:var(--slotted-datetime-picker-sheet-inline-size, 100%);max-inline-size:none;max-block-size:85vh;overflow-y:auto}[data-ui=datetime-picker][data-part=positioner][data-presentation=sheet] [data-part=list]{max-block-size:calc(var(--_row-pitch) * 5.5)}}@media(forced-colors:active){[data-ui=datetime-picker] [data-part=option][data-selected]{background-color:Highlight;color:HighlightText;forced-color-adjust:none}[data-ui=datetime-picker] [data-part=option][data-current]:not([data-selected]){outline:var(--slotted-focus-ring-width, 2px) solid Highlight;outline-offset:calc(var(--slotted-focus-ring-offset, 2px) * -1)}}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SlCalendar, selector: "[slCalendar]", inputs: ["value", "defaultValue", "focusedDate", "defaultFocusedDate", "min", "max", "isDateUnavailable", "selectionMode", "months", "view", "defaultView", "granularity", "weekNumbers", "fixedWeeks", "outsideDays", "locale", "timeZone", "firstDayOfWeek", "calendar", "disabled", "readOnly", "invalid", "messages"], outputs: ["valueChange", "focusedDateChange", "viewChange", "previewChange"], exportAs: ["slCalendar"] }, { kind: "component", type: SlDateTimeField, selector: "[slDateTimeField]", inputs: ["value", "defaultValue", "min", "max", "minTime", "maxTime", "isDateUnavailable", "isTimeUnavailable", "locale", "timeZone", "hourCycle", "granularity", "calendar", "firstDayOfWeek", "yearPivot", "referenceDateTime", "size", "variant", "disabled", "readOnly", "invalid", "required", "clearable", "relative", "messages", "name", "label"], outputs: ["valueChange"], exportAs: ["slDateTimeField"] }, { kind: "directive", type: SlDateTimeFieldEnd, selector: "[slDateTimeFieldEnd]", exportAs: ["slDateTimeFieldEnd"] }, { kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
1162
1162
  }
1163
1163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlDateTimePicker, decorators: [{
1164
1164
  type: Component,