@3t-transform/threeteeui 0.2.75 → 0.2.77

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.
Files changed (66) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/tttx-button.cjs.entry.js +2 -2
  3. package/dist/cjs/tttx-form.cjs.entry.js +78 -49
  4. package/dist/cjs/tttx-keyvalue-block.cjs.entry.js +17 -14
  5. package/dist/cjs/tttx-list.cjs.entry.js +1 -1
  6. package/dist/cjs/tttx-multiselect-box.cjs.entry.js +5 -2
  7. package/dist/cjs/tttx-standalone-input.cjs.entry.js +8 -3
  8. package/dist/cjs/tttx-tag.cjs.entry.js +1 -1
  9. package/dist/cjs/tttx.cjs.js +1 -1
  10. package/dist/collection/collection-manifest.json +1 -1
  11. package/dist/collection/components/atoms/tttx-button/tttx-button.css +1 -1
  12. package/dist/collection/components/atoms/tttx-button/tttx-button.js +1 -2
  13. package/dist/collection/components/atoms/tttx-button/tttx-button.stories.js +1 -1
  14. package/dist/collection/components/atoms/tttx-icon/tttx-icon.js +0 -1
  15. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.css +14 -5
  16. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.js +46 -18
  17. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.js +85 -29
  18. package/dist/collection/components/atoms/tttx-tag/tttx-tag.css +1 -1
  19. package/dist/collection/components/atoms/tttx-tag/tttx-tag.js +0 -1
  20. package/dist/collection/components/atoms/tttx-tag/tttx-tag.stories.js +1 -1
  21. package/dist/collection/components/molecules/tttx-form/lib/setErrorState.js +14 -3
  22. package/dist/collection/components/molecules/tttx-form/lib/validityCheck.js +15 -13
  23. package/dist/collection/components/molecules/tttx-form/tttx-form.css +107 -177
  24. package/dist/collection/components/molecules/tttx-form/tttx-form.js +56 -36
  25. package/dist/collection/components/molecules/tttx-list/tttx-list.css +1 -1
  26. package/dist/collection/components/molecules/tttx-multiselect-box/tttx-multiselect-box.js +5 -2
  27. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.css +102 -198
  28. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +7 -2
  29. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +23 -5
  30. package/dist/components/tttx-button2.js +2 -2
  31. package/dist/components/tttx-form.js +79 -50
  32. package/dist/components/tttx-keyvalue-block.js +21 -16
  33. package/dist/components/tttx-list.js +1 -1
  34. package/dist/components/tttx-multiselect-box.js +5 -2
  35. package/dist/components/tttx-standalone-input2.js +8 -3
  36. package/dist/components/tttx-tag.js +1 -1
  37. package/dist/esm/loader.js +1 -1
  38. package/dist/esm/tttx-button.entry.js +2 -2
  39. package/dist/esm/tttx-form.entry.js +78 -49
  40. package/dist/esm/tttx-keyvalue-block.entry.js +17 -14
  41. package/dist/esm/tttx-list.entry.js +1 -1
  42. package/dist/esm/tttx-multiselect-box.entry.js +5 -2
  43. package/dist/esm/tttx-standalone-input.entry.js +8 -3
  44. package/dist/esm/tttx-tag.entry.js +1 -1
  45. package/dist/esm/tttx.js +1 -1
  46. package/dist/tttx/p-09b92178.entry.js +1 -0
  47. package/dist/tttx/{p-750cf31b.entry.js → p-129df5a2.entry.js} +1 -1
  48. package/dist/tttx/{p-a6582ab0.entry.js → p-25acdd4c.entry.js} +1 -1
  49. package/dist/tttx/{p-5b7b8539.entry.js → p-4ade2866.entry.js} +1 -1
  50. package/dist/tttx/p-5f1f699d.entry.js +1 -0
  51. package/dist/tttx/p-b30a1025.entry.js +1 -0
  52. package/dist/tttx/p-d1ff1456.entry.js +1 -0
  53. package/dist/tttx/tttx.esm.js +1 -1
  54. package/dist/types/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.d.ts +7 -1
  55. package/dist/types/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.d.ts +6 -4
  56. package/dist/types/components/molecules/tttx-form/lib/setErrorState.d.ts +3 -2
  57. package/dist/types/components/molecules/tttx-form/lib/validityCheck.d.ts +5 -7
  58. package/dist/types/components/molecules/tttx-form/tttx-form.d.ts +74 -29
  59. package/dist/types/components/molecules/tttx-multiselect-box/tttx-multiselect-box.d.ts +1 -0
  60. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.d.ts +7 -0
  61. package/dist/types/components.d.ts +7 -4
  62. package/package.json +1 -1
  63. package/dist/tttx/p-6fe0af4e.entry.js +0 -1
  64. package/dist/tttx/p-77fed2a6.entry.js +0 -1
  65. package/dist/tttx/p-818574fe.entry.js +0 -1
  66. package/dist/tttx/p-895526aa.entry.js +0 -1
