@functionalcms/svelte-components 5.3.5 → 5.3.7
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.
|
@@ -10,7 +10,10 @@
|
|
|
10
10
|
type TimePickerField,
|
|
11
11
|
SubmitResult,
|
|
12
12
|
type ButtonConfig,
|
|
13
|
-
type HiddenField
|
|
13
|
+
type HiddenField,
|
|
14
|
+
|
|
15
|
+
DatePickerField
|
|
16
|
+
|
|
14
17
|
} from './form.js';
|
|
15
18
|
import {
|
|
16
19
|
Button,
|
|
@@ -23,7 +26,8 @@
|
|
|
23
26
|
Input,
|
|
24
27
|
FloatingLabelInput,
|
|
25
28
|
Timepicker,
|
|
26
|
-
PhoneInput
|
|
29
|
+
PhoneInput,
|
|
30
|
+
Datepicker
|
|
27
31
|
} from 'flowbite-svelte';
|
|
28
32
|
import { fade } from 'svelte/transition';
|
|
29
33
|
|
|
@@ -175,6 +179,7 @@
|
|
|
175
179
|
readonly={field.readonly}
|
|
176
180
|
disabled={field.disabled}
|
|
177
181
|
class={field.class}
|
|
182
|
+
multiple={field.multiple}
|
|
178
183
|
/>
|
|
179
184
|
{/snippet}
|
|
180
185
|
|
|
@@ -196,6 +201,12 @@
|
|
|
196
201
|
<Timepicker id={field.id} required={field.required} disabled={field.disabled} />
|
|
197
202
|
{/snippet}
|
|
198
203
|
|
|
204
|
+
{#snippet renderDatePicker(field: DatePickerField)}
|
|
205
|
+
<Label for={field.id} class={field.labelClass}>{field.label}</Label>
|
|
206
|
+
<Datepicker required={field.required} bind:value={field.value} />
|
|
207
|
+
<input type="hidden" name={field.id} bind:value={field.value} />
|
|
208
|
+
{/snippet}
|
|
209
|
+
|
|
199
210
|
{#snippet renderHidden(field: HiddenField)}
|
|
200
211
|
<input type="hidden" id={field.id} name={field.id} value={field.value} />
|
|
201
212
|
{/snippet}
|
|
@@ -224,6 +235,8 @@
|
|
|
224
235
|
{@render renderTimePicker(field)}
|
|
225
236
|
{:else if field.typeOfField === 'hidden'}
|
|
226
237
|
{@render renderHidden(field)}
|
|
238
|
+
{:else if field.typeOfField === 'date'}
|
|
239
|
+
{@render renderDatePicker(field)}
|
|
227
240
|
{/if}
|
|
228
241
|
{/each}
|
|
229
242
|
|
|
@@ -19,7 +19,7 @@ export type FieldDef = {
|
|
|
19
19
|
label: string;
|
|
20
20
|
class?: string;
|
|
21
21
|
labelClass?: string;
|
|
22
|
-
typeOfField: "input" | "textarea" | "select" | "collection" | "phoneInput" | "file" | "timepicker" | "hidden";
|
|
22
|
+
typeOfField: "input" | "textarea" | "select" | "collection" | "phoneInput" | "file" | "timepicker" | "date" | "hidden";
|
|
23
23
|
disabled?: boolean;
|
|
24
24
|
readonly?: boolean;
|
|
25
25
|
required?: boolean;
|
|
@@ -45,7 +45,16 @@ export type TextareaField = FieldDef & {
|
|
|
45
45
|
export type FilePickerField = FieldDef & {
|
|
46
46
|
typeOfField: "file";
|
|
47
47
|
size: "md" | "sm" | "lg";
|
|
48
|
+
multiple?: boolean;
|
|
49
|
+
filter?: string;
|
|
48
50
|
};
|
|
51
|
+
export type DatePickerField = FieldDef & {
|
|
52
|
+
typeOfField: "date";
|
|
53
|
+
inline?: boolean;
|
|
54
|
+
rangeFrom?: Date | undefined;
|
|
55
|
+
rangeTo?: Date | undefined;
|
|
56
|
+
};
|
|
57
|
+
export type DropzoneField = FieldDef & {};
|
|
49
58
|
export type CollectionField = FieldDef & {
|
|
50
59
|
items: Array<{
|
|
51
60
|
name: string;
|
|
@@ -73,7 +82,7 @@ export type PhoneInputField = FieldDef & {
|
|
|
73
82
|
size: "md" | "sm" | "lg";
|
|
74
83
|
placeholder?: string;
|
|
75
84
|
};
|
|
76
|
-
export type Field = InputField | TextareaField | CollectionField | SelectField | FilePickerField | TimePickerField | PhoneInputField | HiddenField;
|
|
85
|
+
export type Field = InputField | TextareaField | CollectionField | SelectField | FilePickerField | DatePickerField | DropzoneField | TimePickerField | PhoneInputField | HiddenField;
|
|
77
86
|
export declare enum SubmitResult {
|
|
78
87
|
Success = "success",
|
|
79
88
|
Error = "error"
|
|
@@ -86,6 +95,7 @@ export type HiddenField = {
|
|
|
86
95
|
export declare function createInputField(id: string, label: string, type?: InputType, value?: any, options?: Partial<Omit<InputField, "id" | "label" | "typeOfField" | "type">>): InputField;
|
|
87
96
|
export declare function createTextareaField(id: string, label: string, value?: any, rows?: number, cols?: number, options?: Partial<Omit<TextareaField, "id" | "label" | "typeOfField" | "rows" | "cols">>): TextareaField;
|
|
88
97
|
export declare function createFilePickerField(id: string, label: string, value?: any, options?: Partial<Omit<FilePickerField, "id" | "label" | "typeOfField">>): FilePickerField;
|
|
98
|
+
export declare function createDatePickerField(id: string, label: string, value?: any, options?: Partial<Omit<DatePickerField, "id" | "label" | "typeOfField">>): DatePickerField;
|
|
89
99
|
export declare function createCollectionField(id: string, label: string, items: Array<{
|
|
90
100
|
name: string;
|
|
91
101
|
checked: boolean;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Dropzone } from "flowbite-svelte";
|
|
1
2
|
export var InputType;
|
|
2
3
|
(function (InputType) {
|
|
3
4
|
InputType["Text"] = "text";
|
|
@@ -54,6 +55,15 @@ export function createFilePickerField(id, label, value = null, options = {}) {
|
|
|
54
55
|
...options
|
|
55
56
|
};
|
|
56
57
|
}
|
|
58
|
+
export function createDatePickerField(id, label, value = null, options = {}) {
|
|
59
|
+
return {
|
|
60
|
+
id,
|
|
61
|
+
label,
|
|
62
|
+
value,
|
|
63
|
+
typeOfField: "date",
|
|
64
|
+
...options
|
|
65
|
+
};
|
|
66
|
+
}
|
|
57
67
|
export function createCollectionField(id, label, items, groupName, type = "checkbox", value = [], options = {}) {
|
|
58
68
|
return {
|
|
59
69
|
id,
|