diff --git a/src/uix/eidos/components/date-picker/date-picker-month-view.svelte b/src/uix/eidos/components/date-picker/date-picker-month-view.svelte index cc209edc9..d083f58f3 100644 --- a/src/uix/eidos/components/date-picker/date-picker-month-view.svelte +++ b/src/uix/eidos/components/date-picker/date-picker-month-view.svelte @@ -1,94 +1,72 @@ -
-
- - {year} - -
-
- {#each months as month (month)} - - {/each} -
-
+ {#snippet children({ months }: MonthGridProviderSnippetProps)} + + < + + > + + + {#each months as month (month)} + + {/each} + + {/snippet} + diff --git a/src/uix/eidos/components/date-picker/date-picker-year-view.svelte b/src/uix/eidos/components/date-picker/date-picker-year-view.svelte index 0866d0d07..f890e0e64 100644 --- a/src/uix/eidos/components/date-picker/date-picker-year-view.svelte +++ b/src/uix/eidos/components/date-picker/date-picker-year-view.svelte @@ -1,97 +1,71 @@ -
-
- - - {decadeStart} – {decadeStart + 11} - - -
-
- {#each years as year (year)} - - {/each} -
-
+ {#snippet children({ years }: YearGridProviderSnippetProps)} + + < + + > + + + {#each years as year (year)} + + {/each} + + {/snippet} + diff --git a/src/uix/eidos/components/date-picker/date-picker.css b/src/uix/eidos/components/date-picker/date-picker.css index 99035b37c..952d1a0a4 100644 --- a/src/uix/eidos/components/date-picker/date-picker.css +++ b/src/uix/eidos/components/date-picker/date-picker.css @@ -195,97 +195,12 @@ /* ── Year-view + Month-view (kind='year' / 'month') ──────────────────────── */ - -[data-date-picker-year-view], -[data-date-picker-month-view] { - display: flex; - flex-direction: column; - gap: var(--space-3); - inline-size: min(20rem, 100%); -} - -[data-date-picker-year-view-header], -[data-date-picker-month-view-header] { - display: flex; - align-items: center; - justify-content: space-between; - gap: var(--space-2); -} - -[data-date-picker-year-view-heading], -[data-date-picker-month-view-heading] { - font-weight: var(--font-weight-semibold); - color: var(--color-content-primary); -} - -[data-date-picker-year-view-prev], -[data-date-picker-year-view-next], -[data-date-picker-month-view-prev], -[data-date-picker-month-view-next] { - min-block-size: var(--control-height-sm); - min-inline-size: var(--control-height-sm); - border-radius: var(--radius-md); - border: var(--border-width) solid transparent; - background: transparent; - color: var(--color-content-primary); - cursor: pointer; - font: inherit; - font-size: var(--font-size-md); -} - -[data-date-picker-year-view-prev]:hover, -[data-date-picker-year-view-next]:hover, -[data-date-picker-month-view-prev]:hover, -[data-date-picker-month-view-next]:hover { - background: var(--color-surface-overlay); -} - -[data-date-picker-year-view-grid], -[data-date-picker-month-view-grid] { - display: grid; - grid-template-columns: repeat(3, minmax(0, 1fr)); - gap: var(--space-2); -} - -[data-date-picker-year-view-cell], -[data-date-picker-month-view-cell] { - min-block-size: var(--control-height-md); - border-radius: var(--radius-md); - border: var(--border-width) solid transparent; - background: transparent; - color: var(--color-content-primary); - cursor: pointer; - font: inherit; - font-size: var(--font-size-sm); - transition: - background var(--duration-fast) var(--ease-default), - color var(--duration-fast) var(--ease-default); -} - -[data-date-picker-year-view-cell]:hover, -[data-date-picker-month-view-cell]:hover { - background: var(--color-surface-overlay); -} - -[data-date-picker-year-view-cell][data-selected], -[data-date-picker-month-view-cell][data-selected] { - background: var(--color-primary-solid); - color: var(--color-content-on-solid); - border-color: var(--color-primary-border); -} - -[data-date-picker-year-view-cell]:focus-visible, -[data-date-picker-month-view-cell]:focus-visible { - outline: var(--focus-ring-width) solid var(--color-primary-border); - outline-offset: var(--focus-ring-offset); -} +/* DatePicker.MonthView and DatePicker.YearView now delegate to the + standalone MonthGrid / YearGrid primitives, so their visuals come from + `month-grid.css` and `year-grid.css`. No local rules needed. */ @media (prefers-reduced-motion: reduce) { [data-date-picker-trigger] { transition: none; } - [data-date-picker-year-view-cell], - [data-date-picker-month-view-cell] { - transition: none; - } }