From e7bc4a6fd2c72454d229b0e7ba4aa7f2c7f72263 Mon Sep 17 00:00:00 2001 From: scott simpson Date: Mon, 13 Oct 2025 10:49:13 +1100 Subject: [PATCH 1/4] feat: add inputDefault prop to DateInput --- .../src/lib/atoms/inputs/date-input/DateInput.svelte | 3 +++ .../src/lib/atoms/inputs/date-input/_DateInput.svelte | 10 ++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/ui/core-components/src/lib/atoms/inputs/date-input/DateInput.svelte b/packages/ui/core-components/src/lib/atoms/inputs/date-input/DateInput.svelte index 3b1b9a8a97..6c36046852 100644 --- a/packages/ui/core-components/src/lib/atoms/inputs/date-input/DateInput.svelte +++ b/packages/ui/core-components/src/lib/atoms/inputs/date-input/DateInput.svelte @@ -45,6 +45,8 @@ /** @type {boolean| string} */ export let range = false; $: range = toBoolean(range); + /** @type {'start' | 'end'} */ + export let inputDefault = 'start'; let query; let errors = []; @@ -155,6 +157,7 @@ {currentDate} {title} {description} + {inputDefault} /> {/if} diff --git a/packages/ui/core-components/src/lib/atoms/inputs/date-input/_DateInput.svelte b/packages/ui/core-components/src/lib/atoms/inputs/date-input/_DateInput.svelte index 4c30d94a75..7e375a8c46 100644 --- a/packages/ui/core-components/src/lib/atoms/inputs/date-input/_DateInput.svelte +++ b/packages/ui/core-components/src/lib/atoms/inputs/date-input/_DateInput.svelte @@ -55,6 +55,8 @@ export let extraDayEndString = undefined; /** @type {string | undefined} */ export let description = undefined; + /** @type {'start' | 'end'} */ + export let inputDefault = 'start'; /** @type { { label: string, group: string, range: import('bits-ui').DateRange }[] } */ $: presets = [ @@ -192,13 +194,13 @@ } } - function setPlaceholderDefault(d) { - placeholder = d; + function setPlaceholderDefault(d, defaultType) { + placeholder = defaultType === 'end' ? d : calendarStart; } let selectedPreset; let placeholder; - $: setPlaceholderDefault(calendarEnd); + $: setPlaceholderDefault(calendarEnd, inputDefault); // group exists check for nicely rendering group border for dropdown function groupExists(groupName) { @@ -244,7 +246,7 @@ if (range) { selectedDateInput = { start, end }; } else { - selectedDateInput = start; + selectedDateInput = inputDefault === 'end' ? end : start; } } $: updateDateRange(calendarStart, calendarEnd); From caa8d93843e5989bb7c5282347a9d0729c68cec0 Mon Sep 17 00:00:00 2001 From: scott simpson Date: Mon, 13 Oct 2025 10:49:37 +1100 Subject: [PATCH 2/4] feat: demo page for inputDefault prop in DateInput --- .../input-components/date-picker/+page.md | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 sites/example-project/src/pages/input-components/date-picker/+page.md diff --git a/sites/example-project/src/pages/input-components/date-picker/+page.md b/sites/example-project/src/pages/input-components/date-picker/+page.md new file mode 100644 index 0000000000..d187a52f51 --- /dev/null +++ b/sites/example-project/src/pages/input-components/date-picker/+page.md @@ -0,0 +1,26 @@ +--- +queries: +--- + +```sql seven_days_sales +select + strftime(invoice_date, '%Y-%m-%d') as invoice_date + , sum(total_sales) as sales_usd0 +from orders +group by invoice_date +order by invoice_date desc limit 7 +``` + + +# Date Picker without Default set + + + + + +# Date Picker with Default set to End + + + + + From 5b11481ddfb034a362b597410afda23162a9a9d4 Mon Sep 17 00:00:00 2001 From: scott simpson Date: Mon, 13 Oct 2025 10:50:07 +1100 Subject: [PATCH 3/4] docs: add inputDefault prop to DateInput --- sites/docs/pages/components/inputs/date-input/index.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sites/docs/pages/components/inputs/date-input/index.md b/sites/docs/pages/components/inputs/date-input/index.md index 8d097affc5..aea1ded3bd 100644 --- a/sites/docs/pages/components/inputs/date-input/index.md +++ b/sites/docs/pages/components/inputs/date-input/index.md @@ -293,12 +293,20 @@ Customize "Select a Range" drop down, by including present range options. **Rang Accepts preset in string format to apply default value in Date Input picker. **Range options**: `'Last 7 Days'` `'Last 30 Days'` `'Last 90 Days'` `'Last 3 Months'` `'Last 6 Months'` `'Last 12 Months'` `'Last Month'` `'Last Year'` `'Month to Date'` `'Year to Date'` `'All Time'` + + + Date: Mon, 13 Oct 2025 10:59:26 +1100 Subject: [PATCH 4/4] chore: changeset for inputDefault prop into DateInput --- .changeset/giant-tigers-poke.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/giant-tigers-poke.md diff --git a/.changeset/giant-tigers-poke.md b/.changeset/giant-tigers-poke.md new file mode 100644 index 0000000000..e12ec0ab15 --- /dev/null +++ b/.changeset/giant-tigers-poke.md @@ -0,0 +1,7 @@ +--- +'@evidence-dev/core-components': minor +'my-evidence-project': minor +'@evidence-dev/components': minor +--- + +Add inputDefault prop to DateInput component to pick start or end of range as default