@stubber/form-fields 2.2.6 → 3.0.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 +63 -25
- package/dist/form-fields/Autocomplete.svelte +261 -0
- package/dist/form-fields/Autocomplete.svelte.d.ts +43 -0
- package/dist/form-fields/CollapsibleSection.svelte +127 -0
- package/dist/form-fields/CollapsibleSection.svelte.d.ts +26 -0
- package/dist/form-fields/FieldLabel.svelte +18 -3
- package/dist/form-fields/FieldLabel.svelte.d.ts +1 -0
- package/dist/form-fields/FieldMessage.svelte +20 -9
- package/dist/form-fields/Form.svelte +19 -2
- package/dist/form-fields/Form.svelte.d.ts +2 -0
- package/dist/form-fields/UploadStatus.svelte +76 -0
- package/dist/form-fields/UploadStatus.svelte.d.ts +18 -0
- package/dist/form-fields/fields/_field-builder-reorder.svelte +35 -0
- package/dist/form-fields/fields/_field-builder-reorder.svelte.d.ts +22 -0
- package/dist/form-fields/{sub → fields}/array-builder-field.svelte +104 -38
- package/dist/form-fields/fields/checkbox-autocomplete.svelte +153 -0
- package/dist/form-fields/fields/checkbox-field.svelte +69 -0
- package/dist/form-fields/{sub → fields}/contact-selector-field.svelte +9 -6
- package/dist/form-fields/{sub → fields}/currency-field.svelte +108 -70
- package/dist/form-fields/fields/data-indication-field.svelte +39 -0
- package/dist/form-fields/fields/date-field.svelte +31 -0
- package/dist/form-fields/fields/date-time-field.svelte +31 -0
- package/dist/form-fields/{sub → fields}/email-field.svelte +25 -11
- package/dist/form-fields/fields/field-builder-field.svelte +568 -0
- package/dist/form-fields/fields/file-field.svelte +284 -0
- package/dist/form-fields/{sub → fields}/file-field.svelte.d.ts +2 -0
- package/dist/form-fields/fields/grid-field.svelte +152 -0
- package/dist/form-fields/{sub → fields}/heading-field.svelte +7 -4
- package/dist/form-fields/{sub → fields}/html-field.svelte +6 -4
- package/dist/form-fields/{sub → fields}/map-field.svelte +121 -78
- package/dist/form-fields/{sub → fields}/multi-checkbox-field.svelte +35 -20
- package/dist/form-fields/fields/multistep-field.svelte +135 -0
- package/dist/form-fields/fields/note-field.svelte +35 -0
- package/dist/form-fields/{sub → fields}/number-field.svelte +29 -14
- package/dist/form-fields/fields/object-builder-field.svelte +176 -0
- package/dist/form-fields/fields/qr-code-scanner-field.svelte +203 -0
- package/dist/form-fields/fields/radio-field.svelte +82 -0
- package/dist/form-fields/{sub → fields}/radio-field.svelte.d.ts +1 -1
- package/dist/form-fields/fields/screenrecorder-field.svelte +255 -0
- package/dist/form-fields/{sub → fields}/screenshot-field.svelte +101 -40
- package/dist/form-fields/{sub → fields}/scroll-and-read-display-field.svelte +43 -27
- package/dist/form-fields/fields/section-field.svelte +73 -0
- package/dist/form-fields/fields/select-field.svelte +104 -0
- package/dist/form-fields/{sub → fields}/signature-field.svelte +78 -22
- package/dist/form-fields/fields/slider-field.svelte +53 -0
- package/dist/form-fields/{sub → fields}/smart-text-field.svelte +62 -82
- package/dist/form-fields/fields/telephone-field.svelte +108 -0
- package/dist/form-fields/{sub → fields}/telephone-field.svelte.d.ts +1 -1
- package/dist/form-fields/{sub → fields}/text-field.svelte +28 -11
- package/dist/form-fields/{sub → fields}/voicenote-field.svelte +117 -46
- package/dist/form-fields/file_creation_options.d.ts +1 -1
- package/dist/form-fields/form-field.svelte +8 -1
- package/dist/form-fields/icons/ChevronDownIcon.svelte +21 -0
- package/dist/form-fields/icons/ChevronDownIcon.svelte.d.ts +20 -0
- package/dist/form-fields/icons/QrCodeScannerIcon.svelte +25 -0
- package/dist/form-fields/icons/QrCodeScannerIcon.svelte.d.ts +19 -0
- package/dist/form-fields/icons/ScreenRecordingIcon.svelte +21 -0
- package/dist/form-fields/icons/ScreenRecordingIcon.svelte.d.ts +19 -0
- package/dist/form-fields/icons/ScreenshotIcon.svelte +22 -0
- package/dist/form-fields/icons/ScreenshotIcon.svelte.d.ts +19 -0
- package/dist/form-fields/index.d.ts +5 -1
- package/dist/form-fields/index.js +3 -1
- package/dist/form-fields/interfaces.d.ts +63 -63
- package/dist/form-fields/interfaces.js +42 -39
- package/dist/form-fields/intl-tel-input.css +1 -0
- package/dist/form-fields/styles.d.ts +17 -0
- package/dist/form-fields/styles.js +4 -0
- package/package.json +2 -4
- package/dist/form-fields/sub/checkbox-autocomplete.svelte +0 -56
- package/dist/form-fields/sub/checkbox-field.svelte +0 -42
- package/dist/form-fields/sub/data-indication-field.svelte +0 -19
- package/dist/form-fields/sub/date-field.svelte +0 -31
- package/dist/form-fields/sub/date-time-field.svelte +0 -31
- package/dist/form-fields/sub/field-builder-field.svelte +0 -657
- package/dist/form-fields/sub/file-field.svelte +0 -159
- package/dist/form-fields/sub/grid-field.svelte +0 -69
- package/dist/form-fields/sub/multistep-field.svelte +0 -70
- package/dist/form-fields/sub/note-field.svelte +0 -18
- package/dist/form-fields/sub/object-builder-field.svelte +0 -134
- package/dist/form-fields/sub/qr-code-scanner-field.svelte +0 -84
- package/dist/form-fields/sub/radio-field.svelte +0 -69
- package/dist/form-fields/sub/screenrecorder-field.svelte +0 -178
- package/dist/form-fields/sub/section-field.svelte +0 -50
- package/dist/form-fields/sub/select-field.svelte +0 -150
- package/dist/form-fields/sub/slider-field.svelte +0 -28
- package/dist/form-fields/sub/telephone-field.svelte +0 -64
- /package/dist/form-fields/{sub → fields}/array-builder-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/checkbox-autocomplete.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/checkbox-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/code-field.svelte +0 -0
- /package/dist/form-fields/{sub → fields}/code-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/contact-selector-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/currency-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/data-indication-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/date-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/date-time-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/email-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/field-builder-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/grid-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/heading-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/hidden-field.svelte +0 -0
- /package/dist/form-fields/{sub → fields}/hidden-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/hidden-location-field.svelte +0 -0
- /package/dist/form-fields/{sub → fields}/hidden-location-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/html-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/jsoneditor-field.svelte +0 -0
- /package/dist/form-fields/{sub → fields}/jsoneditor-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/map-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/multi-checkbox-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/multistep-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/note-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/number-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/object-builder-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/qr-code-scanner-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/screenrecorder-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/screenshot-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/scroll-and-read-display-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/section-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/select-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/selectresource-field.svelte +0 -0
- /package/dist/form-fields/{sub → fields}/selectresource-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/signature-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/slider-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/smart-text-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/text-field.svelte.d.ts +0 -0
- /package/dist/form-fields/{sub → fields}/voicenote-field.svelte.d.ts +0 -0
|
@@ -1,41 +1,42 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
import
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
import
|
|
24
|
-
import
|
|
25
|
-
import
|
|
26
|
-
import
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import
|
|
31
|
-
import
|
|
32
|
-
import
|
|
33
|
-
import
|
|
34
|
-
import
|
|
35
|
-
import
|
|
36
|
-
import
|
|
37
|
-
import
|
|
38
|
-
import
|
|
1
|
+
import { isEqual } from "lodash-es";
|
|
2
|
+
import ArrayBuilderField from "./fields/array-builder-field.svelte";
|
|
3
|
+
import CheckboxAutocomplete from "./fields/checkbox-autocomplete.svelte";
|
|
4
|
+
import CheckboxField from "./fields/checkbox-field.svelte";
|
|
5
|
+
import CodeField from "./fields/code-field.svelte";
|
|
6
|
+
import ContactSelectorField from "./fields/contact-selector-field.svelte";
|
|
7
|
+
import CurrencyField from "./fields/currency-field.svelte";
|
|
8
|
+
import DataIndicationField, {} from "./fields/data-indication-field.svelte";
|
|
9
|
+
import DateField from "./fields/date-field.svelte";
|
|
10
|
+
import DateTimeField from "./fields/date-time-field.svelte";
|
|
11
|
+
import EmailField from "./fields/email-field.svelte";
|
|
12
|
+
import FieldBuilderField, {} from "./fields/field-builder-field.svelte";
|
|
13
|
+
import FileField, {} from "./fields/file-field.svelte";
|
|
14
|
+
import GridField from "./fields/grid-field.svelte";
|
|
15
|
+
import HeadingField, {} from "./fields/heading-field.svelte";
|
|
16
|
+
import HiddenField, {} from "./fields/hidden-field.svelte";
|
|
17
|
+
import HiddenLocationField from "./fields/hidden-location-field.svelte";
|
|
18
|
+
import HtmlField, {} from "./fields/html-field.svelte";
|
|
19
|
+
import JSONEditorField, {} from "./fields/jsoneditor-field.svelte";
|
|
20
|
+
import MapField from "./fields/map-field.svelte";
|
|
21
|
+
import MultiCheckboxField from "./fields/multi-checkbox-field.svelte";
|
|
22
|
+
import MultistepField from "./fields/multistep-field.svelte";
|
|
23
|
+
import NoteField, {} from "./fields/note-field.svelte";
|
|
24
|
+
import NumberField from "./fields/number-field.svelte";
|
|
25
|
+
import ObjectBuilderField, {} from "./fields/object-builder-field.svelte";
|
|
26
|
+
import QrCodeScannerField, {} from "./fields/qr-code-scanner-field.svelte";
|
|
27
|
+
import RadioField from "./fields/radio-field.svelte";
|
|
28
|
+
import ScreenrecorderField from "./fields/screenrecorder-field.svelte";
|
|
29
|
+
import ScreenshotField from "./fields/screenshot-field.svelte";
|
|
30
|
+
import ScrollAndReadDisplayField, {} from "./fields/scroll-and-read-display-field.svelte";
|
|
31
|
+
import SectionField from "./fields/section-field.svelte";
|
|
32
|
+
import SelectField from "./fields/select-field.svelte";
|
|
33
|
+
import SelectresourceField, {} from "./fields/selectresource-field.svelte";
|
|
34
|
+
import SignatureField, {} from "./fields/signature-field.svelte";
|
|
35
|
+
import SliderField from "./fields/slider-field.svelte";
|
|
36
|
+
import SmartTextField from "./fields/smart-text-field.svelte";
|
|
37
|
+
import TelephoneField from "./fields/telephone-field.svelte";
|
|
38
|
+
import TextField from "./fields/text-field.svelte";
|
|
39
|
+
import VoicenoteField from "./fields/voicenote-field.svelte";
|
|
39
40
|
export const fields = {
|
|
40
41
|
text: TextField,
|
|
41
42
|
number: NumberField,
|
|
@@ -86,6 +87,8 @@ const string_fields = [
|
|
|
86
87
|
"date",
|
|
87
88
|
"datetime",
|
|
88
89
|
"hidden",
|
|
90
|
+
"currency",
|
|
91
|
+
"dataindication",
|
|
89
92
|
];
|
|
90
93
|
export const final_field_type = (f, allow_dynamic_switching) => {
|
|
91
94
|
if (!allow_dynamic_switching) {
|
|
@@ -96,7 +99,7 @@ export const final_field_type = (f, allow_dynamic_switching) => {
|
|
|
96
99
|
if (!Array.isArray(options)) {
|
|
97
100
|
return "smart_text";
|
|
98
101
|
}
|
|
99
|
-
const has_value_in_options = options.some((opt) => opt.value
|
|
102
|
+
const has_value_in_options = options.some((opt) => isEqual(opt.value, f.value));
|
|
100
103
|
if (has_value_in_options) {
|
|
101
104
|
return "select";
|
|
102
105
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "intl-tel-input/styles";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Writable } from "svelte/store";
|
|
2
|
+
export interface FormFieldStyles {
|
|
3
|
+
label?: string;
|
|
4
|
+
input?: string;
|
|
5
|
+
choice?: string;
|
|
6
|
+
range?: string;
|
|
7
|
+
message?: string;
|
|
8
|
+
group?: string;
|
|
9
|
+
dropzone?: string;
|
|
10
|
+
popover?: string;
|
|
11
|
+
option?: string;
|
|
12
|
+
button?: string;
|
|
13
|
+
uploadItem?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const STYLES_CONTEXT: unique symbol;
|
|
16
|
+
export type StylesContext = Writable<FormFieldStyles>;
|
|
17
|
+
export declare function classNames(...values: Array<string | undefined | false>): string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stubber/form-fields",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "An automatic form builder based on field specifications",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"components",
|
|
@@ -64,7 +64,6 @@
|
|
|
64
64
|
"@codemirror/lang-javascript": "^6.2.4",
|
|
65
65
|
"@codemirror/state": "^6.5.2",
|
|
66
66
|
"@codemirror/view": "^6.38.4",
|
|
67
|
-
"@stubber/ui": "^1.13.9",
|
|
68
67
|
"ag-grid-community": "^31.0.2",
|
|
69
68
|
"ag-grid-enterprise": "^31.0.2",
|
|
70
69
|
"codemirror": "^6.0.2",
|
|
@@ -74,13 +73,12 @@
|
|
|
74
73
|
"fast-equals": "^5.0.1",
|
|
75
74
|
"github-markdown-css": "^5.2.0",
|
|
76
75
|
"html5-qrcode": "^2.3.8",
|
|
77
|
-
"intl-tel-input": "^29.
|
|
76
|
+
"intl-tel-input": "^29.2.3",
|
|
78
77
|
"jsonata": "^2.0.3",
|
|
79
78
|
"lodash-es": "^4.17.21",
|
|
80
79
|
"markdown-it": "^13.0.1",
|
|
81
80
|
"signature_pad": "^4.1.6",
|
|
82
81
|
"svelte": "^4.2.19",
|
|
83
|
-
"svelte-file-dropzone": "^2.0.4",
|
|
84
82
|
"svelte-jsoneditor": "^2.3.3",
|
|
85
83
|
"svelte-markdown": "^0.4.0",
|
|
86
84
|
"svelte-writable-derived": "^3.1.0"
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
<script context="module"></script>
|
|
2
|
-
|
|
3
|
-
<script>import { Button } from "@stubber/ui/button";
|
|
4
|
-
import { Label } from "@stubber/ui/label";
|
|
5
|
-
import * as Popover from "@stubber/ui/popover";
|
|
6
|
-
import * as RadioGroup from "@stubber/ui/radio-group";
|
|
7
|
-
import CheckboxField, {} from "./checkbox-field.svelte";
|
|
8
|
-
import SmartTextField, {} from "./smart-text-field.svelte";
|
|
9
|
-
import { isEqual } from "lodash-es";
|
|
10
|
-
export let fieldStore;
|
|
11
|
-
$fieldStore.without_value_details = true;
|
|
12
|
-
let selected_option = $fieldStore.value === void 0 || typeof $fieldStore.value === "boolean" || isEqual($fieldStore.value, $fieldStore.params?.checkedvalue || true) ? "Checkbox" : "Smart Text";
|
|
13
|
-
const options = ["Checkbox", "Smart Text"];
|
|
14
|
-
function select_option(new_option) {
|
|
15
|
-
selected_option = new_option;
|
|
16
|
-
switch (selected_option) {
|
|
17
|
-
case "Checkbox":
|
|
18
|
-
$fieldStore.value = false;
|
|
19
|
-
break;
|
|
20
|
-
case "Smart Text":
|
|
21
|
-
$fieldStore.value = "";
|
|
22
|
-
break;
|
|
23
|
-
default:
|
|
24
|
-
break;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
<div class="w-full flex items-start space-x-2">
|
|
30
|
-
<Popover.Root>
|
|
31
|
-
<Popover.Trigger let:builder asChild>
|
|
32
|
-
<Button builders={[builder]} class="w-5 h-5 p-0" variant="outline">
|
|
33
|
-
<i class="fa fa-chevron-down" />
|
|
34
|
-
</Button>
|
|
35
|
-
</Popover.Trigger>
|
|
36
|
-
<Popover.Content>
|
|
37
|
-
<RadioGroup.Root value={selected_option} onValueChange={select_option}>
|
|
38
|
-
{#each options as option}
|
|
39
|
-
<div class="flex items-center space-x-2">
|
|
40
|
-
<RadioGroup.Item value={option} id={option} />
|
|
41
|
-
<Label for={option}>{option}</Label>
|
|
42
|
-
</div>
|
|
43
|
-
{/each}
|
|
44
|
-
</RadioGroup.Root>
|
|
45
|
-
</Popover.Content>
|
|
46
|
-
</Popover.Root>
|
|
47
|
-
{#if selected_option === "Smart Text"}
|
|
48
|
-
<div class="w-full">
|
|
49
|
-
<SmartTextField {fieldStore} />
|
|
50
|
-
</div>
|
|
51
|
-
{:else}
|
|
52
|
-
<div class="w-full">
|
|
53
|
-
<CheckboxField {fieldStore} />
|
|
54
|
-
</div>
|
|
55
|
-
{/if}
|
|
56
|
-
</div>
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
<script context="module">export const checkbox_field_param_spec = {
|
|
2
|
-
spec: {
|
|
3
|
-
fields: {
|
|
4
|
-
checkedvalue: {
|
|
5
|
-
fieldtype: "jsoneditor",
|
|
6
|
-
initvalue: { has_default: true, default: true }
|
|
7
|
-
},
|
|
8
|
-
uncheckedvalue: {
|
|
9
|
-
fieldtype: "jsoneditor",
|
|
10
|
-
initvalue: { has_default: true, default: false }
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
</script>
|
|
16
|
-
|
|
17
|
-
<script>import { Checkbox } from "@stubber/ui/checkbox";
|
|
18
|
-
import { Label } from "@stubber/ui/label";
|
|
19
|
-
import { isEqual } from "lodash-es";
|
|
20
|
-
import FieldMessage from "../FieldMessage.svelte";
|
|
21
|
-
import { set_value_details } from "../utils";
|
|
22
|
-
import FieldExprToggle from "../FieldExprToggle.svelte";
|
|
23
|
-
export let fieldStore;
|
|
24
|
-
set_value_details($fieldStore, "label", $fieldStore.label);
|
|
25
|
-
$: checked = isEqual($fieldStore.value, $fieldStore.params?.checkedvalue || true);
|
|
26
|
-
const on_change = (new_value) => {
|
|
27
|
-
const checked_value = $fieldStore.params?.checkedvalue ?? true;
|
|
28
|
-
const unchecked_value = $fieldStore.params?.uncheckedvalue ?? false;
|
|
29
|
-
if (new_value === true) {
|
|
30
|
-
$fieldStore.value = checked_value;
|
|
31
|
-
} else {
|
|
32
|
-
$fieldStore.value = unchecked_value;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
</script>
|
|
36
|
-
|
|
37
|
-
<div class="flex w-full items-center gap-x-2">
|
|
38
|
-
<Checkbox {checked} onCheckedChange={on_change} />
|
|
39
|
-
<Label>{$fieldStore.label}</Label>
|
|
40
|
-
<FieldExprToggle {fieldStore} />
|
|
41
|
-
</div>
|
|
42
|
-
<FieldMessage {fieldStore} />
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<script context="module"></script>
|
|
2
|
-
|
|
3
|
-
<script>import { isString } from "lodash-es";
|
|
4
|
-
import FieldLabel from "../FieldLabel.svelte";
|
|
5
|
-
import FieldMessage from "../FieldMessage.svelte";
|
|
6
|
-
export let fieldStore;
|
|
7
|
-
let value;
|
|
8
|
-
$: {
|
|
9
|
-
const new_value = $fieldStore.value;
|
|
10
|
-
const is_string = isString(new_value);
|
|
11
|
-
value = is_string ? new_value : JSON.stringify(new_value, null, 2);
|
|
12
|
-
}
|
|
13
|
-
</script>
|
|
14
|
-
|
|
15
|
-
<FieldLabel {fieldStore} />
|
|
16
|
-
<div class="relative mt-2 rounded-md bg-surface-100 p-2">
|
|
17
|
-
<pre class="rounded-md">{value ?? ""}</pre>
|
|
18
|
-
</div>
|
|
19
|
-
<FieldMessage {fieldStore} />
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
<script context="module"></script>
|
|
2
|
-
|
|
3
|
-
<script>import { Input } from "@stubber/ui/input";
|
|
4
|
-
import FieldLabel from "../FieldLabel.svelte";
|
|
5
|
-
import FieldMessage from "../FieldMessage.svelte";
|
|
6
|
-
export let fieldStore;
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<FieldLabel {fieldStore} />
|
|
10
|
-
<Input
|
|
11
|
-
id={$fieldStore.id}
|
|
12
|
-
bind:value={$fieldStore.value}
|
|
13
|
-
type="date"
|
|
14
|
-
aria-invalid={$fieldStore.validation_result?.type == "error" ? true : undefined}
|
|
15
|
-
class="w-full date-input {!$fieldStore.value ? 'text-muted-foreground' : ''}"
|
|
16
|
-
aria-describedby="message-{$fieldStore.id}"
|
|
17
|
-
/>
|
|
18
|
-
<FieldMessage {fieldStore} />
|
|
19
|
-
|
|
20
|
-
<style>
|
|
21
|
-
:global(input[type="date"].date-input) {
|
|
22
|
-
position: relative;
|
|
23
|
-
padding-right: 2rem;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
:global(input[type="date"].date-input::-webkit-calendar-picker-indicator) {
|
|
27
|
-
position: absolute;
|
|
28
|
-
right: 0.5rem;
|
|
29
|
-
cursor: pointer;
|
|
30
|
-
}
|
|
31
|
-
</style>
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
<script context="module"></script>
|
|
2
|
-
|
|
3
|
-
<script>import { Input } from "@stubber/ui/input";
|
|
4
|
-
import FieldLabel from "../FieldLabel.svelte";
|
|
5
|
-
import FieldMessage from "../FieldMessage.svelte";
|
|
6
|
-
export let fieldStore;
|
|
7
|
-
</script>
|
|
8
|
-
|
|
9
|
-
<FieldLabel {fieldStore} />
|
|
10
|
-
<Input
|
|
11
|
-
id={$fieldStore.id}
|
|
12
|
-
bind:value={$fieldStore.value}
|
|
13
|
-
type="datetime-local"
|
|
14
|
-
aria-invalid={$fieldStore.validation_result?.type == "error" ? true : undefined}
|
|
15
|
-
class="w-full date-input {!$fieldStore.value ? 'text-muted-foreground' : ''}"
|
|
16
|
-
aria-describedby="message-{$fieldStore.id}"
|
|
17
|
-
/>
|
|
18
|
-
<FieldMessage {fieldStore} />
|
|
19
|
-
|
|
20
|
-
<style>
|
|
21
|
-
:global(input[type="datetime-local"].date-input) {
|
|
22
|
-
position: relative;
|
|
23
|
-
padding-right: 2rem;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
:global(input[type="datetime-local"].date-input::-webkit-calendar-picker-indicator) {
|
|
27
|
-
position: absolute;
|
|
28
|
-
right: 0.5rem;
|
|
29
|
-
cursor: pointer;
|
|
30
|
-
}
|
|
31
|
-
</style>
|