@3t-transform/threeteeui 0.1.25 → 0.1.26
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/{index-dc6cc829.js → index-b8a62ede.js} +88 -2
- package/dist/cjs/loader.cjs.js +4 -3
- package/dist/cjs/tttx-button.cjs.entry.js +1 -1
- package/dist/cjs/tttx-filter.cjs.entry.js +1 -1
- package/dist/cjs/tttx-form.cjs.entry.js +2 -2
- package/dist/cjs/tttx-icon.cjs.entry.js +1 -1
- package/dist/cjs/tttx-keyvalue-block.cjs.entry.js +1 -1
- package/dist/cjs/tttx-list.cjs.entry.js +1 -1
- package/dist/cjs/tttx-loading-spinner.cjs.entry.js +1 -1
- package/dist/cjs/tttx-sorter.cjs.entry.js +1 -1
- package/dist/cjs/tttx-standalone-input.cjs.entry.js +9 -8
- package/dist/cjs/tttx-toolbar.cjs.entry.js +1 -1
- package/dist/cjs/tttx.cjs.js +7 -3
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/molecules/tttx-form/tttx-form.css +20 -4
- package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.css +20 -4
- package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +35 -17
- package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +12 -5
- package/dist/components/index.d.ts +9 -0
- package/dist/components/index.js +1 -1
- package/dist/components/tttx-form.js +1 -1
- package/dist/components/tttx-standalone-input.js +14 -12
- package/dist/esm/{index-86faeaab.js → index-e888a5f4.js} +88 -3
- package/dist/esm/loader.js +4 -3
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/tttx-button.entry.js +1 -1
- package/dist/esm/tttx-filter.entry.js +1 -1
- package/dist/esm/tttx-form.entry.js +2 -2
- package/dist/esm/tttx-icon.entry.js +1 -1
- package/dist/esm/tttx-keyvalue-block.entry.js +1 -1
- package/dist/esm/tttx-list.entry.js +1 -1
- package/dist/esm/tttx-loading-spinner.entry.js +1 -1
- package/dist/esm/tttx-sorter.entry.js +1 -1
- package/dist/esm/tttx-standalone-input.entry.js +9 -8
- package/dist/esm/tttx-toolbar.entry.js +1 -1
- package/dist/esm/tttx.js +4 -3
- package/dist/tttx/{p-8f3badad.entry.js → p-043f9b8a.entry.js} +1 -1
- package/dist/tttx/{p-2e43a578.entry.js → p-39485e15.entry.js} +1 -1
- package/dist/tttx/p-6dff6b5a.entry.js +3 -0
- package/dist/tttx/{p-c4538d55.entry.js → p-82bb3136.entry.js} +1 -1
- package/dist/tttx/p-92bc0a38.entry.js +1 -0
- package/dist/tttx/{p-e25d5fe2.entry.js → p-96bbf1ed.entry.js} +1 -1
- package/dist/tttx/p-afd21f67.entry.js +1 -0
- package/dist/tttx/{p-f1d7eb35.entry.js → p-b3a03986.entry.js} +1 -1
- package/dist/tttx/{p-ae00cae3.entry.js → p-ccd0065e.entry.js} +1 -1
- package/dist/tttx/{p-c72d1a03.entry.js → p-dc5c356b.entry.js} +1 -1
- package/dist/tttx/p-f764ffc4.js +2 -0
- package/dist/tttx/tttx.esm.js +1 -1
- package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.d.ts +16 -12
- package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.d.ts +6 -1
- package/dist/types/components.d.ts +22 -14
- package/dist/types/stencil-public-runtime.d.ts +59 -3
- package/loader/index.d.ts +9 -0
- package/package.json +1 -1
- package/dist/tttx/p-12fc0b16.entry.js +0 -3
- package/dist/tttx/p-52a47b7c.js +0 -2
- package/dist/tttx/p-72b4c98a.entry.js +0 -1
- package/dist/tttx/p-bdb054b2.entry.js +0 -1
package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.css
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
|
|
3
3
|
}
|
|
4
4
|
|
|
5
|
+
.material-symbols-rounded {
|
|
6
|
+
font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24;
|
|
7
|
+
}
|
|
8
|
+
|
|
5
9
|
.material-symbols-rounded {
|
|
6
10
|
font-family: "Material Symbols Rounded", sans-serif;
|
|
7
11
|
font-weight: 400;
|
|
@@ -76,6 +80,7 @@
|
|
|
76
80
|
background-color: transparent;
|
|
77
81
|
height: 26px;
|
|
78
82
|
font-size: 14px;
|
|
83
|
+
line-height: 16px;
|
|
79
84
|
border-radius: none;
|
|
80
85
|
z-index: 2;
|
|
81
86
|
color: #dc0000;
|
|
@@ -85,6 +90,7 @@
|
|
|
85
90
|
width: 16px;
|
|
86
91
|
height: 16px;
|
|
87
92
|
font-size: 16px;
|
|
93
|
+
line-height: 19px;
|
|
88
94
|
margin-right: 4px;
|
|
89
95
|
vertical-align: middle;
|
|
90
96
|
color: #dc0000;
|
|
@@ -122,6 +128,8 @@ label.inputInline .input-container {
|
|
|
122
128
|
label {
|
|
123
129
|
font-weight: 500;
|
|
124
130
|
font-size: 16px;
|
|
131
|
+
line-height: 19px;
|
|
132
|
+
margin-bottom: 16px;
|
|
125
133
|
}
|
|
126
134
|
|
|
127
135
|
input:not([type=submit]) {
|
|
@@ -131,6 +139,7 @@ input:not([type=submit]) {
|
|
|
131
139
|
height: 36px;
|
|
132
140
|
padding: 0 16px;
|
|
133
141
|
font-size: 16px;
|
|
142
|
+
line-height: 19px;
|
|
134
143
|
border: 1px solid #d5d5d5;
|
|
135
144
|
border-radius: 4px;
|
|
136
145
|
margin-top: 4px;
|
|
@@ -159,9 +168,9 @@ input.invalid:invalid, input.standalone.invalid {
|
|
|
159
168
|
}
|
|
160
169
|
|
|
161
170
|
input ~ .errorBubble {
|
|
162
|
-
min-height: 27px;
|
|
163
171
|
position: relative;
|
|
164
172
|
font-size: 14px;
|
|
173
|
+
line-height: 16px;
|
|
165
174
|
font-weight: normal;
|
|
166
175
|
width: 100%;
|
|
167
176
|
font-family: "Roboto", sans-serif;
|
|
@@ -170,17 +179,17 @@ input ~ .errorBubble {
|
|
|
170
179
|
align-content: center;
|
|
171
180
|
align-items: center;
|
|
172
181
|
justify-items: center;
|
|
182
|
+
margin-top: 4px;
|
|
173
183
|
}
|
|
174
184
|
|
|
175
185
|
input ~ .errorBubble:not(.visible) {
|
|
176
|
-
|
|
186
|
+
display: none;
|
|
177
187
|
}
|
|
178
188
|
|
|
179
189
|
input ~ .errorBubble span {
|
|
180
190
|
color: #dc0000;
|
|
181
191
|
font-size: 16px;
|
|
182
192
|
margin-right: 4px;
|
|
183
|
-
height: 16px;
|
|
184
193
|
}
|
|
185
194
|
|
|
186
195
|
input.invalid:invalid ~ .errorBubble {
|
|
@@ -190,7 +199,6 @@ input.invalid:invalid ~ .errorBubble {
|
|
|
190
199
|
width: 100%;
|
|
191
200
|
font-family: "Roboto", sans-serif;
|
|
192
201
|
color: #dc0000;
|
|
193
|
-
visibility: visible;
|
|
194
202
|
}
|
|
195
203
|
|
|
196
204
|
input:focus {
|
|
@@ -201,6 +209,14 @@ input:focus-visible {
|
|
|
201
209
|
outline: none;
|
|
202
210
|
}
|
|
203
211
|
|
|
212
|
+
.secondarylabel {
|
|
213
|
+
color: #757575;
|
|
214
|
+
font-size: 14px;
|
|
215
|
+
line-height: 16px;
|
|
216
|
+
display: flex;
|
|
217
|
+
margin-top: 4px;
|
|
218
|
+
}
|
|
219
|
+
|
|
204
220
|
:host {
|
|
205
221
|
display: block;
|
|
206
222
|
}
|
|
@@ -3,6 +3,7 @@ import { Host, h } from '@stencil/core';
|
|
|
3
3
|
export class TttxInput {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.label = undefined;
|
|
6
|
+
this.secondarylabel = undefined;
|
|
6
7
|
this.showerrormsg = undefined;
|
|
7
8
|
this.showerrorbubble = true;
|
|
8
9
|
this.errormsg = undefined;
|
|
@@ -10,11 +11,11 @@ export class TttxInput {
|
|
|
10
11
|
this.iconright = undefined;
|
|
11
12
|
this.inputicon = undefined;
|
|
12
13
|
this.inline = undefined;
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
this.
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
14
|
+
this.inputautocapitalize = undefined;
|
|
15
|
+
this.inputautofocus = undefined;
|
|
16
|
+
this.inputkeyhint = undefined;
|
|
17
|
+
this.inputindex = undefined;
|
|
18
|
+
this.inputtitle = undefined;
|
|
18
19
|
this.autocomplete = undefined;
|
|
19
20
|
this.checked = undefined;
|
|
20
21
|
this.disabled = undefined;
|
|
@@ -51,7 +52,7 @@ export class TttxInput {
|
|
|
51
52
|
}
|
|
52
53
|
render() {
|
|
53
54
|
const classNames = ['standalone', this.showerrormsg ? 'invalid' : ''].join(' ');
|
|
54
|
-
return (h(Host, null, h("label", { class: this.inline ? 'inputInline' : 'inputBlock' }, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', h("div", { class: "input-container" }, this.inputicon &&
|
|
55
|
+
return (h(Host, null, h("label", { class: this.inline ? 'inputInline' : 'inputBlock' }, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', h("div", { class: "input-container" }, this.inputicon && h("tttx-icon", { class: "input-icon", icon: this.inputicon, color: "grey" }), this.iconleft && h("tttx-icon", { id: "icon-left", icon: this.iconleft, color: "grey" }), this.iconright && h("tttx-icon", { id: "icon-right", icon: this.iconright, color: "grey" }), h("input", { class: classNames, 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 && h("span", { class: "secondarylabel" }, this.secondarylabel), this.showerrorbubble && (h("span", { class: ['errorBubble', this.showerrormsg && this.errormsg ? 'visible' : ''].join(' ') }, h("span", { class: "material-symbols-rounded validationicon" }, "warning"), " ", this.errormsg))))));
|
|
55
56
|
}
|
|
56
57
|
static get is() { return "tttx-standalone-input"; }
|
|
57
58
|
static get encapsulation() { return "scoped"; }
|
|
@@ -84,6 +85,23 @@ export class TttxInput {
|
|
|
84
85
|
"attribute": "label",
|
|
85
86
|
"reflect": false
|
|
86
87
|
},
|
|
88
|
+
"secondarylabel": {
|
|
89
|
+
"type": "string",
|
|
90
|
+
"mutable": false,
|
|
91
|
+
"complexType": {
|
|
92
|
+
"original": "string",
|
|
93
|
+
"resolved": "string",
|
|
94
|
+
"references": {}
|
|
95
|
+
},
|
|
96
|
+
"required": false,
|
|
97
|
+
"optional": false,
|
|
98
|
+
"docs": {
|
|
99
|
+
"tags": [],
|
|
100
|
+
"text": "Footnote under the input field"
|
|
101
|
+
},
|
|
102
|
+
"attribute": "secondarylabel",
|
|
103
|
+
"reflect": false
|
|
104
|
+
},
|
|
87
105
|
"showerrormsg": {
|
|
88
106
|
"type": "boolean",
|
|
89
107
|
"mutable": false,
|
|
@@ -204,7 +222,7 @@ export class TttxInput {
|
|
|
204
222
|
"attribute": "inline",
|
|
205
223
|
"reflect": false
|
|
206
224
|
},
|
|
207
|
-
"
|
|
225
|
+
"inputautocapitalize": {
|
|
208
226
|
"type": "string",
|
|
209
227
|
"mutable": false,
|
|
210
228
|
"complexType": {
|
|
@@ -218,10 +236,10 @@ export class TttxInput {
|
|
|
218
236
|
"tags": [],
|
|
219
237
|
"text": ""
|
|
220
238
|
},
|
|
221
|
-
"attribute": "
|
|
239
|
+
"attribute": "inputautocapitalize",
|
|
222
240
|
"reflect": false
|
|
223
241
|
},
|
|
224
|
-
"
|
|
242
|
+
"inputautofocus": {
|
|
225
243
|
"type": "boolean",
|
|
226
244
|
"mutable": false,
|
|
227
245
|
"complexType": {
|
|
@@ -235,10 +253,10 @@ export class TttxInput {
|
|
|
235
253
|
"tags": [],
|
|
236
254
|
"text": ""
|
|
237
255
|
},
|
|
238
|
-
"attribute": "
|
|
256
|
+
"attribute": "inputautofocus",
|
|
239
257
|
"reflect": false
|
|
240
258
|
},
|
|
241
|
-
"
|
|
259
|
+
"inputkeyhint": {
|
|
242
260
|
"type": "string",
|
|
243
261
|
"mutable": false,
|
|
244
262
|
"complexType": {
|
|
@@ -252,10 +270,10 @@ export class TttxInput {
|
|
|
252
270
|
"tags": [],
|
|
253
271
|
"text": "Defines what action to present for the enter key on virtual keyboards"
|
|
254
272
|
},
|
|
255
|
-
"attribute": "
|
|
273
|
+
"attribute": "inputkeyhint",
|
|
256
274
|
"reflect": false
|
|
257
275
|
},
|
|
258
|
-
"
|
|
276
|
+
"inputindex": {
|
|
259
277
|
"type": "any",
|
|
260
278
|
"mutable": false,
|
|
261
279
|
"complexType": {
|
|
@@ -271,14 +289,14 @@ export class TttxInput {
|
|
|
271
289
|
"text": "<caption>In HTML (like `index.html`)</caption>\n<tttx-standalone-input input-index=\"1\" />"
|
|
272
290
|
}, {
|
|
273
291
|
"name": "example",
|
|
274
|
-
"text": "<caption>In TSX files</caption>\n<tttx-standalone-input
|
|
292
|
+
"text": "<caption>In TSX files</caption>\n<tttx-standalone-input inputindex={1} />"
|
|
275
293
|
}],
|
|
276
294
|
"text": "tabindex - Allows the HTML elements to be focusable"
|
|
277
295
|
},
|
|
278
|
-
"attribute": "
|
|
296
|
+
"attribute": "inputindex",
|
|
279
297
|
"reflect": false
|
|
280
298
|
},
|
|
281
|
-
"
|
|
299
|
+
"inputtitle": {
|
|
282
300
|
"type": "string",
|
|
283
301
|
"mutable": false,
|
|
284
302
|
"complexType": {
|
|
@@ -292,7 +310,7 @@ export class TttxInput {
|
|
|
292
310
|
"tags": [],
|
|
293
311
|
"text": ""
|
|
294
312
|
},
|
|
295
|
-
"attribute": "
|
|
313
|
+
"attribute": "inputtitle",
|
|
296
314
|
"reflect": false
|
|
297
315
|
},
|
|
298
316
|
"autocomplete": {
|
package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js
CHANGED
|
@@ -11,13 +11,16 @@ export default {
|
|
|
11
11
|
options: icons,
|
|
12
12
|
control: { type: 'select' },
|
|
13
13
|
},
|
|
14
|
-
|
|
14
|
+
inputicon: {
|
|
15
15
|
options: icons,
|
|
16
16
|
control: { type: 'select' },
|
|
17
17
|
},
|
|
18
18
|
label: {
|
|
19
19
|
control: { type: 'text' },
|
|
20
20
|
},
|
|
21
|
+
secondarylabel: {
|
|
22
|
+
control: { type: 'text' },
|
|
23
|
+
},
|
|
21
24
|
errormsg: {
|
|
22
25
|
control: { type: 'text' },
|
|
23
26
|
},
|
|
@@ -75,12 +78,13 @@ export default {
|
|
|
75
78
|
},
|
|
76
79
|
},
|
|
77
80
|
};
|
|
78
|
-
const TemplateTextInput = ({ iconleft, iconright,
|
|
81
|
+
const TemplateTextInput = ({ iconleft, iconright, inputicon, label, secondarylabel, errormsg, showerrorbubble, showerrormsg, inline, checked, disabled, max, maxlength, min, minlength, name, pattern, placeholder, readonly, required, step, type, value, }) => `
|
|
79
82
|
<tttx-standalone-input
|
|
80
83
|
iconleft="${iconleft || ''}"
|
|
81
84
|
iconright="${iconright || ''}"
|
|
82
|
-
inputicon="${
|
|
85
|
+
inputicon="${inputicon || ''}"
|
|
83
86
|
label="${label}"
|
|
87
|
+
${secondarylabel ? `secondarylabel="${secondarylabel}"` : ''}
|
|
84
88
|
errormsg="${errormsg}"
|
|
85
89
|
showerrorbubble="${showerrorbubble === false ? 'false' : 'true'}"
|
|
86
90
|
${showerrormsg ? 'showerrormsg' : ''}
|
|
@@ -105,6 +109,8 @@ export const InputField = TemplateTextInput.bind({});
|
|
|
105
109
|
InputField.args = {
|
|
106
110
|
value: '',
|
|
107
111
|
label: 'First name',
|
|
112
|
+
secondarylabel: 'First name can be up to 100 characters long',
|
|
113
|
+
maxlength: '100',
|
|
108
114
|
type: 'text',
|
|
109
115
|
errormsg: 'Please enter your first name',
|
|
110
116
|
required: false,
|
|
@@ -121,8 +127,9 @@ searchField.args = {
|
|
|
121
127
|
showerrormsg: false,
|
|
122
128
|
showerrorbubble: false,
|
|
123
129
|
placeholder: 'Search',
|
|
124
|
-
inline:
|
|
125
|
-
|
|
130
|
+
inline: false,
|
|
131
|
+
inputicon: 'search',
|
|
132
|
+
iconright: 'cancel'
|
|
126
133
|
};
|
|
127
134
|
// export const TextInputIconLeft = TemplateTextInput.bind({});
|
|
128
135
|
// TextInputIconLeft.args = {
|
|
@@ -22,6 +22,15 @@ export { TttxToolbar as TttxToolbar } from '../types/components/molecules/tttx-t
|
|
|
22
22
|
*/
|
|
23
23
|
export declare const setAssetPath: (path: string) => void;
|
|
24
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Used to specify a nonce value that corresponds with an application's CSP.
|
|
27
|
+
* When set, the nonce will be added to all dynamically created script and style tags at runtime.
|
|
28
|
+
* Alternatively, the nonce value can be set on a meta tag in the DOM head
|
|
29
|
+
* (<meta name="csp-nonce" content="{ nonce value here }" />) which
|
|
30
|
+
* will result in the same behavior.
|
|
31
|
+
*/
|
|
32
|
+
export declare const setNonce: (nonce: string) => void
|
|
33
|
+
|
|
25
34
|
export interface SetPlatformOptions {
|
|
26
35
|
raf?: (c: FrameRequestCallback) => number;
|
|
27
36
|
ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
package/dist/components/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { setAssetPath, setPlatformOptions } from '@stencil/core/internal/client';
|
|
1
|
+
export { setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
|
|
2
2
|
export { TttxButton, defineCustomElement as defineCustomElementTttxButton } from './tttx-button.js';
|
|
3
3
|
export { TttxFilter, defineCustomElement as defineCustomElementTttxFilter } from './tttx-filter.js';
|
|
4
4
|
export { TttxForm, defineCustomElement as defineCustomElementTttxForm } from './tttx-form.js';
|
|
@@ -93,7 +93,7 @@ function setErrorState(target, hasError, errorMessage) {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
const tttxFormCss = ".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:400;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;border-radius:none;z-index:2;color:#dc0000}.errormsg .validationicon{width:16px;height:16px;font-size:16px;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}input:not([type=submit]){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}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{
|
|
96
|
+
const tttxFormCss = ".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:400;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;display:flex;margin-top:4px}.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:hover{background:rgba(17, 17, 17, 0.1);border:1px solid #D5D5D5}.button:active{background:rgba(17, 17, 17, 0.2);border:1px solid #D5D5D5}.primary{background:#1479c6;border:1px solid #1479c6;color:white}.primary:hover{background:#146EB3;border:1px solid #146EB3}.primary:active{background:#1464A2;border:1px solid #1464A2}.borderless{background:transparent;border:none;color:#212121}.borderless:hover{background:rgba(17, 17, 17, 0.1);border:none}.borderless:active{background:rgba(17, 17, 17, 0.2);border:none}.danger{background:#DC0000;border:1px solid #DC0000;color:white}.danger:hover{background:#C60000;border:1px solid #C60000}.danger:active{background:#B00000;border:1px solid #B00000}.disabled{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}.disabled:hover{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}.disabled:active{background:#aeaeae;border:none;color:#4c4c4c;cursor:not-allowed}:host{display:block}fieldset{margin:0;padding:0;border:none}input[type=submit]{margin-left:auto}";
|
|
97
97
|
|
|
98
98
|
const TttxForm$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
99
99
|
constructor() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
|
|
2
2
|
import { d as defineCustomElement$2 } from './tttx-icon2.js';
|
|
3
3
|
|
|
4
|
-
const tttxStandaloneInputCss = ".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:400;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;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;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}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;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{
|
|
4
|
+
const tttxStandaloneInputCss = ".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:400;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;display:flex;margin-top:4px}.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}";
|
|
5
5
|
|
|
6
6
|
const TttxInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
7
7
|
constructor() {
|
|
@@ -12,6 +12,7 @@ const TttxInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
12
12
|
this.blurChanged = createEvent(this, "blurChanged", 7);
|
|
13
13
|
this.invalidChanged = createEvent(this, "invalidChanged", 7);
|
|
14
14
|
this.label = undefined;
|
|
15
|
+
this.secondarylabel = undefined;
|
|
15
16
|
this.showerrormsg = undefined;
|
|
16
17
|
this.showerrorbubble = true;
|
|
17
18
|
this.errormsg = undefined;
|
|
@@ -19,11 +20,11 @@ const TttxInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
19
20
|
this.iconright = undefined;
|
|
20
21
|
this.inputicon = undefined;
|
|
21
22
|
this.inline = undefined;
|
|
22
|
-
this.
|
|
23
|
-
this.
|
|
24
|
-
this.
|
|
25
|
-
this.
|
|
26
|
-
this.
|
|
23
|
+
this.inputautocapitalize = undefined;
|
|
24
|
+
this.inputautofocus = undefined;
|
|
25
|
+
this.inputkeyhint = undefined;
|
|
26
|
+
this.inputindex = undefined;
|
|
27
|
+
this.inputtitle = undefined;
|
|
27
28
|
this.autocomplete = undefined;
|
|
28
29
|
this.checked = undefined;
|
|
29
30
|
this.disabled = undefined;
|
|
@@ -60,11 +61,12 @@ const TttxInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
60
61
|
}
|
|
61
62
|
render() {
|
|
62
63
|
const classNames = ['standalone', this.showerrormsg ? 'invalid' : ''].join(' ');
|
|
63
|
-
return (h(Host, null, h("label", { class: this.inline ? 'inputInline' : 'inputBlock' }, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', h("div", { class: "input-container" }, this.inputicon &&
|
|
64
|
+
return (h(Host, null, h("label", { class: this.inline ? 'inputInline' : 'inputBlock' }, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', h("div", { class: "input-container" }, this.inputicon && h("tttx-icon", { class: "input-icon", icon: this.inputicon, color: "grey" }), this.iconleft && h("tttx-icon", { id: "icon-left", icon: this.iconleft, color: "grey" }), this.iconright && h("tttx-icon", { id: "icon-right", icon: this.iconright, color: "grey" }), h("input", { class: classNames, 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 && h("span", { class: "secondarylabel" }, this.secondarylabel), this.showerrorbubble && (h("span", { class: ['errorBubble', this.showerrormsg && this.errormsg ? 'visible' : ''].join(' ') }, h("span", { class: "material-symbols-rounded validationicon" }, "warning"), " ", this.errormsg))))));
|
|
64
65
|
}
|
|
65
66
|
static get style() { return tttxStandaloneInputCss; }
|
|
66
67
|
}, [2, "tttx-standalone-input", {
|
|
67
68
|
"label": [1],
|
|
69
|
+
"secondarylabel": [1],
|
|
68
70
|
"showerrormsg": [4],
|
|
69
71
|
"showerrorbubble": [4],
|
|
70
72
|
"errormsg": [1],
|
|
@@ -72,11 +74,11 @@ const TttxInput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
|
72
74
|
"iconright": [1],
|
|
73
75
|
"inputicon": [1],
|
|
74
76
|
"inline": [4],
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
77
|
+
"inputautocapitalize": [1],
|
|
78
|
+
"inputautofocus": [4],
|
|
79
|
+
"inputkeyhint": [1],
|
|
80
|
+
"inputindex": [8],
|
|
81
|
+
"inputtitle": [1],
|
|
80
82
|
"autocomplete": [1],
|
|
81
83
|
"checked": [4],
|
|
82
84
|
"disabled": [4],
|
|
@@ -41,6 +41,18 @@ const isComplexType = (o) => {
|
|
|
41
41
|
o = typeof o;
|
|
42
42
|
return o === 'object' || o === 'function';
|
|
43
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* Helper method for querying a `meta` tag that contains a nonce value
|
|
46
|
+
* out of a DOM's head.
|
|
47
|
+
*
|
|
48
|
+
* @param doc The DOM containing the `head` to query against
|
|
49
|
+
* @returns The content of the meta tag representing the nonce value, or `undefined` if no tag
|
|
50
|
+
* exists or the tag has no content.
|
|
51
|
+
*/
|
|
52
|
+
function queryNonceMetaTagContent(doc) {
|
|
53
|
+
var _a, _b, _c;
|
|
54
|
+
return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
|
|
55
|
+
}
|
|
44
56
|
/**
|
|
45
57
|
* Production h() function based on Preact by
|
|
46
58
|
* Jason Miller (@developit)
|
|
@@ -49,7 +61,6 @@ const isComplexType = (o) => {
|
|
|
49
61
|
*
|
|
50
62
|
* Modified for Stencil's compiler and vdom
|
|
51
63
|
*/
|
|
52
|
-
// const stack: any[] = [];
|
|
53
64
|
// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
|
|
54
65
|
// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
|
|
55
66
|
const h = (nodeName, vnodeData, ...children) => {
|
|
@@ -108,6 +119,14 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
108
119
|
}
|
|
109
120
|
return vnode;
|
|
110
121
|
};
|
|
122
|
+
/**
|
|
123
|
+
* A utility function for creating a virtual DOM node from a tag and some
|
|
124
|
+
* possible text content.
|
|
125
|
+
*
|
|
126
|
+
* @param tag the tag for this element
|
|
127
|
+
* @param text possible text content for the node
|
|
128
|
+
* @returns a newly-minted virtual DOM node
|
|
129
|
+
*/
|
|
111
130
|
const newVNode = (tag, text) => {
|
|
112
131
|
const vnode = {
|
|
113
132
|
$flags$: 0,
|
|
@@ -125,6 +144,12 @@ const newVNode = (tag, text) => {
|
|
|
125
144
|
return vnode;
|
|
126
145
|
};
|
|
127
146
|
const Host = {};
|
|
147
|
+
/**
|
|
148
|
+
* Check whether a given node is a Host node or not
|
|
149
|
+
*
|
|
150
|
+
* @param node the virtual DOM node to check
|
|
151
|
+
* @returns whether it's a Host node or not
|
|
152
|
+
*/
|
|
128
153
|
const isHost = (node) => node && node.$tag$ === Host;
|
|
129
154
|
/**
|
|
130
155
|
* Parse a new property value for a given property type.
|
|
@@ -213,6 +238,7 @@ const registerStyle = (scopeId, cssText, allowCS) => {
|
|
|
213
238
|
styles.set(scopeId, style);
|
|
214
239
|
};
|
|
215
240
|
const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
|
241
|
+
var _a;
|
|
216
242
|
let scopeId = getScopeId(cmpMeta);
|
|
217
243
|
const style = styles.get(scopeId);
|
|
218
244
|
// if an element is NOT connected then getRootNode() will return the wrong root node
|
|
@@ -232,6 +258,11 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
|
|
232
258
|
styleElm = doc.createElement('style');
|
|
233
259
|
styleElm.innerHTML = style;
|
|
234
260
|
}
|
|
261
|
+
// Apply CSP nonce to the style tag if it exists
|
|
262
|
+
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
|
263
|
+
if (nonce != null) {
|
|
264
|
+
styleElm.setAttribute('nonce', nonce);
|
|
265
|
+
}
|
|
235
266
|
styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
|
|
236
267
|
}
|
|
237
268
|
if (appliedStyles) {
|
|
@@ -466,6 +497,21 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
466
497
|
}
|
|
467
498
|
return elm;
|
|
468
499
|
};
|
|
500
|
+
/**
|
|
501
|
+
* Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
|
|
502
|
+
* add them to the DOM in the appropriate place.
|
|
503
|
+
*
|
|
504
|
+
* @param parentElm the DOM node which should be used as a parent for the new
|
|
505
|
+
* DOM nodes
|
|
506
|
+
* @param before a child of the `parentElm` which the new children should be
|
|
507
|
+
* inserted before (optional)
|
|
508
|
+
* @param parentVNode the parent virtual DOM node
|
|
509
|
+
* @param vnodes the new child virtual DOM nodes to produce DOM nodes for
|
|
510
|
+
* @param startIdx the index in the child virtual DOM nodes at which to start
|
|
511
|
+
* creating DOM nodes (inclusive)
|
|
512
|
+
* @param endIdx the index in the child virtual DOM nodes at which to stop
|
|
513
|
+
* creating DOM nodes (inclusive)
|
|
514
|
+
*/
|
|
469
515
|
const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
|
|
470
516
|
let containerElm = (parentElm);
|
|
471
517
|
let childNode;
|
|
@@ -482,6 +528,19 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
|
|
|
482
528
|
}
|
|
483
529
|
}
|
|
484
530
|
};
|
|
531
|
+
/**
|
|
532
|
+
* Remove the DOM elements corresponding to a list of {@link d.VNode} objects.
|
|
533
|
+
* This can be used to, for instance, clean up after a list of children which
|
|
534
|
+
* should no longer be shown.
|
|
535
|
+
*
|
|
536
|
+
* This function also handles some of Stencil's slot relocation logic.
|
|
537
|
+
*
|
|
538
|
+
* @param vnodes a list of virtual DOM nodes to remove
|
|
539
|
+
* @param startIdx the index at which to start removing nodes (inclusive)
|
|
540
|
+
* @param endIdx the index at which to stop removing nodes (inclusive)
|
|
541
|
+
* @param vnode a VNode
|
|
542
|
+
* @param elm an element
|
|
543
|
+
*/
|
|
485
544
|
const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
|
|
486
545
|
for (; startIdx <= endIdx; ++startIdx) {
|
|
487
546
|
if ((vnode = vnodes[startIdx])) {
|
|
@@ -711,7 +770,8 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
|
711
770
|
*
|
|
712
771
|
* So, in other words, if `key` attrs are not set on VNodes which may be
|
|
713
772
|
* changing order within a `children` array or something along those lines then
|
|
714
|
-
* we could obtain a false
|
|
773
|
+
* we could obtain a false negative and then have to do needless re-rendering
|
|
774
|
+
* (i.e. we'd say two VNodes aren't equal when in fact they should be).
|
|
715
775
|
*
|
|
716
776
|
* @param leftVNode the first VNode to check
|
|
717
777
|
* @param rightVNode the second VNode to check
|
|
@@ -784,6 +844,18 @@ const callNodeRefs = (vNode) => {
|
|
|
784
844
|
vNode.$children$ && vNode.$children$.map(callNodeRefs);
|
|
785
845
|
}
|
|
786
846
|
};
|
|
847
|
+
/**
|
|
848
|
+
* The main entry point for Stencil's virtual DOM-based rendering engine
|
|
849
|
+
*
|
|
850
|
+
* Given a {@link d.HostRef} container and some virtual DOM nodes, this
|
|
851
|
+
* function will handle creating a virtual DOM tree with a single root, patching
|
|
852
|
+
* the current virtual DOM tree onto an old one (if any), dealing with slot
|
|
853
|
+
* relocation, and reflecting attributes.
|
|
854
|
+
*
|
|
855
|
+
* @param hostRef data needed to root and render the virtual DOM tree, such as
|
|
856
|
+
* the DOM node into which it should be rendered.
|
|
857
|
+
* @param renderFnResults the virtual DOM nodes to be rendered
|
|
858
|
+
*/
|
|
787
859
|
const renderVdom = (hostRef, renderFnResults) => {
|
|
788
860
|
const hostElm = hostRef.$hostElement$;
|
|
789
861
|
const oldVNode = hostRef.$vnode$ || newVNode(null, null);
|
|
@@ -1230,6 +1302,7 @@ const disconnectedCallback = (elm) => {
|
|
|
1230
1302
|
}
|
|
1231
1303
|
};
|
|
1232
1304
|
const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
1305
|
+
var _a;
|
|
1233
1306
|
const endBootstrap = createTime();
|
|
1234
1307
|
const cmpTags = [];
|
|
1235
1308
|
const exclude = options.exclude || [];
|
|
@@ -1308,6 +1381,11 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1308
1381
|
{
|
|
1309
1382
|
visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
|
|
1310
1383
|
visibilityStyle.setAttribute('data-styles', '');
|
|
1384
|
+
// Apply CSP nonce to the style tag if it exists
|
|
1385
|
+
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
|
1386
|
+
if (nonce != null) {
|
|
1387
|
+
visibilityStyle.setAttribute('nonce', nonce);
|
|
1388
|
+
}
|
|
1311
1389
|
head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
|
1312
1390
|
}
|
|
1313
1391
|
// Process deferred connectedCallbacks now all components have been registered
|
|
@@ -1323,6 +1401,13 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
1323
1401
|
// Fallback appLoad event
|
|
1324
1402
|
endBootstrap();
|
|
1325
1403
|
};
|
|
1404
|
+
/**
|
|
1405
|
+
* Assigns the given value to the nonce property on the runtime platform object.
|
|
1406
|
+
* During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
|
|
1407
|
+
* @param nonce The value to be assigned to the platform nonce property.
|
|
1408
|
+
* @returns void
|
|
1409
|
+
*/
|
|
1410
|
+
const setNonce = (nonce) => (plt.$nonce$ = nonce);
|
|
1326
1411
|
const hostRefs = /*@__PURE__*/ new WeakMap();
|
|
1327
1412
|
const getHostRef = (ref) => hostRefs.get(ref);
|
|
1328
1413
|
const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
|
|
@@ -1429,4 +1514,4 @@ const flush = () => {
|
|
|
1429
1514
|
const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
|
|
1430
1515
|
const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
|
|
1431
1516
|
|
|
1432
|
-
export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r };
|
|
1517
|
+
export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
|
package/dist/esm/loader.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { p as promiseResolve, b as bootstrapLazy } from './index-
|
|
1
|
+
import { p as promiseResolve, b as bootstrapLazy } from './index-e888a5f4.js';
|
|
2
|
+
export { s as setNonce } from './index-e888a5f4.js';
|
|
2
3
|
|
|
3
4
|
/*
|
|
4
|
-
Stencil Client Patch Esm v2.
|
|
5
|
+
Stencil Client Patch Esm v2.22.3 | MIT Licensed | https://stenciljs.com
|
|
5
6
|
*/
|
|
6
7
|
const patchEsm = () => {
|
|
7
8
|
return promiseResolve();
|
|
@@ -10,7 +11,7 @@ const patchEsm = () => {
|
|
|
10
11
|
const defineCustomElements = (win, options) => {
|
|
11
12
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
12
13
|
return patchEsm().then(() => {
|
|
13
|
-
return bootstrapLazy([["tttx-icon",[[1,"tttx-icon",{"icon":[1],"color":[1]}]]],["tttx-button",[[1,"tttx-button",{"notext":[4],"icon":[1],"iconposition":[1],"design":[1]}]]],["tttx-filter",[[1,"tttx-filter",{"filterKey":[1,"filter-key"],"filterOptions":[1,"filter-options"],"showSelectAll":[4,"show-select-all"],"showSearchField":[4,"show-search-field"],"showOptionIcons":[4,"show-option-icons"],"filterButtonStyle":[1,"filter-button-style"],"filterHeader":[1,"filter-header"],"showPopover":[32],"displayedFilterSettings":[32],"selectedFilters":[32],"filterSearchTerm":[32],"allSelected":[32]}]]],["tttx-list",[[1,"tttx-list",{"data":[1025],"name":[1]}]]],["tttx-sorter",[[1,"tttx-sorter",{"sorterKey":[1,"sorter-key"],"defaultSortDirection":[1,"default-sort-direction"],"fieldOptionsData":[1,"field-options-data"],"defaultOption":[1,"default-option"],"selectedField":[32],"sortDirection":[32],"dropdownExpand":[32],"dropdownOptions":[32]}]]],["tttx-standalone-input",[[2,"tttx-standalone-input",{"label":[1],"showerrormsg":[4],"showerrorbubble":[4],"errormsg":[1],"iconleft":[1],"iconright":[1],"inputicon":[1],"inline":[4],"
|
|
14
|
+
return bootstrapLazy([["tttx-icon",[[1,"tttx-icon",{"icon":[1],"color":[1]}]]],["tttx-button",[[1,"tttx-button",{"notext":[4],"icon":[1],"iconposition":[1],"design":[1]}]]],["tttx-filter",[[1,"tttx-filter",{"filterKey":[1,"filter-key"],"filterOptions":[1,"filter-options"],"showSelectAll":[4,"show-select-all"],"showSearchField":[4,"show-search-field"],"showOptionIcons":[4,"show-option-icons"],"filterButtonStyle":[1,"filter-button-style"],"filterHeader":[1,"filter-header"],"showPopover":[32],"displayedFilterSettings":[32],"selectedFilters":[32],"filterSearchTerm":[32],"allSelected":[32]}]]],["tttx-list",[[1,"tttx-list",{"data":[1025],"name":[1]}]]],["tttx-sorter",[[1,"tttx-sorter",{"sorterKey":[1,"sorter-key"],"defaultSortDirection":[1,"default-sort-direction"],"fieldOptionsData":[1,"field-options-data"],"defaultOption":[1,"default-option"],"selectedField":[32],"sortDirection":[32],"dropdownExpand":[32],"dropdownOptions":[32]}]]],["tttx-standalone-input",[[2,"tttx-standalone-input",{"label":[1],"secondarylabel":[1],"showerrormsg":[4],"showerrorbubble":[4],"errormsg":[1],"iconleft":[1],"iconright":[1],"inputicon":[1],"inline":[4],"inputautocapitalize":[1],"inputautofocus":[4],"inputkeyhint":[1],"inputindex":[8],"inputtitle":[1],"autocomplete":[1],"checked":[4],"disabled":[4],"max":[8],"maxlength":[8],"min":[8],"minlength":[8],"name":[1],"pattern":[1],"placeholder":[1],"readonly":[8],"required":[4],"step":[8],"type":[1],"value":[1032]}]]],["tttx-form",[[1,"tttx-form",{"formschema":[1032],"submitValue":[1032,"submit-value"]}]]],["tttx-keyvalue-block",[[1,"tttx-keyvalue-block",{"keyvalues":[8],"horizontal":[4]}]]],["tttx-loading-spinner",[[1,"tttx-loading-spinner",{"loadingMessage":[1028,"loading-message"],"size":[1025]}]]],["tttx-toolbar",[[1,"tttx-toolbar",{"border":[4]}]]]], options);
|
|
14
15
|
});
|
|
15
16
|
};
|
|
16
17
|
|