Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/silver-penguins-jam.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'svelte-ux': minor
---

Add support for passing `class` and `classes` props to the DateField component
15 changes: 14 additions & 1 deletion packages/svelte-ux/src/lib/components/DateField.svelte
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
<script lang="ts">
import { createEventDispatcher } from 'svelte';
import { createEventDispatcher, type ComponentProps } from 'svelte';
import { parse as parseDate } from 'date-fns';
import { PeriodType } from '../utils';
import { getComponentSettings, getSettings } from './settings';
import { cls } from '../utils/styles';

import Field from './Field.svelte';

Expand All @@ -21,6 +22,13 @@
$: actualFormat = format ?? $format_ux.settings.formats.dates.baseParsing ?? 'MM/dd/yyyy';
$: actualMask = mask ?? actualFormat.toLowerCase();

type FieldClasses = NonNullable<ComponentProps<Field>['classes']>;

export let classes: {
root?: FieldClasses['root'];
field?: FieldClasses;
} = {};

// Field props
export let label = '';
export let labelPlacement = defaults.labelPlacement;
Expand All @@ -46,9 +54,12 @@
dispatch('change', { value });
}
}

$: restProps = { ...defaults, ...$$restProps };
</script>

<Field
{...restProps}
{label}
{value}
{icon}
Expand All @@ -65,6 +76,8 @@
inputValue = undefined;
dispatch('change', { value });
}}
classes={classes.field}
class={cls('DateField', settingsClasses.root, classes.root, $$props.class)}
let:id
>
<Input
Expand Down