svelte-time-input 0.3.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/dist/TimeInput.svelte +7 -5
- package/dist/TimeInput.svelte.d.ts +27 -5
- package/package.json +2 -2
- package/src/TimeInput.svelte +7 -5
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ Segmented time input fields for your Svelte 5 app. Svelte port of the input part
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```sh
|
|
8
|
-
npm install svelte-time-input
|
|
8
|
+
npm install svelte-time-input svelte-date-utils
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Requires Svelte 5 or later. It installs `svelte-date-input` as a dependency.
|
|
@@ -15,13 +15,18 @@ Requires Svelte 5 or later. It installs `svelte-date-input` as a dependency.
|
|
|
15
15
|
```svelte
|
|
16
16
|
<script lang="ts">
|
|
17
17
|
import TimeInput from 'svelte-time-input';
|
|
18
|
+
import { AdapterDate } from 'svelte-date-utils';
|
|
19
|
+
import { provideDateAdapter } from 'svelte-date-utils';
|
|
18
20
|
|
|
21
|
+
provideDateAdapter(new AdapterDate());
|
|
19
22
|
let value = $state<string | null>('22:15');
|
|
20
23
|
</script>
|
|
21
24
|
|
|
22
25
|
<TimeInput name="time" onChange={(nextValue) => (value = nextValue)} {value} />
|
|
23
26
|
```
|
|
24
27
|
|
|
28
|
+
The adapter is required and comes from Svelte context. Call `provideDateAdapter(adapter)` in this component or an ancestor before rendering `TimeInput`; without it, the input throws an error. The public time value remains an `HH:mm[:ss]` string, while the adapter supplies date operations used internally. `AdapterDate` uses native `Date`; date-fns, Luxon and `@internationalized/date` adapters are exported from `svelte-date-utils/date-fns`, `svelte-date-utils/luxon` and `svelte-date-utils/internationalized`.
|
|
29
|
+
|
|
25
30
|
`value` is an `HH:mm[:ss]` string (a `Date` is accepted too) and `onChange` receives such a string, or `null`.
|
|
26
31
|
|
|
27
32
|
## Props
|
package/dist/TimeInput.svelte
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
<script lang="ts">
|
|
1
|
+
<script lang="ts" generics="T">
|
|
2
2
|
import { SegmentedInput } from 'svelte-date-input';
|
|
3
3
|
|
|
4
4
|
import type { ComponentProps } from 'svelte';
|
|
5
|
-
import type {
|
|
5
|
+
import type { TimeDetail } from 'svelte-date-input';
|
|
6
6
|
|
|
7
|
-
type
|
|
7
|
+
type LooseValuePiece<T> = string | T | null;
|
|
8
|
+
|
|
9
|
+
type TimeInputProps<T> = Omit<
|
|
8
10
|
ComponentProps<typeof SegmentedInput>,
|
|
9
11
|
| 'dayAriaLabel'
|
|
10
12
|
| 'dayPlaceholder'
|
|
@@ -32,10 +34,10 @@
|
|
|
32
34
|
/**
|
|
33
35
|
* Time as an `HH:mm[:ss]` string or a Date.
|
|
34
36
|
*/
|
|
35
|
-
value?: LooseValuePiece
|
|
37
|
+
value?: LooseValuePiece<T>;
|
|
36
38
|
};
|
|
37
39
|
|
|
38
|
-
let { onChange, ...props }: TimeInputProps = $props();
|
|
40
|
+
let { onChange, ...props }: TimeInputProps<T> = $props();
|
|
39
41
|
</script>
|
|
40
42
|
|
|
41
43
|
<SegmentedInput
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { SegmentedInput } from 'svelte-date-input';
|
|
2
2
|
import type { ComponentProps } from 'svelte';
|
|
3
|
-
import type {
|
|
4
|
-
type
|
|
3
|
+
import type { TimeDetail } from 'svelte-date-input';
|
|
4
|
+
type LooseValuePiece<T> = string | T | null;
|
|
5
|
+
type TimeInputProps<T> = Omit<ComponentProps<typeof SegmentedInput>, 'dayAriaLabel' | 'dayPlaceholder' | 'kind' | 'maxDate' | 'maxDetail' | 'minDate' | 'monthAriaLabel' | 'monthPlaceholder' | 'onChange' | 'value' | 'yearAriaLabel' | 'yearPlaceholder'> & {
|
|
5
6
|
/**
|
|
6
7
|
* The most detailed field the user shall see.
|
|
7
8
|
*
|
|
@@ -15,8 +16,29 @@ type TimeInputProps = Omit<ComponentProps<typeof SegmentedInput>, 'dayAriaLabel'
|
|
|
15
16
|
/**
|
|
16
17
|
* Time as an `HH:mm[:ss]` string or a Date.
|
|
17
18
|
*/
|
|
18
|
-
value?: LooseValuePiece
|
|
19
|
+
value?: LooseValuePiece<T>;
|
|
19
20
|
};
|
|
20
|
-
declare
|
|
21
|
-
|
|
21
|
+
declare function $$render<T>(): {
|
|
22
|
+
props: TimeInputProps<T>;
|
|
23
|
+
exports: {};
|
|
24
|
+
bindings: "";
|
|
25
|
+
slots: {};
|
|
26
|
+
events: {};
|
|
27
|
+
};
|
|
28
|
+
declare class __sveltets_Render<T> {
|
|
29
|
+
props(): ReturnType<typeof $$render<T>>['props'];
|
|
30
|
+
events(): ReturnType<typeof $$render<T>>['events'];
|
|
31
|
+
slots(): ReturnType<typeof $$render<T>>['slots'];
|
|
32
|
+
bindings(): "";
|
|
33
|
+
exports(): {};
|
|
34
|
+
}
|
|
35
|
+
interface $$IsomorphicComponent {
|
|
36
|
+
new <T>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
|
|
37
|
+
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
|
|
38
|
+
} & ReturnType<__sveltets_Render<T>['exports']>;
|
|
39
|
+
<T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
|
|
40
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
41
|
+
}
|
|
42
|
+
declare const TimeInput: $$IsomorphicComponent;
|
|
43
|
+
type TimeInput<T> = InstanceType<typeof TimeInput<T>>;
|
|
22
44
|
export default TimeInput;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svelte-time-input",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Segmented time input fields for your Svelte app.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"input",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"watch": "svelte-package --input src --output dist --watch"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"svelte-date-input": "^0.
|
|
52
|
+
"svelte-date-input": "^0.5.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@sveltejs/package": "^3.0.1",
|
package/src/TimeInput.svelte
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
<script lang="ts">
|
|
1
|
+
<script lang="ts" generics="T">
|
|
2
2
|
import { SegmentedInput } from 'svelte-date-input';
|
|
3
3
|
|
|
4
4
|
import type { ComponentProps } from 'svelte';
|
|
5
|
-
import type {
|
|
5
|
+
import type { TimeDetail } from 'svelte-date-input';
|
|
6
6
|
|
|
7
|
-
type
|
|
7
|
+
type LooseValuePiece<T> = string | T | null;
|
|
8
|
+
|
|
9
|
+
type TimeInputProps<T> = Omit<
|
|
8
10
|
ComponentProps<typeof SegmentedInput>,
|
|
9
11
|
| 'dayAriaLabel'
|
|
10
12
|
| 'dayPlaceholder'
|
|
@@ -32,10 +34,10 @@
|
|
|
32
34
|
/**
|
|
33
35
|
* Time as an `HH:mm[:ss]` string or a Date.
|
|
34
36
|
*/
|
|
35
|
-
value?: LooseValuePiece
|
|
37
|
+
value?: LooseValuePiece<T>;
|
|
36
38
|
};
|
|
37
39
|
|
|
38
|
-
let { onChange, ...props }: TimeInputProps = $props();
|
|
40
|
+
let { onChange, ...props }: TimeInputProps<T> = $props();
|
|
39
41
|
</script>
|
|
40
42
|
|
|
41
43
|
<SegmentedInput
|