@3t-transform/threeteeui 0.2.74 → 0.2.76
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/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/tttx-button.cjs.entry.js +2 -2
- package/dist/cjs/tttx-form.cjs.entry.js +78 -49
- package/dist/cjs/tttx-keyvalue-block.cjs.entry.js +17 -14
- package/dist/cjs/tttx-list.cjs.entry.js +1 -1
- package/dist/cjs/tttx-multiselect-box.cjs.entry.js +130 -0
- package/dist/cjs/tttx-standalone-input.cjs.entry.js +8 -3
- package/dist/cjs/tttx-tag.cjs.entry.js +1 -1
- package/dist/cjs/tttx.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -1
- package/dist/collection/components/atoms/tttx-button/tttx-button.css +1 -1
- package/dist/collection/components/atoms/tttx-button/tttx-button.js +1 -2
- package/dist/collection/components/atoms/tttx-button/tttx-button.stories.js +1 -1
- package/dist/collection/components/atoms/tttx-icon/tttx-icon.js +0 -1
- package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.css +14 -5
- package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.js +46 -18
- package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.js +85 -29
- package/dist/collection/components/atoms/tttx-tag/tttx-tag.css +1 -1
- package/dist/collection/components/atoms/tttx-tag/tttx-tag.js +0 -1
- package/dist/collection/components/atoms/tttx-tag/tttx-tag.stories.js +1 -1
- package/dist/collection/components/molecules/tttx-form/lib/setErrorState.js +14 -3
- package/dist/collection/components/molecules/tttx-form/lib/validityCheck.js +15 -13
- package/dist/collection/components/molecules/tttx-form/tttx-form.css +107 -177
- package/dist/collection/components/molecules/tttx-form/tttx-form.js +56 -36
- package/dist/collection/components/molecules/tttx-list/tttx-list.css +1 -1
- package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.css +135 -0
- package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.js +339 -0
- package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.stories.js +201 -0
- package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.css +102 -198
- package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +7 -2
- package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +23 -5
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -0
- package/dist/components/tttx-button2.js +2 -2
- package/dist/components/tttx-form.js +79 -50
- package/dist/components/tttx-keyvalue-block.js +21 -16
- package/dist/components/tttx-list.js +1 -1
- package/dist/components/tttx-multiselect-box.d.ts +11 -0
- package/dist/components/tttx-multiselect-box.js +172 -0
- package/dist/components/tttx-standalone-input2.js +8 -3
- package/dist/components/tttx-tag.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/tttx-button.entry.js +2 -2
- package/dist/esm/tttx-form.entry.js +78 -49
- package/dist/esm/tttx-keyvalue-block.entry.js +17 -14
- package/dist/esm/tttx-list.entry.js +1 -1
- package/dist/esm/tttx-multiselect-box.entry.js +126 -0
- package/dist/esm/tttx-standalone-input.entry.js +8 -3
- package/dist/esm/tttx-tag.entry.js +1 -1
- package/dist/esm/tttx.js +1 -1
- package/dist/tttx/p-09b92178.entry.js +1 -0
- package/dist/tttx/{p-750cf31b.entry.js → p-129df5a2.entry.js} +1 -1
- package/dist/tttx/{p-a6582ab0.entry.js → p-25acdd4c.entry.js} +1 -1
- package/dist/tttx/{p-5b7b8539.entry.js → p-4ade2866.entry.js} +1 -1
- package/dist/tttx/p-77fed2a6.entry.js +1 -0
- package/dist/tttx/p-b30a1025.entry.js +1 -0
- package/dist/tttx/p-d1ff1456.entry.js +1 -0
- package/dist/tttx/tttx.esm.js +1 -1
- package/dist/types/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.d.ts +7 -1
- package/dist/types/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.d.ts +6 -4
- package/dist/types/components/molecules/tttx-form/lib/setErrorState.d.ts +3 -2
- package/dist/types/components/molecules/tttx-form/lib/validityCheck.d.ts +5 -7
- package/dist/types/components/molecules/tttx-form/tttx-form.d.ts +74 -29
- package/dist/types/components/molecules/tttx-multiselect-box/interfaces.d.ts +6 -0
- package/dist/types/components/molecules/tttx-multiselect-box/tttx-multiselect-box.d.ts +38 -0
- package/dist/types/components/molecules/tttx-multiselect-box/tttx-multiselect-box.stories.d.ts +15 -0
- package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.d.ts +7 -0
- package/dist/types/components.d.ts +46 -8
- package/package.json +1 -1
- package/dist/tttx/p-6fe0af4e.entry.js +0 -1
- package/dist/tttx/p-818574fe.entry.js +0 -1
- package/dist/tttx/p-895526aa.entry.js +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
|
+
export type FormField = HTMLButtonElement | HTMLInputElement | HTMLOutputElement | HTMLSelectElement | HTMLTextAreaElement;
|
|
2
3
|
export declare class TttxForm {
|
|
3
4
|
private form;
|
|
4
5
|
private fieldset;
|
|
@@ -6,23 +7,23 @@ export declare class TttxForm {
|
|
|
6
7
|
private template;
|
|
7
8
|
private _formSchema;
|
|
8
9
|
private _data;
|
|
9
|
-
formschema: any;
|
|
10
|
+
formschema: Record<string, any> | string;
|
|
10
11
|
data: any;
|
|
11
12
|
dataSubmitted: EventEmitter<FormData>;
|
|
12
13
|
dataChanged: EventEmitter<{
|
|
13
14
|
name: string;
|
|
14
15
|
value: any;
|
|
15
16
|
}>;
|
|
16
|
-
onFormSchemaChange(newValue: any): void;
|
|
17
|
+
onFormSchemaChange(newValue: Record<string, any> | string): void;
|
|
17
18
|
onDataChange(newValue: any): void;
|
|
18
19
|
/**
|
|
19
20
|
* Handles the focus event for a form field and emits a "dataChanged" event
|
|
20
21
|
* to the parent component with the field name and its new value.
|
|
21
22
|
*
|
|
22
|
-
* @param {
|
|
23
|
+
* @param {KeyboardEvent | Event} event - The focus event triggered by the field.
|
|
23
24
|
* @return {void}
|
|
24
25
|
*/
|
|
25
|
-
fieldChanged(event:
|
|
26
|
+
fieldChanged(event: KeyboardEvent | Event): void;
|
|
26
27
|
submit(): Promise<void>;
|
|
27
28
|
/**
|
|
28
29
|
* Submits the form data to the server.
|
|
@@ -43,62 +44,108 @@ export declare class TttxForm {
|
|
|
43
44
|
* Creates a new HTMLSelectElement with a set of options.
|
|
44
45
|
*
|
|
45
46
|
* @param {string} formKey - The name of the dropdown field, as specified in the form schema.
|
|
46
|
-
* @param {
|
|
47
|
+
* @param {object} formProperties - An object containing additional properties, such as the field type and options properties.
|
|
47
48
|
* @param {'select'} formProperties.type - The type of form field. In this case, it will always be "select".
|
|
48
|
-
* @param {
|
|
49
|
-
* @param {
|
|
50
|
-
* @param {string} formProperties.options.label - The visible value of the option.
|
|
51
|
-
* @param {string} formProperties.options.value - The actual value of the option.
|
|
49
|
+
* @param {object} formProperties.validation - A set of validation rules for the field.
|
|
50
|
+
* @param {Array<{label:string, value:string, placeholder?:boolean}>} formProperties.options - A list of properties to pass to the select options.
|
|
51
|
+
* @param {string} formProperties.options[].label - The visible value of the option.
|
|
52
|
+
* @param {string} formProperties.options[].value - The actual value of the option.
|
|
53
|
+
* @param {boolean} [formProperties.options[].placeholder]
|
|
52
54
|
*/
|
|
53
|
-
createSelect(formKey: string, formProperties:
|
|
55
|
+
createSelect(formKey: string, formProperties: {
|
|
56
|
+
type: 'select';
|
|
57
|
+
validation: object;
|
|
58
|
+
options: Array<{
|
|
59
|
+
label: string;
|
|
60
|
+
value: string;
|
|
61
|
+
placeholder?: boolean;
|
|
62
|
+
}>;
|
|
63
|
+
}): HTMLSelectElement;
|
|
54
64
|
/**
|
|
55
65
|
* Appends an option to a select element
|
|
56
66
|
*
|
|
57
67
|
* @param {HTMLSelectElement} select - The select elements to attach the option to.
|
|
58
|
-
* @param {
|
|
59
|
-
* @param {
|
|
68
|
+
* @param {Object} optionProperties
|
|
69
|
+
* @param {string} optionProperties.value - The value of the option.
|
|
70
|
+
* @param {string} optionProperties.label - The label which will be displayed on the form for the option.
|
|
71
|
+
* @param {boolean} [optionProperties.placeholder]
|
|
60
72
|
*/
|
|
61
|
-
appendOption(select:
|
|
73
|
+
appendOption(select: HTMLSelectElement, optionProperties: {
|
|
74
|
+
value: string;
|
|
75
|
+
label: string;
|
|
76
|
+
placeholder?: boolean;
|
|
77
|
+
}): void;
|
|
62
78
|
/**
|
|
63
79
|
* Creates a new HTMLInputElement with the specified name, type, and placeholder (if any),
|
|
64
80
|
* and sets its autocomplete and autocapitalization properties to off.
|
|
65
81
|
*
|
|
66
82
|
* @param {string} formKey - The name of the input field, as specified in the form schema.
|
|
67
|
-
* @param {
|
|
83
|
+
* @param {Record<string, any>} formProperties - An object containing additional properties for the input field, such as its type and placeholder value.
|
|
68
84
|
* @param {string} formProperties.type - The type of the input field (e.g., "text", "email", "number", etc.).
|
|
69
85
|
* @param {string} [formProperties.placeholder] - An optional placeholder value to display in the input field.
|
|
70
86
|
* @return {HTMLInputElement} - The new input element.
|
|
71
87
|
*/
|
|
72
|
-
createInput(formKey:
|
|
88
|
+
createInput(formKey: string, formProperties: Record<string, any>): HTMLInputElement;
|
|
73
89
|
/**
|
|
74
90
|
* Applies validation attributes to an input element based on the specified validation object.
|
|
75
91
|
* If a certain property is present in the object, it will set the corresponding attribute on
|
|
76
92
|
* the input element (e.g., "required" will set the "required" and "data-required" attributes,
|
|
77
93
|
* "pattern" will set the "pattern" and "data-pattern" attributes, etc.).
|
|
78
94
|
*
|
|
79
|
-
* @param {
|
|
80
|
-
* @param {
|
|
81
|
-
* @param {
|
|
82
|
-
* @param {
|
|
83
|
-
* @param {
|
|
84
|
-
* @param {
|
|
95
|
+
* @param {FormField} input - The input element to apply validation attributes to.
|
|
96
|
+
* @param {object} validation - An object containing the validation rules for the input field.
|
|
97
|
+
* @param {object} [validation.required] - An object containing a "message" property to display if the field is required.
|
|
98
|
+
* @param {string} [validation.required.message]
|
|
99
|
+
* @param {object} [validation.pattern] - An object containing a "pattern" property to match against the field value, and a "message" property to display if the pattern doesn't match.
|
|
100
|
+
* @param {string} [validation.pattern.pattern]
|
|
101
|
+
* @param {string} [validation.pattern.message]
|
|
102
|
+
* @param {object} [validation.badInput] - An object containing a "message" property to display if the field value is invalid.
|
|
103
|
+
* @param {string} [validation.badInput.message]
|
|
104
|
+
* @param {object} [validation.minmax] - An object containing "min" and "max" properties to validate the field value against, and a "message" property to display if the value is out of range.
|
|
105
|
+
* @param {string} [validation.minmax.min]
|
|
106
|
+
* @param {string} [validation.minmax.max]
|
|
107
|
+
* @param {string} [validation.minmax.message]
|
|
85
108
|
* @param {string} [validation.maxlength] - The maximum length of the input field.
|
|
86
109
|
* @return {void}
|
|
87
110
|
*/
|
|
88
|
-
applyValidation(input:
|
|
111
|
+
applyValidation(input: FormField, validation: {
|
|
112
|
+
required?: {
|
|
113
|
+
message?: string;
|
|
114
|
+
};
|
|
115
|
+
pattern?: {
|
|
116
|
+
pattern?: string;
|
|
117
|
+
message?: string;
|
|
118
|
+
};
|
|
119
|
+
badInput?: {
|
|
120
|
+
message?: string;
|
|
121
|
+
};
|
|
122
|
+
minmax?: {
|
|
123
|
+
min?: string;
|
|
124
|
+
max?: string;
|
|
125
|
+
message?: string;
|
|
126
|
+
};
|
|
127
|
+
maxlength?: string;
|
|
128
|
+
}): void;
|
|
89
129
|
createErrorBubble(): HTMLDivElement;
|
|
90
|
-
|
|
130
|
+
/**
|
|
131
|
+
*
|
|
132
|
+
* @param {Record<string, any>} formProperties
|
|
133
|
+
* @param {HTMLInputElement | HTMLSelectElement} input
|
|
134
|
+
* @param {HTMLLabelElement} label
|
|
135
|
+
* @returns {void}
|
|
136
|
+
*/
|
|
137
|
+
appendCheckboxInput(formProperties: Record<string, any>, input: HTMLInputElement | HTMLSelectElement, label: HTMLLabelElement): void;
|
|
91
138
|
/**
|
|
92
139
|
* Creates a new <label> element with the "inputBlock" class and the specified label text,
|
|
93
140
|
* and appends the input element and error bubble element to it. If the form property has
|
|
94
141
|
* no validation object, it adds an "optional" span element to the label.
|
|
95
142
|
*
|
|
96
|
-
* @param {
|
|
97
|
-
* @param {HTMLInputElement} input - The input element to associate with the label.
|
|
143
|
+
* @param {Record<string, any>} formProperties - An object containing properties for the form field, including its label text and validation rules.
|
|
144
|
+
* @param {HTMLInputElement | HTMLSelectElement} input - The input element to associate with the label.
|
|
98
145
|
* @param {HTMLDivElement} errorBubble - The error bubble element to display error messages in.
|
|
99
146
|
* @return {HTMLLabelElement} - The new label element.
|
|
100
147
|
*/
|
|
101
|
-
createLabel(formProperties:
|
|
148
|
+
createLabel(formProperties: Record<string, any>, input: HTMLInputElement | HTMLSelectElement, errorBubble: HTMLDivElement): HTMLLabelElement;
|
|
102
149
|
/**
|
|
103
150
|
* Populates the form template with input fields and labels based on the properties of the
|
|
104
151
|
* current form schema. For each property in the schema, it creates an input element, applies
|
|
@@ -118,15 +165,13 @@ export declare class TttxForm {
|
|
|
118
165
|
* @return {void}
|
|
119
166
|
*/
|
|
120
167
|
componentDidRender(): void;
|
|
121
|
-
validityCheckWrapper(event:
|
|
168
|
+
validityCheckWrapper(event: Event | FocusEvent): void;
|
|
122
169
|
/**
|
|
123
170
|
* Renders the component's template as a form element with a fieldset container. The form's
|
|
124
171
|
* "onSubmit" event is bound to the "doSubmit" function, which handles the form submission
|
|
125
172
|
* and emits a "dataSubmitted" event with the form data. The fieldset element is assigned
|
|
126
173
|
* to the "fieldset" instance variable using a ref, so it can be populated with form elements
|
|
127
174
|
* later on.
|
|
128
|
-
*
|
|
129
|
-
* @return {JSX.Element} - The rendered form template as a JSX element.
|
|
130
175
|
*/
|
|
131
176
|
render(): any;
|
|
132
177
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
|
+
import { SelectItem } from './interfaces';
|
|
3
|
+
export declare class TttxMultiselectBox {
|
|
4
|
+
optionsData: string | SelectItem[];
|
|
5
|
+
label: string;
|
|
6
|
+
inline: boolean;
|
|
7
|
+
placeholder: string;
|
|
8
|
+
searchEnabled: boolean;
|
|
9
|
+
htmlVisibleValue: boolean;
|
|
10
|
+
visibleValue: string;
|
|
11
|
+
open: boolean;
|
|
12
|
+
unsavedSelectedItems: SelectItem[];
|
|
13
|
+
searchTerm: string;
|
|
14
|
+
private _optionsData;
|
|
15
|
+
private bodyOffset;
|
|
16
|
+
el: any;
|
|
17
|
+
selectItemEvent: EventEmitter<SelectItem>;
|
|
18
|
+
toggleOpen: EventEmitter<boolean>;
|
|
19
|
+
changesApplied: EventEmitter<SelectItem[]>;
|
|
20
|
+
handleCloseSelectBox(): void;
|
|
21
|
+
handleBlur(): void;
|
|
22
|
+
/**
|
|
23
|
+
* We want to generally clone instances of optionsData, _optionsData and unsavedSelectedItems
|
|
24
|
+
* This is because they may be assigned from each other, but have different purposes
|
|
25
|
+
* If we don't clone them, changing one may propagate to the others
|
|
26
|
+
* JSON.parse/stringify will deep clone them, so the references of the array elements will also change
|
|
27
|
+
*/
|
|
28
|
+
safelyCloneArray(arr: Array<any>): any;
|
|
29
|
+
onDropdownClicked(): void;
|
|
30
|
+
onCancel(): void;
|
|
31
|
+
applyChanges(): void;
|
|
32
|
+
onItemSelected(option: SelectItem): void;
|
|
33
|
+
dropdownSelectorContent(): any;
|
|
34
|
+
dropdownOption(option: SelectItem): any;
|
|
35
|
+
handleSearchInput(event: InputEvent): void;
|
|
36
|
+
calculateDropdownMenuOffset(): void;
|
|
37
|
+
render(): any;
|
|
38
|
+
}
|
package/dist/types/components/molecules/tttx-multiselect-box/tttx-multiselect-box.stories.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
title: string;
|
|
3
|
+
component: string;
|
|
4
|
+
parameters: {
|
|
5
|
+
actions: {
|
|
6
|
+
handles: string[];
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
decorators: (<T extends import("@storybook/types").Renderer>(storyFn: import("@storybook/types").PartialStoryFn<T, import("@storybook/types").Args>) => T["storyResult"])[];
|
|
10
|
+
};
|
|
11
|
+
export default _default;
|
|
12
|
+
export declare const BasicMultiselectBox: any;
|
|
13
|
+
export declare const HtmlVisibleValueWrap: any;
|
|
14
|
+
export declare const HtmlVisibleValue: any;
|
|
15
|
+
export declare const DialogBoxWithDropdown: any;
|
package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
2
|
title: string;
|
|
3
3
|
component: string;
|
|
4
|
+
parameters: {
|
|
5
|
+
actions: {
|
|
6
|
+
handles: string[];
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
decorators: (<T extends import("@storybook/types").Renderer>(storyFn: import("@storybook/types").PartialStoryFn<T, import("@storybook/types").Args>) => T["storyResult"])[];
|
|
4
10
|
argTypes: {
|
|
5
11
|
iconleft: {
|
|
6
12
|
options: string[];
|
|
@@ -141,3 +147,4 @@ declare const _default: {
|
|
|
141
147
|
export default _default;
|
|
142
148
|
export declare const InputField: any;
|
|
143
149
|
export declare const searchField: any;
|
|
150
|
+
export declare const dateField: any;
|
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
|
8
8
|
import { DialogItems } from "./components/molecules/tttx-dialog-box/interfaces";
|
|
9
9
|
import { FilterChangeEvent, FilterSettings } from "./components/molecules/tttx-filter/tttx-filter";
|
|
10
|
+
import { KeyBlockValues } from "./components/atoms/tttx-keyvalue-block/tttx-keyvalue-block";
|
|
10
11
|
import { ListItem } from "./components/molecules/tttx-list/interfaces";
|
|
11
|
-
import { SelectItem } from "./components/molecules/tttx-
|
|
12
|
+
import { SelectItem } from "./components/molecules/tttx-multiselect-box/interfaces";
|
|
13
|
+
import { SelectItem as SelectItem1 } from "./components/molecules/tttx-select-box/interfaces";
|
|
12
14
|
import { SorterChangeEvent, SorterData } from "./components/molecules/tttx-sorter/interfaces";
|
|
13
15
|
import { MinMaxDates } from "./components/molecules/tttx-standalone-input/tttx-standalone-input";
|
|
14
16
|
import { Tab } from "./components/molecules/tttx-tabs/interfaces";
|
|
@@ -40,7 +42,7 @@ export namespace Components {
|
|
|
40
42
|
}
|
|
41
43
|
interface TttxForm {
|
|
42
44
|
"data": any;
|
|
43
|
-
"formschema": any;
|
|
45
|
+
"formschema": Record<string, any> | string;
|
|
44
46
|
"submit": () => Promise<void>;
|
|
45
47
|
}
|
|
46
48
|
interface TttxIcon {
|
|
@@ -49,7 +51,8 @@ export namespace Components {
|
|
|
49
51
|
}
|
|
50
52
|
interface TttxKeyvalueBlock {
|
|
51
53
|
"horizontal": boolean;
|
|
52
|
-
"keyvalues":
|
|
54
|
+
"keyvalues": KeyBlockValues | KeyBlockValues[] | string;
|
|
55
|
+
"spacedout": boolean;
|
|
53
56
|
}
|
|
54
57
|
interface TttxList {
|
|
55
58
|
"data": string | ListItem[];
|
|
@@ -59,6 +62,15 @@ export namespace Components {
|
|
|
59
62
|
"loadingMessage": boolean;
|
|
60
63
|
"size": 'small' | 'large';
|
|
61
64
|
}
|
|
65
|
+
interface TttxMultiselectBox {
|
|
66
|
+
"htmlVisibleValue": boolean;
|
|
67
|
+
"inline": boolean;
|
|
68
|
+
"label": string;
|
|
69
|
+
"optionsData": string | SelectItem[];
|
|
70
|
+
"placeholder": string;
|
|
71
|
+
"searchEnabled": boolean;
|
|
72
|
+
"visibleValue": string;
|
|
73
|
+
}
|
|
62
74
|
interface TttxQrcode {
|
|
63
75
|
"link": string;
|
|
64
76
|
"size": number;
|
|
@@ -66,7 +78,7 @@ export namespace Components {
|
|
|
66
78
|
interface TttxSelectBox {
|
|
67
79
|
"inline": boolean;
|
|
68
80
|
"label": string;
|
|
69
|
-
"optionsData": string |
|
|
81
|
+
"optionsData": string | SelectItem1[];
|
|
70
82
|
"placeholder": string;
|
|
71
83
|
"searchEnabled": boolean;
|
|
72
84
|
"selectedValue": string;
|
|
@@ -155,6 +167,10 @@ export interface TttxListCustomEvent<T> extends CustomEvent<T> {
|
|
|
155
167
|
detail: T;
|
|
156
168
|
target: HTMLTttxListElement;
|
|
157
169
|
}
|
|
170
|
+
export interface TttxMultiselectBoxCustomEvent<T> extends CustomEvent<T> {
|
|
171
|
+
detail: T;
|
|
172
|
+
target: HTMLTttxMultiselectBoxElement;
|
|
173
|
+
}
|
|
158
174
|
export interface TttxSelectBoxCustomEvent<T> extends CustomEvent<T> {
|
|
159
175
|
detail: T;
|
|
160
176
|
target: HTMLTttxSelectBoxElement;
|
|
@@ -224,6 +240,12 @@ declare global {
|
|
|
224
240
|
prototype: HTMLTttxLoadingSpinnerElement;
|
|
225
241
|
new (): HTMLTttxLoadingSpinnerElement;
|
|
226
242
|
};
|
|
243
|
+
interface HTMLTttxMultiselectBoxElement extends Components.TttxMultiselectBox, HTMLStencilElement {
|
|
244
|
+
}
|
|
245
|
+
var HTMLTttxMultiselectBoxElement: {
|
|
246
|
+
prototype: HTMLTttxMultiselectBoxElement;
|
|
247
|
+
new (): HTMLTttxMultiselectBoxElement;
|
|
248
|
+
};
|
|
227
249
|
interface HTMLTttxQrcodeElement extends Components.TttxQrcode, HTMLStencilElement {
|
|
228
250
|
}
|
|
229
251
|
var HTMLTttxQrcodeElement: {
|
|
@@ -281,6 +303,7 @@ declare global {
|
|
|
281
303
|
"tttx-keyvalue-block": HTMLTttxKeyvalueBlockElement;
|
|
282
304
|
"tttx-list": HTMLTttxListElement;
|
|
283
305
|
"tttx-loading-spinner": HTMLTttxLoadingSpinnerElement;
|
|
306
|
+
"tttx-multiselect-box": HTMLTttxMultiselectBoxElement;
|
|
284
307
|
"tttx-qrcode": HTMLTttxQrcodeElement;
|
|
285
308
|
"tttx-select-box": HTMLTttxSelectBoxElement;
|
|
286
309
|
"tttx-sorter": HTMLTttxSorterElement;
|
|
@@ -322,7 +345,7 @@ declare namespace LocalJSX {
|
|
|
322
345
|
}
|
|
323
346
|
interface TttxForm {
|
|
324
347
|
"data"?: any;
|
|
325
|
-
"formschema"?: any;
|
|
348
|
+
"formschema"?: Record<string, any> | string;
|
|
326
349
|
"onDataChanged"?: (event: TttxFormCustomEvent<{ name: string; value: any }>) => void;
|
|
327
350
|
"onDataSubmitted"?: (event: TttxFormCustomEvent<FormData>) => void;
|
|
328
351
|
}
|
|
@@ -332,7 +355,8 @@ declare namespace LocalJSX {
|
|
|
332
355
|
}
|
|
333
356
|
interface TttxKeyvalueBlock {
|
|
334
357
|
"horizontal"?: boolean;
|
|
335
|
-
"keyvalues"?:
|
|
358
|
+
"keyvalues"?: KeyBlockValues | KeyBlockValues[] | string;
|
|
359
|
+
"spacedout"?: boolean;
|
|
336
360
|
}
|
|
337
361
|
interface TttxList {
|
|
338
362
|
"data"?: string | ListItem[];
|
|
@@ -344,6 +368,18 @@ declare namespace LocalJSX {
|
|
|
344
368
|
"loadingMessage"?: boolean;
|
|
345
369
|
"size"?: 'small' | 'large';
|
|
346
370
|
}
|
|
371
|
+
interface TttxMultiselectBox {
|
|
372
|
+
"htmlVisibleValue"?: boolean;
|
|
373
|
+
"inline"?: boolean;
|
|
374
|
+
"label"?: string;
|
|
375
|
+
"onChangesApplied"?: (event: TttxMultiselectBoxCustomEvent<SelectItem[]>) => void;
|
|
376
|
+
"onSelectItemEvent"?: (event: TttxMultiselectBoxCustomEvent<SelectItem>) => void;
|
|
377
|
+
"onToggleOpen"?: (event: TttxMultiselectBoxCustomEvent<boolean>) => void;
|
|
378
|
+
"optionsData"?: string | SelectItem[];
|
|
379
|
+
"placeholder"?: string;
|
|
380
|
+
"searchEnabled"?: boolean;
|
|
381
|
+
"visibleValue"?: string;
|
|
382
|
+
}
|
|
347
383
|
interface TttxQrcode {
|
|
348
384
|
"link"?: string;
|
|
349
385
|
"size"?: number;
|
|
@@ -351,9 +387,9 @@ declare namespace LocalJSX {
|
|
|
351
387
|
interface TttxSelectBox {
|
|
352
388
|
"inline"?: boolean;
|
|
353
389
|
"label"?: string;
|
|
354
|
-
"onSelectItemEvent"?: (event: TttxSelectBoxCustomEvent<
|
|
390
|
+
"onSelectItemEvent"?: (event: TttxSelectBoxCustomEvent<SelectItem1>) => void;
|
|
355
391
|
"onToggleOpen"?: (event: TttxSelectBoxCustomEvent<boolean>) => void;
|
|
356
|
-
"optionsData"?: string |
|
|
392
|
+
"optionsData"?: string | SelectItem1[];
|
|
357
393
|
"placeholder"?: string;
|
|
358
394
|
"searchEnabled"?: boolean;
|
|
359
395
|
"selectedValue"?: string;
|
|
@@ -447,6 +483,7 @@ declare namespace LocalJSX {
|
|
|
447
483
|
"tttx-keyvalue-block": TttxKeyvalueBlock;
|
|
448
484
|
"tttx-list": TttxList;
|
|
449
485
|
"tttx-loading-spinner": TttxLoadingSpinner;
|
|
486
|
+
"tttx-multiselect-box": TttxMultiselectBox;
|
|
450
487
|
"tttx-qrcode": TttxQrcode;
|
|
451
488
|
"tttx-select-box": TttxSelectBox;
|
|
452
489
|
"tttx-sorter": TttxSorter;
|
|
@@ -469,6 +506,7 @@ declare module "@stencil/core" {
|
|
|
469
506
|
"tttx-keyvalue-block": LocalJSX.TttxKeyvalueBlock & JSXBase.HTMLAttributes<HTMLTttxKeyvalueBlockElement>;
|
|
470
507
|
"tttx-list": LocalJSX.TttxList & JSXBase.HTMLAttributes<HTMLTttxListElement>;
|
|
471
508
|
"tttx-loading-spinner": LocalJSX.TttxLoadingSpinner & JSXBase.HTMLAttributes<HTMLTttxLoadingSpinnerElement>;
|
|
509
|
+
"tttx-multiselect-box": LocalJSX.TttxMultiselectBox & JSXBase.HTMLAttributes<HTMLTttxMultiselectBoxElement>;
|
|
472
510
|
"tttx-qrcode": LocalJSX.TttxQrcode & JSXBase.HTMLAttributes<HTMLTttxQrcodeElement>;
|
|
473
511
|
"tttx-select-box": LocalJSX.TttxSelectBox & JSXBase.HTMLAttributes<HTMLTttxSelectBoxElement>;
|
|
474
512
|
"tttx-sorter": LocalJSX.TttxSorter & JSXBase.HTMLAttributes<HTMLTttxSorterElement>;
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,h as i,H as l}from"./p-3f1b6013.js";const d=class{constructor(i){t(this,i),this.keyvalues=void 0,this.horizontal=void 0}renderSingleElements(t){const l=Object.keys(t),d=[],o=(100/l.length).toString()+"%";for(let r=0;r<l.length;r++)this.horizontal?d.push(i("div",{style:{maxWidth:o}},i("dt",null,l[r]),i("dd",null,t[l[r]]))):(d.push(i("dt",null,l[r])),d.push(i("dd",null,t[l[r]])));return d}renderArrayElements(t){const l=[],d=(100/t.length).toString()+"%";for(let o=0;o<t.length;o++){const r=t[o];this.horizontal?l.push(i("div",{style:{maxWidth:d}},i("dt",{class:"mainTitle"},r.title),i("dt",{class:"subTitle"},r.subTitle),i("dd",null,r.data))):(l.push(i("dt",{class:"mainTitle"},r.title)),l.push(i("dt",{class:"subTitle"},r.subTitle)),l.push(i("dd",null,r.data)))}return l}render(){if(!this.keyvalues)return;let t,d;return t="string"==typeof this.keyvalues?JSON.parse(this.keyvalues):this.keyvalues,d=Array.isArray(t)?this.renderArrayElements(t):this.renderSingleElements(t),i(l,null,i("dl",{class:this.horizontal?"horizontal":null},d))}};d.style=':host{display:block}dl{margin:0;padding:0;font-family:"Roboto", sans-serif;cursor:default}dt{font-weight:400;line-height:21px;font-size:16px}dt,dt.subTitle{color:#757575}dt.mainTitle{color:#212121}dt,dd{overflow-wrap:anywhere}dd{margin:0;font-weight:400;font-size:16px;color:#212121;line-height:21px;margin-bottom:18px}dl.horizontal{display:flex;flex-direction:row;width:100%}dl.horizontal div{flex-grow:1}@media (max-width: 769px){dl.horizontal{flex-wrap:wrap}dl.horizontal div{width:50%;max-width:50% !important}}@media (max-width: 600px){dl.horizontal div{width:100%;max-width:100% !important}}';export{d as tttx_keyvalue_block}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as n,H as s}from"./p-3f1b6013.js";const o=class{constructor(n){t(this,n),this.valueChanged=i(this,"valueChanged",7),this.focusChanged=i(this,"focusChanged",7),this.blurChanged=i(this,"blurChanged",7),this.invalidChanged=i(this,"invalidChanged",7),this.inputIconClick=i(this,"inputIconClick",7),this.leftIconClick=i(this,"leftIconClick",7),this.rightIconClick=i(this,"rightIconClick",7),this.label=void 0,this.secondarylabel=void 0,this.showerrormsg=void 0,this.showerrorbubble=!0,this.errormsg=void 0,this.iconleft=void 0,this.iconleftcolor="grey",this.iconright=void 0,this.iconrightcolor="grey",this.inputicon=void 0,this.inputiconcolor="grey",this.inline=void 0,this.inputautocapitalize=void 0,this.inputautofocus=void 0,this.inputkeyhint=void 0,this.inputindex=void 0,this.inputtitle=void 0,this.autocomplete=void 0,this.checked=void 0,this.disabled=void 0,this.max=void 0,this.maxlength=void 0,this.min=void 0,this.minlength=void 0,this.name=void 0,this.pattern=void 0,this.placeholder=void 0,this.readonly=void 0,this.required=void 0,this.step=void 0,this.type="text",this.value=void 0}handleChange(t){const i=t.target;this.value=i.value,this.valueChanged.emit(i.value)}handleFocus(t){this.focusChanged.emit(t.target.value)}handleBlur(t){this.blurChanged.emit(t.target.value)}handleInvalid(t){t.preventDefault(),this.invalidChanged.emit(t.target.value)}handleInputIconClick(t){t.preventDefault(),this.inputIconClick.emit()}handleLeftIconClick(t){t.preventDefault(),this.leftIconClick.emit()}handleRightIconClick(t){t.preventDefault(),this.rightIconClick.emit()}render(){const t=["standalone",this.showerrormsg?"invalid":""].join(" ");return n(s,null,n("label",{class:this.inline?"inputInline":"inputBlock"},this.label,this.required?"":n("span",{class:"optional"}," (optional)"),n("div",{class:"input-container"},this.inputicon&&n("tttx-icon",{class:"input-icon",icon:this.inputicon,color:this.inputiconcolor,onClick:this.handleInputIconClick.bind(this)}),this.iconleft&&n("tttx-icon",{id:"icon-left",icon:this.iconleft,color:this.iconleftcolor,onClick:this.handleLeftIconClick.bind(this)}),this.iconright&&n("tttx-icon",{id:"icon-right",icon:this.iconright,color:this.iconrightcolor,onClick:this.handleRightIconClick.bind(this)}),n("input",{class:t,autocapitalize:this.inputautocapitalize,autofocus:this.inputautofocus,enterkeyhint:this.inputkeyhint,tabindex:this.inputindex,title:this.inputtitle,autocomplete:this.autocomplete,checked:this.checked,disabled:this.disabled,max:this.max,maxlength:this.maxlength,min:this.min,minlength:this.minlength,name:this.name,pattern:this.pattern,placeholder:this.placeholder,readonly:this.readonly,required:this.required,step:this.step,type:this.type,value:this.value,onBlur:this.handleBlur.bind(this),onFocus:this.handleFocus.bind(this),onInput:this.handleChange.bind(this),onInvalid:this.handleInvalid.bind(this)}),this.secondarylabel&&n("span",{class:"secondarylabel"},this.secondarylabel),this.showerrorbubble&&n("span",{class:["errorBubble",this.showerrormsg&&this.errormsg?"visible":""].join(" ")},n("span",{class:"material-symbols-rounded validationicon"},"warning")," ",this.errormsg))))}};o.style='.material-symbols-rounded.sc-tttx-standalone-input{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}.material-symbols-rounded.sc-tttx-standalone-input{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}.material-symbols-rounded.sc-tttx-standalone-input{font-family:"Material Symbols Rounded", sans-serif;font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:#9e9e9e}.icon-left.sc-tttx-standalone-input,.icon-right.sc-tttx-standalone-input{flex-basis:24px}.icon-left.sc-tttx-standalone-input span.sc-tttx-standalone-input,.icon-right.sc-tttx-standalone-input span.sc-tttx-standalone-input{font-size:24px;line-height:24px;text-align:center;display:block;width:24px;height:24px;margin-top:4px}.icon-left.sc-tttx-standalone-input span.sc-tttx-standalone-input{margin-left:4px}.icon-right.sc-tttx-standalone-input span.sc-tttx-standalone-input{margin-right:4px}.icon-right.sc-tttx-standalone-input{margin-top:5px}.icon-left.sc-tttx-standalone-input{margin-top:5px;margin-left:4px}.iconleft.sc-tttx-standalone-input .input.sc-tttx-standalone-input{padding-left:4px}.iconright.sc-tttx-standalone-input .input.sc-tttx-standalone-input{padding-right:4px}.input-icon.sc-tttx-standalone-input{position:absolute;margin-top:9px;margin-left:4px}.errormsg.sc-tttx-standalone-input{display:flex;justify-content:center;align-items:center;float:left;margin-bottom:16px;box-sizing:border-box;background-color:transparent;height:26px;font-size:14px;line-height:16px;border-radius:none;z-index:2;color:#dc0000}.errormsg.sc-tttx-standalone-input .validationicon.sc-tttx-standalone-input{width:16px;height:16px;font-size:16px;line-height:19px;margin-right:4px;vertical-align:middle;color:#dc0000}.danger.sc-tttx-standalone-input{color:#dc0000}.optional.sc-tttx-standalone-input{color:#757575;font-weight:normal}label.inputBlock.sc-tttx-standalone-input{display:block;position:relative;line-height:21px}label.inputInline.sc-tttx-standalone-input{display:flex;white-space:nowrap;align-items:center}label.inputInline.sc-tttx-standalone-input .input-container.sc-tttx-standalone-input{margin:0 4px;width:100%;display:flex;align-items:center;gap:4px;position:relative}label.sc-tttx-standalone-input{font-weight:500;font-size:16px;line-height:19px;margin-bottom:16px}input.sc-tttx-standalone-input:not([type=submit]){font-family:"Roboto", serif;box-sizing:border-box;width:100%;height:36px;padding:0 16px;font-size:16px;line-height:19px;border:1px solid #d5d5d5;border-radius:4px;margin-top:4px}input[type=date].sc-tttx-standalone-input{background:white;display:block;min-width:calc(100% - 18px);line-height:37px}@media (max-width: 600px){input[type=date].sc-tttx-standalone-input{padding-top:6px}}input.invalid.sc-tttx-standalone-input:invalid,input.standalone.invalid.sc-tttx-standalone-input{border:1px solid #dc0000}.input-icon.sc-tttx-standalone-input~input.sc-tttx-standalone-input{padding:0 32px}input.sc-tttx-standalone-input~.errorBubble.sc-tttx-standalone-input{position:relative;font-size:14px;line-height:16px;font-weight:normal;width:100%;font-family:"Roboto", sans-serif;color:#dc0000;display:flex;align-content:center;align-items:center;justify-items:center;margin-top:4px}input.sc-tttx-standalone-input~.errorBubble.sc-tttx-standalone-input:not(.visible){display:none}input.sc-tttx-standalone-input~.errorBubble.sc-tttx-standalone-input span.sc-tttx-standalone-input{color:#dc0000;font-size:16px;margin-right:4px}input.invalid.sc-tttx-standalone-input:invalid~.errorBubble.sc-tttx-standalone-input{position:relative;font-size:14px;font-weight:normal;width:100%;font-family:"Roboto", sans-serif;color:#dc0000}input.sc-tttx-standalone-input:focus{border-color:#1479c6}input.sc-tttx-standalone-input:focus-visible{outline:none}.secondarylabel.sc-tttx-standalone-input{color:#757575;font-size:14px;line-height:16px;font-weight:normal;display:flex;margin-top:4px}label.inputBlock.readonly.sc-tttx-standalone-input{pointer-events:none;user-select:none;color:gray}input[readonly].sc-tttx-standalone-input{cursor:default;pointer-events:none;user-select:none;color:gray}.sc-tttx-standalone-input-h{display:block}.input-container.sc-tttx-standalone-input{position:relative}#icon-left.sc-tttx-standalone-input{position:absolute;left:8px;top:10px}#icon-left.sc-tttx-standalone-input~input.sc-tttx-standalone-input{padding-left:36px}#icon-right.sc-tttx-standalone-input{position:absolute;right:8px;top:10px}#icon-right.sc-tttx-standalone-input~input.sc-tttx-standalone-input{padding-right:36px}';export{o as tttx_standalone_input}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,c as i,h as t,H as o}from"./p-3f1b6013.js";import{p as n,d as r}from"./p-5ed38d61.js";import"./p-112455b1.js";function a(e,i,t){const o=e.parentElement.querySelector(".errorBubble");if(i){e.classList.add("invalid"),o.classList.add("visible");const i=document.createElement("span");i.className="material-symbols-rounded",i.textContent="warning",o.innerHTML="",o.append(i),o.append(t)}else o.classList.remove("visible"),e.classList.remove("invalid"),o.innerHTML=""}const l=class{constructor(t){e(this,t),this.dataSubmitted=i(this,"dataSubmitted",7),this.dataChanged=i(this,"dataChanged",7),this.template=document.createElement("template"),this.formschema=void 0,this.data=void 0}onFormSchemaChange(e){if(!this.data&&this.form&&this._formSchema){const e=new FormData(this.form);this._data=Object.fromEntries(Object.keys(this._formSchema.properties).map((i=>[i,e.get(i)])))}this._formSchema="string"==typeof e?JSON.parse(e):e}onDataChange(e){this._data="string"==typeof e?JSON.parse(e):e}fieldChanged(e){this.dataChanged.emit({name:e.target.name,value:e.target.value})}async submit(){this.submitButton.click()}doSubmit(e){e.preventDefault();const i=new FormData(e.target);this.dataSubmitted.emit(i)}componentWillLoad(){this.onFormSchemaChange(this.formschema),this.data&&this.onDataChange(this.data)}componentWillRender(){this.template=document.createElement("template"),this.populateFormFromSchema()}createSelect(e,i){const t=document.createElement("select");return t.setAttribute("name",e),i.options.forEach((e=>{this.appendOption(t,e)})),this._data&&this._data[e]&&t.classList.remove("placeholder"),t}appendOption(e,i){const t=document.createElement("option");t.setAttribute("value",i.value),i.placeholder&&(t.setAttribute("disabled",""),t.setAttribute("selected",""),t.setAttribute("hidden",""),e.classList.add("placeholder")),i.label&&(t.innerHTML=n.sanitize(i.label,r)),e.appendChild(t)}createInput(e,i){var t;const o=document.createElement("input");return o.name=e,o.type=i.type,o.placeholder=null!==(t=i.placeholder)&&void 0!==t?t:"",o.autocomplete="off",o.autocapitalize="off",i.readonly&&(o.readOnly=!0),o}applyValidation(e,i){var t,o;i.required&&(e.setAttribute("required",""),e.setAttribute("data-required",null!==(t=i.required.message)&&void 0!==t?t:"")),i.pattern&&(e.setAttribute("pattern",i.pattern.pattern),e.setAttribute("data-pattern",null!==(o=i.pattern.message)&&void 0!==o?o:"")),i.badInput&&e.setAttribute("data-badinput",i.badInput.message),i.minmax&&(e.setAttribute("min",i.minmax.min),e.setAttribute("max",i.minmax.max),e.setAttribute("data-range",i.minmax.message)),i.maxlength&&e.setAttribute("maxlength",i.maxlength)}createErrorBubble(){const e=document.createElement("div");return e.className="errorBubble",e}appendCheckboxInput(e,i,t){if(e.label){const e=document.createElement("br");t.appendChild(e)}if(t.appendChild(i),!e.inlineLabel)return;const o=document.createElement("span");o.className="inlineLabel",o.textContent=e.inlineLabel,t.appendChild(o)}createLabel(e,i,t){const o=document.createElement("label");if(o.className="inputBlock",o.innerText=e.label,!e.validation){const e=document.createElement("span");e.className="optional",e.innerHTML=" (optional)",o.appendChild(e)}return e.readonly&&o.classList.add("readonly"),"checkbox"===e.type?(o.className+=" inlineBlock",this.appendCheckboxInput(e,i,o)):o.appendChild(i),o.appendChild(t),o}populateFormFromSchema(){if(!this._formSchema)return;const e=this._formSchema.properties;Object.keys(e).forEach((i=>{const t=e[i].form,o="select"===t.type?this.createSelect(i,t):this.createInput(i,t);t.validation&&this.applyValidation(o,t.validation);const n=this.createErrorBubble(),r=this.createLabel(t,o,n);this.template.content.append(r)}))}componentDidRender(){if(!this._formSchema)return;const e=this.template.content.cloneNode(!0),i=this._formSchema.properties;Object.keys(i).forEach((t=>{var o;const n=e.querySelector(`[name=${t}]`);if(n.oninvalid=this.validityCheckWrapper.bind(this),n.onblur=this.validityCheckWrapper.bind(this),n.onkeyup=this.fieldChanged.bind(this),n.onchange=this.fieldChanged.bind(this),this._data&&null!=this._data[t]&&(n.value=this._data[t]),null===(o=i[t].form.validation)||void 0===o?void 0:o.invalid){const e=i[t].form.validation.invalid.message;n.setCustomValidity(e),a(n,!0,e)}"select"===i[t].form.type&&n.classList.contains("placeholder")&&n.addEventListener("change",(()=>{n.classList.remove("placeholder")}))})),this.fieldset.replaceChildren(e)}validityCheckWrapper(e){const{target:i,hasError:t,errorMessage:o}=function(e){var i,t,o,n;e.preventDefault();const r=e.target;let a=!0,l="";switch(!0){case r.validity.valueMissing:l=null!==(i=r.dataset.required)&&void 0!==i?i:"This field is required";break;case r.validity.patternMismatch:l=null!==(t=r.dataset.pattern)&&void 0!==t?t:"Incorrect format";break;case r.validity.badInput:l=null!==(o=r.dataset.badinput)&&void 0!==o?o:"Wrong input type";break;case r.validity.rangeOverflow||r.validity.rangeUnderflow:l=null!==(n=r.dataset.range)&&void 0!==n?n:"Invalid value";break;case r.validity.customError:l=r.validationMessage;break;default:a=!1}return{target:r,hasError:a,errorMessage:l}}(e);a(i,t,o)}render(){return t(o,null,t("form",{ref:e=>this.form=e,onSubmit:this.doSubmit.bind(this)},t("fieldset",{ref:e=>this.fieldset=e}),t("input",{type:"submit",ref:e=>this.submitButton=e,style:{display:"none"}})))}static get watchers(){return{formschema:["onFormSchemaChange"],data:["onDataChange"]}}};l.style='.material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}.material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}.material-symbols-rounded{font-family:"Material Symbols Rounded", sans-serif;font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:#9e9e9e}.icon-left,.icon-right{flex-basis:24px}.icon-left span,.icon-right span{font-size:24px;line-height:24px;text-align:center;display:block;width:24px;height:24px;margin-top:4px}.icon-left span{margin-left:4px}.icon-right span{margin-right:4px}.icon-right{margin-top:5px}.icon-left{margin-top:5px;margin-left:4px}.iconleft .input{padding-left:4px}.iconright .input{padding-right:4px}.input-icon{position:absolute;margin-top:9px;margin-left:4px}.errormsg{display:flex;justify-content:center;align-items:center;float:left;margin-bottom:16px;box-sizing:border-box;background-color:transparent;height:26px;font-size:14px;line-height:16px;border-radius:none;z-index:2;color:#dc0000}.errormsg .validationicon{width:16px;height:16px;font-size:16px;line-height:19px;margin-right:4px;vertical-align:middle;color:#dc0000}.danger{color:#dc0000}.optional{color:#757575;font-weight:normal}label.inputBlock{display:block;position:relative;line-height:21px}label.inputInline{display:flex;white-space:nowrap;align-items:center}label.inputInline .input-container{margin:0 4px;width:100%;display:flex;align-items:center;gap:4px;position:relative}label{font-weight:500;font-size:16px;line-height:19px;margin-bottom:16px}input:not([type=submit]){font-family:"Roboto", serif;box-sizing:border-box;width:100%;height:36px;padding:0 16px;font-size:16px;line-height:19px;border:1px solid #d5d5d5;border-radius:4px;margin-top:4px}input[type=date]{background:white;display:block;min-width:calc(100% - 18px);line-height:37px}@media (max-width: 600px){input[type=date]{padding-top:6px}}input.invalid:invalid,input.standalone.invalid{border:1px solid #dc0000}.input-icon~input{padding:0 32px}input~.errorBubble{position:relative;font-size:14px;line-height:16px;font-weight:normal;width:100%;font-family:"Roboto", sans-serif;color:#dc0000;display:flex;align-content:center;align-items:center;justify-items:center;margin-top:4px}input~.errorBubble:not(.visible){display:none}input~.errorBubble span{color:#dc0000;font-size:16px;margin-right:4px}input.invalid:invalid~.errorBubble{position:relative;font-size:14px;font-weight:normal;width:100%;font-family:"Roboto", sans-serif;color:#dc0000}input:focus{border-color:#1479c6}input:focus-visible{outline:none}.secondarylabel{color:#757575;font-size:14px;line-height:16px;font-weight:normal;display:flex;margin-top:4px}label.inputBlock.readonly{pointer-events:none;user-select:none;color:gray}input[readonly]{cursor:default;pointer-events:none;user-select:none;color:gray}button{cursor:pointer}.button{font-family:Roboto, serif;box-sizing:border-box;height:36px;min-width:36px;padding:0;margin:0;background:transparent;color:#212121;border:1px solid #c8c8c8;border-radius:4px;text-transform:uppercase;display:flex;justify-content:left;align-items:center;font-size:14px;font-weight:400}.button-content{display:block;padding:0 16px}.icon-left,.icon-right{margin-top:4px}.iconleft{padding-left:8px}.iconleft .button-content{padding-left:4px}.iconright{padding-right:8px}.iconright .button-content{padding-right:4px}.notext{padding:0 6px}.button:active{background:rgba(17, 17, 17, 0.2);border:1px solid #d5d5d5}.primary{background:#1479c6;border:1px solid #1479c6;color:white}.primary:active{background:#1464a2;border:1px solid #1464a2}.borderless{background:transparent;border:none;color:#212121}.borderless:active{background:rgba(17, 17, 17, 0.2);border:none}.borderless-circle{background:transparent;border:none;color:#212121;border-radius:50%}.borderless-circle:active{border:none}.borderless-circle:focus{border-color:transparent}.danger{background:#dc0000;border:1px solid #dc0000;color:white}.danger:active{background:#b00000;border:1px solid #b00000}.disabled{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}.disabled:active{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}@media (hover: hover){.button:hover{background:rgba(17, 17, 17, 0.1);border:1px solid #d5d5d5}.primary:hover{background:#146eb3;border:1px solid #146eb3}.borderless:hover{background:rgba(17, 17, 17, 0.1);border:none}.borderless-circle:hover{background:rgba(17, 17, 17, 0.1);border:none}.danger:hover{background:#c60000;border:1px solid #c60000}.disabled:hover{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}}:host{display:block}fieldset{margin:0;padding:0;border:none}label.inputBlock.inlineBlock{display:inline-block}.inlineLabel{font-weight:400;display:inline-block;vertical-align:top;padding-top:4px}input[type=checkbox]{width:18px;height:18px}input~label{font-weight:400}select{font-family:"Roboto", serif;box-sizing:border-box;width:100%;height:36px;padding:0 16px;font-size:16px;border:1px solid #d5d5d5;border-radius:4px;margin-top:4px}.placeholder{color:#9e9e9e}.placeholder option{color:initial}select.invalid:invalid{border:1px solid #dc0000}select~.errorBubble{position:relative;font-size:14px;font-weight:normal;width:100%;font-family:"Roboto", sans-serif;color:#dc0000;display:flex;align-content:center;align-items:center;justify-items:center}select~.errorBubble:not(.visible){visibility:hidden}select~.errorBubble span{color:#dc0000;font-size:16px;margin-right:4px;height:16px}select.invalid:invalid~.errorBubble{position:relative;font-size:14px;font-weight:normal;width:100%;font-family:"Roboto", sans-serif;color:#dc0000;visibility:visible}select:focus{border-color:#1479c6}select:focus-visible{outline:none}.button{padding:0 16px}.footer{display:flex;gap:16px;flex-direction:row-reverse}';export{l as tttx_form}
|