@@ -0,0 +1 @@
1
+ import{r as e,c as t,h as o,H as i}from"./p-3f1b6013.js";import{p as n,d as r}from"./p-5ed38d61.js";import"./p-112455b1.js";function a(e,t,o,i){let n;if(n=void 0!==i?i.querySelector(".errorBubble"):"label"===e.parentElement.nodeName.toLowerCase()?e.parentElement.querySelector(".errorBubble"):e.parentElement.parentElement.querySelector(".errorBubble"),t){e.classList.add("invalid"),n.classList.add("visible");const t=document.createElement("span");t.className="material-symbols-rounded",t.textContent="warning",n.innerHTML="",n.append(t),n.append(o)}else n.classList.remove("visible"),e.classList.remove("invalid"),n.innerHTML=""}const l=class{constructor(o){e(this,o),this.dataSubmitted=t(this,"dataSubmitted",7),this.dataChanged=t(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((t=>[t,e.get(t)])))}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 t=new FormData(e.target);this.dataSubmitted.emit(t)}componentWillLoad(){this.onFormSchemaChange(this.formschema),this.data&&this.onDataChange(this.data)}componentWillRender(){this.template=document.createElement("template"),this.populateFormFromSchema()}createSelect(e,t){var o;const i=document.createElement("select");return i.setAttribute("name",e),t.options.forEach((e=>{this.appendOption(i,e)})),(null===(o=this._data)||void 0===o?void 0:o[e])&&i.classList.remove("placeholder"),i}appendOption(e,t){const o=document.createElement("option");o.setAttribute("value",t.value),t.placeholder&&(o.setAttribute("disabled",""),o.setAttribute("selected",""),o.setAttribute("hidden",""),e.classList.add("placeholder")),t.label&&(o.innerHTML=n.sanitize(t.label,r)),e.appendChild(o)}createInput(e,t){var o;const i=document.createElement("input");return i.name=e,i.type=t.type,i.placeholder=null!==(o=t.placeholder)&&void 0!==o?o:"",i.autocomplete="off",i.autocapitalize="off",t.readonly&&(i.readOnly=!0),i}applyValidation(e,t){var o,i;t.required&&(e.setAttribute("required",""),e.setAttribute("data-required",null!==(o=t.required.message)&&void 0!==o?o:"")),t.pattern&&(e.setAttribute("pattern",t.pattern.pattern),e.setAttribute("data-pattern",null!==(i=t.pattern.message)&&void 0!==i?i:"")),t.badInput&&e.setAttribute("data-badinput",t.badInput.message),t.minmax&&(e.setAttribute("min",t.minmax.min),e.setAttribute("max",t.minmax.max),e.setAttribute("data-range",t.minmax.message)),t.maxlength&&e.setAttribute("maxlength",t.maxlength)}createErrorBubble(){const e=document.createElement("div");return e.className="errorBubble",e}appendCheckboxInput(e,t,o){if(e.label){const e=document.createElement("br");o.appendChild(e)}if(o.appendChild(t),!e.inlineLabel)return;const i=document.createElement("span");i.className="inlineLabel",i.textContent=e.inlineLabel,o.appendChild(i)}createLabel(e,t,o){const i=document.createElement("div");i.className="outer-container inputBlock";const n=document.createElement("label");if(n.innerText=e.label,!e.validation){const e=document.createElement("span");e.className="optional",e.innerHTML=" (optional)",n.appendChild(e)}return e.readonly&&n.classList.add("readonly"),"checkbox"===e.type?this.appendCheckboxInput(e,t,n):i.appendChild(t),"checkbox"!==e.type&&n.appendChild(i),n.appendChild(o),n}populateFormFromSchema(){if(!this._formSchema)return;const e=this._formSchema.properties;Object.keys(e).forEach((t=>{const o=e[t].form,i="select"===o.type?this.createSelect(t,o):this.createInput(t,o);o.validation&&this.applyValidation(i,o.validation);const n=this.createErrorBubble(),r=this.createLabel(o,i,n);this.template.content.append(r)}))}componentDidRender(){if(!this._formSchema)return;const e=this.template.content.cloneNode(!0),t=this._formSchema.properties;Object.keys(t).forEach((o=>{var i,n;const r=e.querySelector(`[name=${o}]`);if(r.oninvalid=this.validityCheckWrapper.bind(this),r.onblur=this.validityCheckWrapper.bind(this),r.onkeyup=this.fieldChanged.bind(this),r.onchange=this.fieldChanged.bind(this),void 0!==(null===(i=this._data)||void 0===i?void 0:i[o])&&null!==this._data[o]&&(r.value=this._data[o]),null===(n=t[o].form.validation)||void 0===n?void 0:n.invalid){const e=t[o].form.validation.invalid.message;r.setCustomValidity(e),a(r,!0,e)}"select"===t[o].form.type&&r.classList.contains("placeholder")&&r.addEventListener("change",(()=>{r.classList.remove("placeholder")}))})),this.fieldset.replaceChildren(e)}validityCheckWrapper(e){const{target:t,hasError:o,errorMessage:i}=function(e){var t,o,i,n;e.preventDefault();const r=e.target;let a=!0,l="";switch(!0){case r.validity.valueMissing:l=null!==(t=r.dataset.required)&&void 0!==t?t:"This field is required";break;case r.validity.patternMismatch:l=null!==(o=r.dataset.pattern)&&void 0!==o?o:"Incorrect format";break;case r.validity.badInput:l=null!==(i=r.dataset.badinput)&&void 0!==i?i:"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(t,o,i)}render(){return o(i,null,o("form",{ref:e=>this.form=e,onSubmit:this.doSubmit.bind(this)},o("fieldset",{ref:e=>this.fieldset=e}),o("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}label{font-weight:500;font-size:16px;line-height:19px;color:#212121}label .optional{color:#757575;font-weight:normal}label .outer-container{position:relative}label .outer-container .left-icons,label .outer-container .right-icons{display:flex;position:absolute;height:24px;gap:8px}label .outer-container .left-icons tttx-icon,label .outer-container .right-icons tttx-icon{height:24px;width:24px}label .outer-container .left-icons{left:8px}label .outer-container .right-icons{right:8px}label .outer-container input{color:#212121;box-sizing:border-box;border:1px solid #d5d5d5;border-radius:4px;padding:0;padding-left:16px;padding-right:16px;margin-top:4px;}label .outer-container input.has-input-icon{padding-left:40px}label .outer-container input.has-input-icon.has-left-icon{padding-left:72px}label .outer-container input.has-left-icon{padding-left:40px}label .outer-container input.has-right-icon{padding-right:40px}label .outer-container input.invalid{border:1px solid #dc0000}label .outer-container input:not([type=submit]){font-family:"Roboto", serif;width:100%;height:36px;font-size:16px;line-height:19px}label .outer-container input[type=date]{background:white;display:block;min-width:calc(100% - 18px);line-height:37px}label .outer-container input[readonly]{cursor:default;pointer-events:none;user-select:none;color:gray}label .outer-container input:focus{border-color:#1479c6}label .outer-container input:focus-visible{outline:none}label .outer-container.inputBlock{display:flex;align-items:center;line-height:21px}label .outer-container.inputBlock .left-icons,label .outer-container.inputBlock .right-icons{margin-top:4px}label .outer-container.inputBlock.readonly{pointer-events:none;user-select:none;color:gray}label .outer-container.inputInline{display:flex;white-space:nowrap;align-items:center;margin:0}label .outer-container.inputInline input{margin-top:0}label .secondarylabel{color:#757575;font-size:14px;line-height:16px;font-weight:normal;display:flex;margin-top:4px}label .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}label .errorBubble:not(.visible){display:none}label .errorBubble span{color:#dc0000;font-size:16px;margin-right:4px}.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}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:500}.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{display:block;position:relative;margin-bottom:16px}.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}
@@ -0,0 +1 @@
1
+ import{r as t,h as i,H as d}from"./p-3f1b6013.js";const o=class{constructor(i){t(this,i),this.keyvalues=void 0,this.horizontal=void 0,this.spacedout=void 0,this._elements=void 0}renderSingleElements(t){const d=Object.keys(t),o=[],l=(100/d.length).toString()+"%";for(const s of d)this.horizontal||this.spacedout?o.push(i("div",{style:{maxWidth:l}},i("dt",null,s),i("dd",null,t[s]))):(o.push(i("dt",null,s)),o.push(i("dd",null,t[s])));return o}renderArrayElements(t){const d=[],o=(100/t.length).toString()+"%";for(const l of t){const t=l;this.horizontal||this.spacedout?d.push(i("div",{style:{maxWidth:o}},i("dt",{class:"mainTitle"},t.title),i("dt",{class:"subTitle"},t.subTitle),i("dd",null,t.data))):(d.push(i("dt",{class:"mainTitle"},t.title)),d.push(i("dt",{class:"subTitle"},t.subTitle)),d.push(i("dd",null,t.data)))}return d}componentWillRender(){if(!this.keyvalues)return;let t;t="string"==typeof this.keyvalues?JSON.parse(this.keyvalues):this.keyvalues,this._elements=Array.isArray(t)?this.renderArrayElements(t):this.renderSingleElements(t)}render(){return i(d,null,i("dl",{class:[this.horizontal?"horizontal":void 0,this.spacedout?" spacedout":void 0].join(" ").trim()},this._elements))}};o.style=':host{display:block}dl{margin:0;padding:0;font-family:"Roboto", sans-serif;cursor:default}dt{font-weight:400;font-size:16px;margin-bottom:4px}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}dd:not(:last-child){margin-bottom:16px}dl.spacedout,dl.horizontal{display:flex;flex-direction:row;width:100%}dl.spacedout{justify-content:space-between}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{o as tttx_keyvalue_block}
@@ -1 +1 @@
1
- import{p as e,b as t}from"./p-3f1b6013.js";export{s as setNonce}from"./p-3f1b6013.js";(()=>{const t=import.meta.url,o={};return""!==t&&(o.resourcesUrl=new URL(".",t).href),e(o)})().then((e=>t([["p-77fed2a6",[[1,"tttx-multiselect-box",{optionsData:[1,"options-data"],label:[1],inline:[4],placeholder:[1],searchEnabled:[4,"search-enabled"],htmlVisibleValue:[4,"html-visible-value"],visibleValue:[1,"visible-value"],open:[32],unsavedSelectedItems:[32],searchTerm:[32]},[[0,"closeSelectBox","handleCloseSelectBox"],[0,"blur","handleBlur"]]]]],["p-f34bface",[[1,"tttx-dialog-box",{data:[1025],size:[1],open:[1028],allowOverflow:[4,"allow-overflow"],elementSize:[32]},[[9,"resize","handleResize"]]]]],["p-887f56cb",[[1,"tttx-select-box",{optionsData:[1,"options-data"],label:[1],inline:[4],placeholder:[1],searchEnabled:[4,"search-enabled"],selectedValue:[1,"selected-value"],open:[32],selectedItem:[32],searchTerm:[32]},[[0,"closeSelectBox","handleCloseSelectBox"],[0,"blur","handleBlur"]]]]],["p-75c31e23",[[1,"tttx-tree-view",{data:[1040],treeData:[32]}]]],["p-c714f7c0",[[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"],defaultFilterOptions:[1,"default-filter-options"],popoverWidth:[1,"popover-width"],showPopover:[32],displayedFilterSettings:[32],selectedFilters:[32],filterSearchTerm:[32],allSelected:[32]},[[0,"closeFilter","handleCloseFilter"]]]]],["p-750cf31b",[[1,"tttx-list",{data:[1025],name:[1],_data:[32]}]]],["p-5290db99",[[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]},[[0,"closeSorter","handleCloseSorter"]]]]],["p-67c342d7",[[2,"tttx-tabs",{tabsName:[1,"tabs-name"],navigation:[4],wide:[4],tabs:[1],_tabs:[32]},[[0,"keydown","handleKeyDown"]]]]],["p-895526aa",[[1,"tttx-form",{formschema:[1032],data:[1032],submit:[64]}]]],["p-6fe0af4e",[[1,"tttx-keyvalue-block",{keyvalues:[8],horizontal:[4]}]]],["p-e55a967b",[[1,"tttx-loading-spinner",{loadingMessage:[1028,"loading-message"],size:[1025]}]]],["p-50cdce65",[[1,"tttx-qrcode",{link:[1025],size:[1026]}]]],["p-a6582ab0",[[1,"tttx-tag",{text:[1],color:[1]}]]],["p-c0c022cd",[[1,"tttx-toolbar",{border:[4],viewSize:[32]},[[9,"resize","handleResize"]]]]],["p-e89b053f",[[1,"tttx-icon",{icon:[1],color:[1]}]]],["p-818574fe",[[2,"tttx-standalone-input",{label:[1],secondarylabel:[1],showerrormsg:[4],showerrorbubble:[4],errormsg:[1],iconleft:[1],iconleftcolor:[1],iconright:[1],iconrightcolor:[1],inputicon:[1],inputiconcolor:[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]}]]],["p-5b7b8539",[[1,"tttx-button",{notext:[4],icon:[1],iconposition:[1],iconcolor:[1025],design:[1]}]]]],e)));
1
+ import{p as e,b as t}from"./p-3f1b6013.js";export{s as setNonce}from"./p-3f1b6013.js";(()=>{const t=import.meta.url,o={};return""!==t&&(o.resourcesUrl=new URL(".",t).href),e(o)})().then((e=>t([["p-5f1f699d",[[1,"tttx-multiselect-box",{optionsData:[1,"options-data"],label:[1],inline:[4],placeholder:[1],searchEnabled:[4,"search-enabled"],htmlVisibleValue:[4,"html-visible-value"],visibleValue:[1,"visible-value"],open:[32],unsavedSelectedItems:[32],searchTerm:[32]},[[0,"closeSelectBox","handleCloseSelectBox"],[0,"blur","handleBlur"]]]]],["p-f34bface",[[1,"tttx-dialog-box",{data:[1025],size:[1],open:[1028],allowOverflow:[4,"allow-overflow"],elementSize:[32]},[[9,"resize","handleResize"]]]]],["p-887f56cb",[[1,"tttx-select-box",{optionsData:[1,"options-data"],label:[1],inline:[4],placeholder:[1],searchEnabled:[4,"search-enabled"],selectedValue:[1,"selected-value"],open:[32],selectedItem:[32],searchTerm:[32]},[[0,"closeSelectBox","handleCloseSelectBox"],[0,"blur","handleBlur"]]]]],["p-75c31e23",[[1,"tttx-tree-view",{data:[1040],treeData:[32]}]]],["p-c714f7c0",[[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"],defaultFilterOptions:[1,"default-filter-options"],popoverWidth:[1,"popover-width"],showPopover:[32],displayedFilterSettings:[32],selectedFilters:[32],filterSearchTerm:[32],allSelected:[32]},[[0,"closeFilter","handleCloseFilter"]]]]],["p-129df5a2",[[1,"tttx-list",{data:[1025],name:[1],_data:[32]}]]],["p-5290db99",[[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]},[[0,"closeSorter","handleCloseSorter"]]]]],["p-67c342d7",[[2,"tttx-tabs",{tabsName:[1,"tabs-name"],navigation:[4],wide:[4],tabs:[1],_tabs:[32]},[[0,"keydown","handleKeyDown"]]]]],["p-b30a1025",[[1,"tttx-form",{formschema:[1025],data:[1032],submit:[64]}]]],["p-d1ff1456",[[1,"tttx-keyvalue-block",{keyvalues:[1],horizontal:[4],spacedout:[4],_elements:[32]}]]],["p-e55a967b",[[1,"tttx-loading-spinner",{loadingMessage:[1028,"loading-message"],size:[1025]}]]],["p-50cdce65",[[1,"tttx-qrcode",{link:[1025],size:[1026]}]]],["p-25acdd4c",[[1,"tttx-tag",{text:[1],color:[1]}]]],["p-c0c022cd",[[1,"tttx-toolbar",{border:[4],viewSize:[32]},[[9,"resize","handleResize"]]]]],["p-e89b053f",[[1,"tttx-icon",{icon:[1],color:[1]}]]],["p-09b92178",[[2,"tttx-standalone-input",{label:[1],secondarylabel:[1],showerrormsg:[4],showerrorbubble:[4],errormsg:[1],iconleft:[1],iconleftcolor:[1],iconright:[1],iconrightcolor:[1],inputicon:[1],inputiconcolor:[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]}]]],["p-4ade2866",[[1,"tttx-button",{notext:[4],icon:[1],iconposition:[1],iconcolor:[1025],design:[1]}]]]],e)));
@@ -1,7 +1,13 @@
1
+ export interface KeyBlockValues {
2
+ [key: string]: string;
3
+ }
1
4
  export declare class TttxKeyvalueBlock {
2
- keyvalues: any | any[] | string;
5
+ keyvalues: KeyBlockValues | KeyBlockValues[] | string;
3
6
  horizontal: boolean;
7
+ spacedout: boolean;
8
+ _elements: HTMLElement[];
4
9
  private renderSingleElements;
5
10
  private renderArrayElements;
11
+ componentWillRender(): void;
6
12
  render(): any;
7
13
  }
@@ -3,7 +3,9 @@ declare const _default: {
3
3
  component: string;
4
4
  };
5
5
  export default _default;
6
- export declare const KeyValueBlock: () => string;
7
- export declare const KeyValueSubtitleBlock: () => string;
8
- export declare const HorizontalKeyValueBlock: () => string;
9
- export declare const HorizontalKeyValueSubtitleBlock: () => string;
6
+ export declare const BasicKeyValueBlock: any;
7
+ export declare const HorizontalKeyValueBlock: any;
8
+ export declare const SpacedoutKeyValueBlock: any;
9
+ export declare const BasicKeyValueBlockArray: any;
10
+ export declare const HorizontalKeyValueBlockArray: any;
11
+ export declare const SpacedoutKeyValueBlockArray: any;
@@ -1,13 +1,14 @@
1
+ import { FormField } from '../tttx-form';
1
2
  /**
2
3
  * Sets the error state of an input field by updating its class and error message.
3
4
  * If an error was detected, it sets the input field's class to "invalid" and
4
5
  * displays the error message in an error bubble. If no error was detected,
5
6
  * it removes the "invalid" class from the input field and clears the error bubble.
6
7
  *
7
- * @param {HTMLInputElement} target - The input field to update.
8
+ * @param {FormField} target - The input field to update.
8
9
  * @param {boolean} hasError - Whether an error was detected in the field.
9
10
  * @param {string} errorMessage - The error message to display (if any).
10
11
  * @return {void}
11
12
  */
12
- declare function setErrorState(target: any, hasError: any, errorMessage: any): void;
13
+ declare function setErrorState(target: FormField, hasError: boolean, errorMessage: string, parent?: HTMLElement): void;
13
14
  export default setErrorState;
@@ -1,16 +1,14 @@
1
+ import { FormField } from '../tttx-form';
1
2
  /**
2
3
  * Validates the input field on focusout event by checking its validity state,
3
4
  * sets an error message if there's an issue, and emits a "dataChanged" event to
4
5
  * the parent component with the field name and its new value.
5
6
  *
6
- * @param {Event} event - The focusout event triggered by the input field.
7
- * @return {void}
7
+ * @param {Event | FocusEvent} event - The focusout event triggered by the input field.
8
+ * @return {{ target: FormField; hasError: boolean; errorMessage: string; }}
8
9
  */
9
- declare function validityCheck(event: {
10
- target: any;
11
- preventDefault: Function;
12
- }): {
13
- target: any;
10
+ declare function validityCheck(event: Event | FocusEvent): {
11
+ target: FormField;
14
12
  hasError: boolean;
15
13
  errorMessage: string;
16
14
  };
@@ -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 {ChangeEvent} event - The focus event triggered by the field.
23
+ * @param {KeyboardEvent | Event} event - The focus event triggered by the field.
23
24
  * @return {void}
24
25
  */
25
- fieldChanged(event: any): void;
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 {Object} formProperties - An object containing additional properties, such as the field type and options properties.
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 {Object} formProperties.validation - A set of validation rules for the field.
49
- * @param {Object[]} formProperties.options - A list of properties to pass to the select options.
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: any): HTMLSelectElement;
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 {value} value - The value of the option.
59
- * @param {label} label - The label which will be displayed on the form for the option.
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: any, optionProperties: any): void;
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 {Object} formProperties - An object containing additional properties for the input field, such as its type and placeholder value.
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: any, formProperties: any): HTMLInputElement;
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 {HTMLInputElement} input - The input element to apply validation attributes to.
80
- * @param {Object} validation - An object containing the validation rules for the input field.
81
- * @param {Object} [validation.required] - An object containing a "message" property to display if the field is required.
82
- * @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.
83
- * @param {Object} [validation.badInput] - An object containing a "message" property to display if the field value is invalid.
84
- * @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.
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: any, validation: any): void;
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
- appendCheckboxInput(formProperties: any, input: any, label: any): void;
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 {Object} formProperties - An object containing properties for the form field, including its label text and validation rules.
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: any, input: any, errorBubble: any): HTMLLabelElement;
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: any): void;
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
  }
@@ -31,6 +31,7 @@ export declare class TttxMultiselectBox {
31
31
  applyChanges(): void;
32
32
  onItemSelected(option: SelectItem): void;
33
33
  dropdownSelectorContent(): any;
34
+ optionFoundInSearchTerm(option: any): boolean;
34
35
  dropdownOption(option: SelectItem): any;
35
36
  handleSearchInput(event: InputEvent): void;
36
37
  calculateDropdownMenuOffset(): void;
@@ -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,6 +7,7 @@
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
12
  import { SelectItem } from "./components/molecules/tttx-multiselect-box/interfaces";
12
13
  import { SelectItem as SelectItem1 } from "./components/molecules/tttx-select-box/interfaces";
@@ -41,7 +42,7 @@ export namespace Components {
41
42
  }
42
43
  interface TttxForm {
43
44
  "data": any;
44
- "formschema": any;
45
+ "formschema": Record<string, any> | string;
45
46
  "submit": () => Promise<void>;
46
47
  }
47
48
  interface TttxIcon {
@@ -50,7 +51,8 @@ export namespace Components {
50
51
  }
51
52
  interface TttxKeyvalueBlock {
52
53
  "horizontal": boolean;
53
- "keyvalues": any | any[] | string;
54
+ "keyvalues": KeyBlockValues | KeyBlockValues[] | string;
55
+ "spacedout": boolean;
54
56
  }
55
57
  interface TttxList {
56
58
  "data": string | ListItem[];
@@ -343,7 +345,7 @@ declare namespace LocalJSX {
343
345
  }
344
346
  interface TttxForm {
345
347
  "data"?: any;
346
- "formschema"?: any;
348
+ "formschema"?: Record<string, any> | string;
347
349
  "onDataChanged"?: (event: TttxFormCustomEvent<{ name: string; value: any }>) => void;
348
350
  "onDataSubmitted"?: (event: TttxFormCustomEvent<FormData>) => void;
349
351
  }
@@ -353,7 +355,8 @@ declare namespace LocalJSX {
353
355
  }
354
356
  interface TttxKeyvalueBlock {
355
357
  "horizontal"?: boolean;
356
- "keyvalues"?: any | any[] | string;
358
+ "keyvalues"?: KeyBlockValues | KeyBlockValues[] | string;
359
+ "spacedout"?: boolean;
357
360
  }
358
361
  interface TttxList {
359
362
  "data"?: string | ListItem[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@3t-transform/threeteeui",
3
- "version": "0.2.75",
3
+ "version": "0.2.77",
4
4
  "description": "3t Design System",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -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 o,c as t,h as i,H as s,g as e}from"./p-3f1b6013.js";import{p as n,d}from"./p-5ed38d61.js";import"./p-112455b1.js";const r=class{constructor(i){o(this,i),this.selectItemEvent=t(this,"selectItemEvent",7),this.toggleOpen=t(this,"toggleOpen",7),this.changesApplied=t(this,"changesApplied",7),this.bodyOffset={},this.optionsData=null,this.label=void 0,this.inline=void 0,this.placeholder="",this.searchEnabled=void 0,this.htmlVisibleValue=void 0,this.visibleValue=void 0,this.open=!1,this.unsavedSelectedItems=void 0,this.searchTerm=""}handleCloseSelectBox(){this.open=!1}handleBlur(){this.open=!1,this.toggleOpen.emit(!1)}safelyCloneArray(o){return JSON.parse(JSON.stringify(o))}onDropdownClicked(){this.open=!this.open,this.searchTerm="",this.calculateDropdownMenuOffset(),this.toggleOpen.emit(this.open)}onCancel(){this.open=!1,this.unsavedSelectedItems=this.safelyCloneArray(this._optionsData),this.toggleOpen.emit(!1)}applyChanges(){this.open=!1,this.changesApplied.emit(this.safelyCloneArray(this.unsavedSelectedItems))}onItemSelected(o){const t=this.unsavedSelectedItems.findIndex((t=>t.value===o.value));this.unsavedSelectedItems[t]=Object.assign(Object.assign({},o),{selected:!o.selected}),this.unsavedSelectedItems=[...this.unsavedSelectedItems],this.selectItemEvent.emit(o)}dropdownSelectorContent(){if(!this._optionsData.find((o=>o.selected)))return i("div",{class:"placeholder"},this.placeholder);if(this.htmlVisibleValue){const o=n.sanitize(this.visibleValue,d);return i("div",{class:"dropdown-selector-html-content",innerHTML:o})}return i("div",null,this.visibleValue)}dropdownOption(o){const t=this.searchEnabled&&-1===o.label.toLowerCase().indexOf(this.searchTerm.toLowerCase()),s=o.selected?"check_box":"check_box_outline_blank",e=o.selected?"blue":"grey";if(o.html){const r=n.sanitize(o.html,d);return i("div",{class:`dropdown-option ${t?"hidden":""} ${o.selected?"selected":""}`,onClick:this.onItemSelected.bind(this,o),key:o.label},i("tttx-icon",{icon:s,color:e,class:"checkbox-icon"}),i("div",{innerHTML:r}))}return i("div",{class:`dropdown-option ${t?"hidden":""} ${o.selected?"selected":""}`,onClick:this.onItemSelected.bind(this,o),key:o.label},i("tttx-icon",{icon:s,color:e,class:"checkbox-icon"}),i("div",{class:"plaintext-option"},o.label))}handleSearchInput(o){this.searchTerm=o.target.value}calculateDropdownMenuOffset(){const o=this.el.shadowRoot.querySelector(".dropdown-selector"),t=o.getBoundingClientRect().bottom;let i=Math.min(288,36*this._optionsData.length)+45+8;this.searchEnabled&&(i+=52),this.bodyOffset=t+i>window.innerHeight?{bottom:"16px",position:"fixed",width:`${o.offsetWidth}px`}:{}}render(){if(!this.optionsData)return;this._optionsData="string"==typeof this.optionsData?JSON.parse(this.optionsData):this.optionsData,this.unsavedSelectedItems||(this.unsavedSelectedItems=this.safelyCloneArray(this._optionsData));const o=this.open?"expand_less":"expand_more";return i(s,{class:this.inline?"inline":"block"},this.label&&i("div",{class:"label"},this.label),i("div",{tabindex:"0",class:"dropdown-container"},i("div",{class:"dropdown-selector",onClick:this.onDropdownClicked.bind(this)},this.dropdownSelectorContent(),i("div",{class:"dropdown-selector-chevron"},i("tttx-icon",{icon:o,color:"black"}))),this.open&&i("div",{class:"dropdown-body-container"},i("div",{class:"dropdown-body",style:Object.assign({},this.bodyOffset)},this.searchEnabled&&i("div",{class:"searchbox"},i("tttx-standalone-input",{type:"text",label:"",required:!0,showerrorbubble:!1,iconleft:"search",onInput:this.handleSearchInput.bind(this),inline:!0})),i("div",{class:"dropdown-options-list"},this.unsavedSelectedItems.map((o=>this.dropdownOption(o)))),i("div",{class:"footer"},i("tttx-button",{design:"primary",onClick:this.applyChanges.bind(this)},"Apply"),i("tttx-button",{onClick:this.onCancel.bind(this)},"Cancel"))))))}get el(){return e(this)}};r.style='.material-symbols-rounded{font-variation-settings:"FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24}:host{display:flex;gap:4px}.label{font-size:16px;font-style:normal;font-weight:500;line-height:normal}:host(.inline) .label{padding-top:8px}:host(.block){flex-direction:column}.dropdown-container{display:grid;position:relative;display:flex;flex-direction:column;width:100%}.dropdown-container:focus-visible{outline:none}.dropdown-container:focus .dropdown-selector{border:1px solid #1479c6}.dropdown-selector,.dropdown-body{display:flex;border-radius:4px;background-color:white}.dropdown-selector{grid-row:1;align-items:center;gap:8px;padding:6px 8px 6px 16px;cursor:pointer;border:1px solid #d5d5d5}.dropdown-selector-chevron{margin-left:auto;height:24px}.dropdown-selector-chevron>tttx-icon{cursor:pointer}.dropdown-selector-html-content{display:flex;gap:8px;flex-wrap:wrap}.dropdown-body-container{grid-row:2;position:relative}.dropdown-body{position:absolute;display:flex;position:absolute;flex-direction:column;box-shadow:0px 1px 5px #1111114D;padding-bottom:8px;border:1px solid #d5d5d5;width:100%}.dropdown-options-list{display:flex;flex-direction:column;overflow-y:auto;scrollbar-gutter:stable;max-height:288px}.dropdown-option{padding:6px 8px 6px 16px;cursor:pointer;display:flex;gap:8px}.dropdown-option .checkbox-icon{height:24px}.dropdown-option .plaintext-option{line-height:24px}.dropdown-option:hover{background-color:#1111110d}.dropdown-option:active,.dropdown-option.selected{background-color:#ebfbfc}.placeholder{color:#9e9e9e}.searchbox{padding:8px 16px 8px 16px;height:52px;box-sizing:border-box}.searchbox tttx-standalone-input{margin-top:-4px}.hidden{display:none}.footer{display:flex;gap:8px;flex-direction:row-reverse;padding:8px 16px 0 16px;border-top:1px solid #d5d5d5}';export{r as tttx_multiselect_box}
@@ -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="&nbsp;(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}