@3t-transform/threeteeui 0.1.8 → 0.1.19

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 (109) hide show
  1. package/dist/cjs/{index-8ba406f6.js → index-b8a62ede.js} +80 -1
  2. package/dist/cjs/loader.cjs.js +2 -2
  3. package/dist/cjs/tttx-button.cjs.entry.js +24 -24
  4. package/dist/cjs/tttx-filter.cjs.entry.js +162 -0
  5. package/dist/cjs/tttx-form.cjs.entry.js +363 -363
  6. package/dist/cjs/tttx-icon.cjs.entry.js +11 -11
  7. package/dist/cjs/tttx-keyvalue-block.cjs.entry.js +62 -58
  8. package/dist/cjs/tttx-list.cjs.entry.js +43 -43
  9. package/dist/cjs/tttx-loading-spinner.cjs.entry.js +16 -16
  10. package/dist/cjs/tttx-standalone-input.cjs.entry.js +60 -60
  11. package/dist/cjs/tttx-toolbar.cjs.entry.js +10 -10
  12. package/dist/cjs/tttx.cjs.js +2 -2
  13. package/dist/collection/collection-manifest.json +1 -0
  14. package/dist/collection/components/atoms/tttx-button/tttx-button.js +110 -110
  15. package/dist/collection/components/atoms/tttx-button/tttx-button.stories.js +14 -14
  16. package/dist/collection/components/atoms/tttx-icon/tttx-icon.js +62 -62
  17. package/dist/collection/components/atoms/tttx-icon/tttx-icon.stories.js +22 -22
  18. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.css +6 -0
  19. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.js +111 -107
  20. package/dist/collection/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.js +38 -38
  21. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.js +67 -67
  22. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.stories.js +17 -17
  23. package/dist/collection/components/molecules/tttx-filter/tttx-filter.css +215 -0
  24. package/dist/collection/components/molecules/tttx-filter/tttx-filter.js +325 -0
  25. package/dist/collection/components/molecules/tttx-filter/tttx-filter.stories.js +118 -0
  26. package/dist/collection/components/molecules/tttx-form/lib/setErrorState.js +35 -35
  27. package/dist/collection/components/molecules/tttx-form/lib/validityCheck.js +58 -58
  28. package/dist/collection/components/molecules/tttx-form/tttx-form.js +364 -364
  29. package/dist/collection/components/molecules/tttx-form/tttx-form.stories.js +127 -127
  30. package/dist/collection/components/molecules/tttx-list/tttx-list.js +105 -105
  31. package/dist/collection/components/molecules/tttx-list/tttx-list.stories.js +43 -43
  32. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +627 -627
  33. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +157 -157
  34. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.js +44 -44
  35. package/dist/collection/components/molecules/tttx-toolbar/tttx-toolbar.stories.js +14 -14
  36. package/dist/collection/components/palette.stories.js +7 -7
  37. package/dist/collection/docs/gettingstarted-developer.stories.js +5 -5
  38. package/dist/collection/icons.js +2838 -2838
  39. package/dist/collection/index.js +1 -1
  40. package/dist/collection/shared/domsanitiser.options.js +14 -14
  41. package/dist/components/index.d.ts +1 -0
  42. package/dist/components/index.js +1 -0
  43. package/dist/components/tttx-button.js +48 -48
  44. package/dist/components/tttx-filter.d.ts +11 -0
  45. package/dist/components/tttx-filter.js +195 -0
  46. package/dist/components/tttx-form.js +380 -380
  47. package/dist/components/tttx-icon2.js +28 -28
  48. package/dist/components/tttx-keyvalue-block.js +79 -75
  49. package/dist/components/tttx-list.js +65 -65
  50. package/dist/components/tttx-loading-spinner.js +33 -33
  51. package/dist/components/tttx-standalone-input.js +107 -107
  52. package/dist/components/tttx-toolbar.js +26 -26
  53. package/dist/esm/{index-5f9b72ff.js → index-e888a5f4.js} +80 -2
  54. package/dist/esm/loader.js +3 -3
  55. package/dist/esm/polyfills/core-js.js +0 -0
  56. package/dist/esm/polyfills/dom.js +0 -0
  57. package/dist/esm/polyfills/es5-html-element.js +0 -0
  58. package/dist/esm/polyfills/index.js +0 -0
  59. package/dist/esm/polyfills/system.js +0 -0
  60. package/dist/esm/tttx-button.entry.js +24 -24
  61. package/dist/esm/tttx-filter.entry.js +158 -0
  62. package/dist/esm/tttx-form.entry.js +363 -363
  63. package/dist/esm/tttx-icon.entry.js +11 -11
  64. package/dist/esm/tttx-keyvalue-block.entry.js +62 -58
  65. package/dist/esm/tttx-list.entry.js +43 -43
  66. package/dist/esm/tttx-loading-spinner.entry.js +16 -16
  67. package/dist/esm/tttx-standalone-input.entry.js +60 -60
  68. package/dist/esm/tttx-toolbar.entry.js +10 -10
  69. package/dist/esm/tttx.js +3 -3
  70. package/dist/tttx/{p-405219b2.entry.js → p-01f4628e.entry.js} +1 -1
  71. package/dist/tttx/{p-435c62b3.entry.js → p-043f9b8a.entry.js} +1 -1
  72. package/dist/tttx/{p-9cff9c64.entry.js → p-34052e38.entry.js} +1 -1
  73. package/dist/tttx/p-41f5b296.entry.js +1 -0
  74. package/dist/tttx/{p-0342cc46.entry.js → p-4cf3e1e0.entry.js} +1 -1
  75. package/dist/tttx/{p-1290dcd7.entry.js → p-6dff6b5a.entry.js} +1 -1
  76. package/dist/tttx/p-6f535da9.entry.js +1 -0
  77. package/dist/tttx/{p-adf35f58.entry.js → p-96bbf1ed.entry.js} +1 -1
  78. package/dist/tttx/{p-4ecc9e8b.entry.js → p-b3a03986.entry.js} +1 -1
  79. package/dist/tttx/p-f764ffc4.js +2 -0
  80. package/dist/tttx/tttx.esm.js +1 -1
  81. package/dist/types/components/atoms/tttx-button/tttx-button.d.ts +10 -10
  82. package/dist/types/components/atoms/tttx-button/tttx-button.stories.d.ts +10 -10
  83. package/dist/types/components/atoms/tttx-icon/tttx-icon.d.ts +5 -5
  84. package/dist/types/components/atoms/tttx-icon/tttx-icon.stories.d.ts +20 -20
  85. package/dist/types/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.d.ts +7 -7
  86. package/dist/types/components/atoms/tttx-keyvalue-block/tttx-keyvalue-block.stories.d.ts +9 -9
  87. package/dist/types/components/atoms/tttx-loading-spinner/tttx-loading-spinner.d.ts +6 -6
  88. package/dist/types/components/atoms/tttx-loading-spinner/tttx-loading-spinner.stories.d.ts +17 -17
  89. package/dist/types/components/molecules/tttx-filter/tttx-filter.d.ts +37 -0
  90. package/dist/types/components/molecules/tttx-filter/tttx-filter.stories.d.ts +43 -0
  91. package/dist/types/components/molecules/tttx-form/lib/setErrorState.d.ts +13 -13
  92. package/dist/types/components/molecules/tttx-form/lib/validityCheck.d.ts +17 -17
  93. package/dist/types/components/molecules/tttx-form/tttx-form.d.ts +114 -114
  94. package/dist/types/components/molecules/tttx-form/tttx-form.stories.d.ts +13 -13
  95. package/dist/types/components/molecules/tttx-list/tttx-list.d.ts +11 -11
  96. package/dist/types/components/molecules/tttx-list/tttx-list.stories.d.ts +14 -14
  97. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.d.ts +56 -56
  98. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.d.ts +123 -123
  99. package/dist/types/components/molecules/tttx-toolbar/tttx-toolbar.d.ts +4 -4
  100. package/dist/types/components/molecules/tttx-toolbar/tttx-toolbar.stories.d.ts +13 -13
  101. package/dist/types/components/palette.stories.d.ts +6 -6
  102. package/dist/types/components.d.ts +33 -0
  103. package/dist/types/docs/gettingstarted-developer.stories.d.ts +5 -5
  104. package/dist/types/icons.d.ts +2 -2
  105. package/dist/types/index.d.ts +1 -1
  106. package/dist/types/shared/domsanitiser.options.d.ts +10 -10
  107. package/package.json +1 -1
  108. package/dist/tttx/p-1b394414.entry.js +0 -1
  109. package/dist/tttx/p-c4b803fc.js +0 -2
@@ -1,17 +1,17 @@
1
- import { r as registerInstance, h, H as Host } from './index-5f9b72ff.js';
1
+ import { r as registerInstance, h, H as Host } from './index-e888a5f4.js';
2
2
 
3
3
  const tttxIconCss = ".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}:host{display:inline-block;cursor:default;user-select:none}.icon-size{width:24px;height:24px}.tooltip{background:#ffffff;color:#343434;font-weight:bold;padding:8px 16px;font-size:13px;border-radius:4px;box-shadow:0 0 5px 1px rgba(0, 0, 0, 0.3);display:none}.tooltip[data-show]{display:block}.arrow,.arrow::before{position:absolute;width:8px;height:8px;background:inherit}.arrow{visibility:hidden}.arrow::before{visibility:visible;content:\"\";transform:rotate(45deg)}.tooltip[data-popper-placement^=top]>.arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.arrow{top:-4px}.tooltip[data-popper-placement^=left]>.arrow{right:-4px}.tooltip[data-popper-placement^=right]>.arrow{left:-4px}.red{color:#dc0000}.darkred{color:#A20000}.orange{color:#f59500}.blue{color:#1479c6}.green{color:#a2bb31}.gray{color:#757575}.black{color:#212121}.white{color:white}";
4
4
 
5
- const TttxIcon = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.icon = undefined;
9
- this.color = 'grey';
10
- }
11
- render() {
12
- return (h(Host, null, h("span", { class: `material-symbols-rounded ${this.color ? this.color : ''}` }, this.icon)));
13
- }
14
- };
5
+ const TttxIcon = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.icon = undefined;
9
+ this.color = 'grey';
10
+ }
11
+ render() {
12
+ return (h(Host, null, h("span", { class: `material-symbols-rounded ${this.color ? this.color : ''}` }, this.icon)));
13
+ }
14
+ };
15
15
  TttxIcon.style = tttxIconCss;
16
16
 
17
17
  export { TttxIcon as tttx_icon };
@@ -1,63 +1,67 @@
1
- import { r as registerInstance, h, H as Host } from './index-5f9b72ff.js';
1
+ import { r as registerInstance, h, H as Host } from './index-e888a5f4.js';
2
2
 
3
- const tttxKeyvalueBlockCss = ":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}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%}}@media (max-width: 600px){dl.horizontal div{width:100%}}";
3
+ const tttxKeyvalueBlockCss = ":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}}";
4
4
 
5
- const TttxKeyvalueBlock = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.keyvalues = undefined;
9
- this.horizontal = undefined;
10
- }
11
- renderSingleElements(values) {
12
- const keys = Object.keys(values);
13
- const elements = [];
14
- for (let i = 0; i < keys.length; i++) {
15
- if (this.horizontal) {
16
- elements.push(h("div", null, h("dt", null, keys[i]), h("dd", null, values[keys[i]])));
17
- }
18
- else {
19
- elements.push(h("dt", null, keys[i]));
20
- elements.push(h("dd", null, values[keys[i]]));
21
- }
22
- }
23
- return elements;
24
- }
25
- renderArrayElements(values) {
26
- const elements = [];
27
- for (let i = 0; i < values.length; i++) {
28
- const value = values[i];
29
- if (this.horizontal) {
30
- elements.push(h("div", null, h("dt", { class: 'mainTitle' }, value.title), h("dt", { class: 'subTitle' }, value.subTitle), h("dd", null, value.data)));
31
- }
32
- else {
33
- elements.push(h("dt", { class: 'mainTitle' }, value.title));
34
- elements.push(h("dt", { class: 'subTitle' }, value.subTitle));
35
- elements.push(h("dd", null, value.data));
36
- }
37
- }
38
- return elements;
39
- }
40
- render() {
41
- if (!this.keyvalues) {
42
- return;
43
- }
44
- let values;
45
- if (typeof this.keyvalues === 'string') {
46
- values = JSON.parse(this.keyvalues);
47
- }
48
- else {
49
- values = this.keyvalues;
50
- }
51
- let elements;
52
- if (Array.isArray(values)) {
53
- elements = this.renderArrayElements(values);
54
- }
55
- else {
56
- elements = this.renderSingleElements(values);
57
- }
58
- return (h(Host, null, h("dl", { class: this.horizontal ? 'horizontal' : null }, elements)));
59
- }
60
- };
5
+ const TttxKeyvalueBlock = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.keyvalues = undefined;
9
+ this.horizontal = undefined;
10
+ }
11
+ renderSingleElements(values) {
12
+ const keys = Object.keys(values);
13
+ const elements = [];
14
+ const divSize = (100 / keys.length).toString() + '%';
15
+ console.log(divSize);
16
+ for (let i = 0; i < keys.length; i++) {
17
+ if (this.horizontal) {
18
+ elements.push(h("div", { style: { maxWidth: divSize } }, h("dt", null, keys[i]), h("dd", null, values[keys[i]])));
19
+ }
20
+ else {
21
+ elements.push(h("dt", null, keys[i]));
22
+ elements.push(h("dd", null, values[keys[i]]));
23
+ }
24
+ }
25
+ return elements;
26
+ }
27
+ renderArrayElements(values) {
28
+ const elements = [];
29
+ const divSize = (100 / values.length).toString() + '%';
30
+ console.log(divSize);
31
+ for (let i = 0; i < values.length; i++) {
32
+ const value = values[i];
33
+ if (this.horizontal) {
34
+ elements.push(h("div", { style: { maxWidth: divSize } }, h("dt", { class: 'mainTitle' }, value.title), h("dt", { class: 'subTitle' }, value.subTitle), h("dd", null, value.data)));
35
+ }
36
+ else {
37
+ elements.push(h("dt", { class: 'mainTitle' }, value.title));
38
+ elements.push(h("dt", { class: 'subTitle' }, value.subTitle));
39
+ elements.push(h("dd", null, value.data));
40
+ }
41
+ }
42
+ return elements;
43
+ }
44
+ render() {
45
+ if (!this.keyvalues) {
46
+ return;
47
+ }
48
+ let values;
49
+ if (typeof this.keyvalues === 'string') {
50
+ values = JSON.parse(this.keyvalues);
51
+ }
52
+ else {
53
+ values = this.keyvalues;
54
+ }
55
+ let elements;
56
+ if (Array.isArray(values)) {
57
+ elements = this.renderArrayElements(values);
58
+ }
59
+ else {
60
+ elements = this.renderSingleElements(values);
61
+ }
62
+ return (h(Host, null, h("dl", { class: this.horizontal ? 'horizontal' : null }, elements)));
63
+ }
64
+ };
61
65
  TttxKeyvalueBlock.style = tttxKeyvalueBlockCss;
62
66
 
63
67
  export { TttxKeyvalueBlock as tttx_keyvalue_block };
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h } from './index-5f9b72ff.js';
1
+ import { r as registerInstance, c as createEvent, h } from './index-e888a5f4.js';
2
2
 
3
3
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
4
 
@@ -1649,52 +1649,52 @@ var purify = createCommonjsModule(function (module, exports) {
1649
1649
  //# sourceMappingURL=purify.js.map
1650
1650
  });
1651
1651
 
1652
- function tagRegXp(tagName) {
1653
- return RegExp(/^tttx-/).exec(tagName);
1654
- }
1655
- function attributeNameCheck() {
1656
- return true;
1657
- }
1658
- const domSanitiserOptions = {
1659
- CUSTOM_ELEMENT_HANDLING: {
1660
- tagNameCheck: tagRegXp,
1661
- attributeNameCheck: attributeNameCheck,
1662
- allowCustomizedBuiltInElements: false, // customized built-ins are not allowed
1663
- }
1652
+ function tagRegXp(tagName) {
1653
+ return RegExp(/^tttx-/).exec(tagName);
1654
+ }
1655
+ function attributeNameCheck() {
1656
+ return true;
1657
+ }
1658
+ const domSanitiserOptions = {
1659
+ CUSTOM_ELEMENT_HANDLING: {
1660
+ tagNameCheck: tagRegXp,
1661
+ attributeNameCheck: attributeNameCheck,
1662
+ allowCustomizedBuiltInElements: false, // customized built-ins are not allowed
1663
+ }
1664
1664
  };
1665
1665
 
1666
1666
  const tttxListCss = ".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}:host{display:flex;flex-direction:column}.list{margin:0;padding:0}.item{list-style:none;margin:0;padding:8px;border-bottom:1px solid #d5d5d5;min-height:36px;display:flex;align-items:center}.item:first-of-type{border-top:1px solid #d5d5d5}.item.clickable:hover{cursor:pointer}.item.clickable:active{background-color:#e6e6e6}.align-right{margin-left:auto}.item-content{display:flex;align-items:center}";
1667
1667
 
1668
- const TttxList = class {
1669
- constructor(hostRef) {
1670
- registerInstance(this, hostRef);
1671
- this.rowClick = createEvent(this, "listRowClick", 7);
1672
- this.data = undefined;
1673
- this.name = undefined;
1674
- }
1675
- onRowClickHandler(item) {
1676
- if (!item.clickable || !item.rowData)
1677
- return;
1678
- this.rowClick.emit({ name: this.name, data: item.rowData });
1679
- }
1680
- renderListItem(item) {
1681
- const cleanHTML = purify.sanitize(item.element, domSanitiserOptions);
1682
- return (h("li", { class: `item ${item.clickable ? 'clickable' : ''}`, onClick: () => {
1683
- this.onRowClickHandler(item);
1684
- } }, item.element && h("span", { class: "item-content", innerHTML: cleanHTML }), item.icon && h("tttx-icon", { class: "align-right ", icon: item.icon })));
1685
- }
1686
- render() {
1687
- if (!this.data)
1688
- return;
1689
- if (typeof this.data === 'string') {
1690
- this._data = JSON.parse(this.data);
1691
- }
1692
- else {
1693
- this._data = this.data;
1694
- }
1695
- return h("ul", { class: "list" }, this._data.map((item) => this.renderListItem(item)));
1696
- }
1697
- };
1668
+ const TttxList = class {
1669
+ constructor(hostRef) {
1670
+ registerInstance(this, hostRef);
1671
+ this.rowClick = createEvent(this, "listRowClick", 7);
1672
+ this.data = undefined;
1673
+ this.name = undefined;
1674
+ }
1675
+ onRowClickHandler(item) {
1676
+ if (!item.clickable || !item.rowData)
1677
+ return;
1678
+ this.rowClick.emit({ name: this.name, data: item.rowData });
1679
+ }
1680
+ renderListItem(item) {
1681
+ const cleanHTML = purify.sanitize(item.element, domSanitiserOptions);
1682
+ return (h("li", { class: `item ${item.clickable ? 'clickable' : ''}`, onClick: () => {
1683
+ this.onRowClickHandler(item);
1684
+ } }, item.element && h("span", { class: "item-content", innerHTML: cleanHTML }), item.icon && h("tttx-icon", { class: "align-right ", icon: item.icon })));
1685
+ }
1686
+ render() {
1687
+ if (!this.data)
1688
+ return;
1689
+ if (typeof this.data === 'string') {
1690
+ this._data = JSON.parse(this.data);
1691
+ }
1692
+ else {
1693
+ this._data = this.data;
1694
+ }
1695
+ return h("ul", { class: "list" }, this._data.map((item) => this.renderListItem(item)));
1696
+ }
1697
+ };
1698
1698
  TttxList.style = tttxListCss;
1699
1699
 
1700
1700
  export { TttxList as tttx_list };
@@ -1,22 +1,22 @@
1
- import { r as registerInstance, h } from './index-5f9b72ff.js';
1
+ import { r as registerInstance, h } from './index-e888a5f4.js';
2
2
 
3
3
  const tttxLoadingSpinnerCss = ".material-symbols-rounded{font-variation-settings:\"FILL\" 1, \"wght\" 400, \"GRAD\" 0, \"opsz\" 24}.spinner-container{position:absolute}.loading-box{display:flex;align-items:center;justify-content:center}.loading-text{font-size:16px;font-weight:400;padding-top:10px;text-align:center}.spinner{border:solid #1479c6;border-bottom-color:#d5d5d5;border-radius:50%;position:relative;box-sizing:border-box;animation:rotation 1s linear infinite}.spinner.small{height:20px;width:20px;border-width:4px}.spinner.large{height:60px;width:60px;border-width:8px}@keyframes rotation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}";
4
4
 
5
- const TttxLoadingSpinner = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.loadingMessage = undefined;
9
- this.size = 'large';
10
- }
11
- renderLoadingMessage() {
12
- if (!this.loadingMessage)
13
- return '';
14
- return h("div", { class: "loading-text" }, "Loading, please wait...");
15
- }
16
- render() {
17
- return (h("div", { class: "spinner-container" }, h("div", { class: "loading-box" }, h("span", { class: `spinner ${this.size}` })), this.renderLoadingMessage()));
18
- }
19
- };
5
+ const TttxLoadingSpinner = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.loadingMessage = undefined;
9
+ this.size = 'large';
10
+ }
11
+ renderLoadingMessage() {
12
+ if (!this.loadingMessage)
13
+ return '';
14
+ return h("div", { class: "loading-text" }, "Loading, please wait...");
15
+ }
16
+ render() {
17
+ return (h("div", { class: "spinner-container" }, h("div", { class: "loading-box" }, h("span", { class: `spinner ${this.size}` })), this.renderLoadingMessage()));
18
+ }
19
+ };
20
20
  TttxLoadingSpinner.style = tttxLoadingSpinnerCss;
21
21
 
22
22
  export { TttxLoadingSpinner as tttx_loading_spinner };
@@ -1,66 +1,66 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-5f9b72ff.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-e888a5f4.js';
2
2
 
3
3
  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{min-height:27px;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}input.sc-tttx-standalone-input~.errorBubble.sc-tttx-standalone-input:not(.visible){visibility:hidden}input.sc-tttx-standalone-input~.errorBubble.sc-tttx-standalone-input span.sc-tttx-standalone-input{color:#dc0000;font-size:16px;margin-right:4px;height:16px}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;visibility:visible}input.sc-tttx-standalone-input:focus{border-color:#1479c6}input.sc-tttx-standalone-input:focus-visible{outline:none}.sc-tttx-standalone-input-h{display:block}";
4
4
 
5
- const TttxInput = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.valueChanged = createEvent(this, "valueChanged", 7);
9
- this.focusChanged = createEvent(this, "focusChanged", 7);
10
- this.blurChanged = createEvent(this, "blurChanged", 7);
11
- this.invalidChanged = createEvent(this, "invalidChanged", 7);
12
- this.label = undefined;
13
- this.showerrormsg = undefined;
14
- this.showerrorbubble = true;
15
- this.errormsg = undefined;
16
- this.iconleft = undefined;
17
- this.iconright = undefined;
18
- this.inputicon = undefined;
19
- this.inline = undefined;
20
- this.inputAutocapitalize = undefined;
21
- this.inputAutofocus = undefined;
22
- this.inputKeyhint = undefined;
23
- this.inputIndex = undefined;
24
- this.inputTitle = undefined;
25
- this.autocomplete = undefined;
26
- this.checked = undefined;
27
- this.disabled = undefined;
28
- this.max = undefined;
29
- this.maxlength = undefined;
30
- this.min = undefined;
31
- this.minlength = undefined;
32
- this.name = undefined;
33
- this.pattern = undefined;
34
- this.placeholder = undefined;
35
- this.readonly = undefined;
36
- this.required = undefined;
37
- this.step = undefined;
38
- this.type = 'text';
39
- this.value = undefined;
40
- }
41
- handleChange(event) {
42
- const target = event.target;
43
- this.value = target.value;
44
- this.valueChanged.emit(target.value);
45
- }
46
- handleFocus(event) {
47
- const target = event.target;
48
- this.focusChanged.emit(target.value);
49
- }
50
- handleBlur(event) {
51
- const target = event.target;
52
- this.blurChanged.emit(target.value);
53
- }
54
- handleInvalid(event) {
55
- event.preventDefault();
56
- const target = event.target;
57
- this.invalidChanged.emit(target.value);
58
- }
59
- render() {
60
- const classNames = ['standalone', this.showerrormsg ? 'invalid' : ''].join(' ');
61
- return (h(Host, null, h("label", { class: this.inline ? 'inputInline' : 'inputBlock' }, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', this.iconleft && (h("div", { class: "icon-left" }, h("tttx-icon", { icon: this.iconleft, color: "grey" }))), h("div", { class: "input-container" }, this.inputicon && (h("tttx-icon", { class: "input-icon", icon: this.inputicon, 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.iconright && (h("div", { class: "icon-right" }, h("tttx-icon", { icon: this.iconright, color: "grey" }))), this.showerrorbubble && (h("span", { class: ['errorBubble', this.showerrormsg && this.errormsg ? 'visible' : ''].join(' ') }, h("span", { class: "material-symbols-rounded validationicon" }, "warning"), " ", this.errormsg))))));
62
- }
63
- };
5
+ const TttxInput = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.valueChanged = createEvent(this, "valueChanged", 7);
9
+ this.focusChanged = createEvent(this, "focusChanged", 7);
10
+ this.blurChanged = createEvent(this, "blurChanged", 7);
11
+ this.invalidChanged = createEvent(this, "invalidChanged", 7);
12
+ this.label = undefined;
13
+ this.showerrormsg = undefined;
14
+ this.showerrorbubble = true;
15
+ this.errormsg = undefined;
16
+ this.iconleft = undefined;
17
+ this.iconright = undefined;
18
+ this.inputicon = undefined;
19
+ this.inline = undefined;
20
+ this.inputAutocapitalize = undefined;
21
+ this.inputAutofocus = undefined;
22
+ this.inputKeyhint = undefined;
23
+ this.inputIndex = undefined;
24
+ this.inputTitle = undefined;
25
+ this.autocomplete = undefined;
26
+ this.checked = undefined;
27
+ this.disabled = undefined;
28
+ this.max = undefined;
29
+ this.maxlength = undefined;
30
+ this.min = undefined;
31
+ this.minlength = undefined;
32
+ this.name = undefined;
33
+ this.pattern = undefined;
34
+ this.placeholder = undefined;
35
+ this.readonly = undefined;
36
+ this.required = undefined;
37
+ this.step = undefined;
38
+ this.type = 'text';
39
+ this.value = undefined;
40
+ }
41
+ handleChange(event) {
42
+ const target = event.target;
43
+ this.value = target.value;
44
+ this.valueChanged.emit(target.value);
45
+ }
46
+ handleFocus(event) {
47
+ const target = event.target;
48
+ this.focusChanged.emit(target.value);
49
+ }
50
+ handleBlur(event) {
51
+ const target = event.target;
52
+ this.blurChanged.emit(target.value);
53
+ }
54
+ handleInvalid(event) {
55
+ event.preventDefault();
56
+ const target = event.target;
57
+ this.invalidChanged.emit(target.value);
58
+ }
59
+ render() {
60
+ const classNames = ['standalone', this.showerrormsg ? 'invalid' : ''].join(' ');
61
+ return (h(Host, null, h("label", { class: this.inline ? 'inputInline' : 'inputBlock' }, this.label, !this.required ? h("span", { class: "optional" }, "\u00A0(optional)") : '', this.iconleft && (h("div", { class: "icon-left" }, h("tttx-icon", { icon: this.iconleft, color: "grey" }))), h("div", { class: "input-container" }, this.inputicon && (h("tttx-icon", { class: "input-icon", icon: this.inputicon, 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.iconright && (h("div", { class: "icon-right" }, h("tttx-icon", { icon: this.iconright, color: "grey" }))), this.showerrorbubble && (h("span", { class: ['errorBubble', this.showerrormsg && this.errormsg ? 'visible' : ''].join(' ') }, h("span", { class: "material-symbols-rounded validationicon" }, "warning"), " ", this.errormsg))))));
62
+ }
63
+ };
64
64
  TttxInput.style = tttxStandaloneInputCss;
65
65
 
66
66
  export { TttxInput as tttx_standalone_input };
@@ -1,16 +1,16 @@
1
- import { r as registerInstance, h, H as Host } from './index-5f9b72ff.js';
1
+ import { r as registerInstance, h, H as Host } from './index-e888a5f4.js';
2
2
 
3
3
  const tttxToolbarCss = ":host{height:36px;display:flex;padding:8px 0;gap:8px}:host(.bordered){border-bottom:1px solid #d5d5d5}slot[name=before]{display:flex;flex:1 1 0px;gap:8px}slot[name=center]{display:flex;justify-content:center;flex:1 1 0px;gap:8px}slot[name=after]{display:flex;justify-content:end;flex:1 1 0px;gap:8px}";
4
4
 
5
- const TttxToolbar = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.border = true;
9
- }
10
- render() {
11
- return (h(Host, { class: this.border ? 'bordered' : '' }, h("slot", { name: 'before' }), h("slot", { name: 'center' }), h("slot", { name: 'after' })));
12
- }
13
- };
5
+ const TttxToolbar = class {
6
+ constructor(hostRef) {
7
+ registerInstance(this, hostRef);
8
+ this.border = true;
9
+ }
10
+ render() {
11
+ return (h(Host, { class: this.border ? 'bordered' : '' }, h("slot", { name: 'before' }), h("slot", { name: 'center' }), h("slot", { name: 'after' })));
12
+ }
13
+ };
14
14
  TttxToolbar.style = tttxToolbarCss;
15
15
 
16
16
  export { TttxToolbar as tttx_toolbar };
package/dist/esm/tttx.js CHANGED
@@ -1,5 +1,5 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-5f9b72ff.js';
2
- export { s as setNonce } from './index-5f9b72ff.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-e888a5f4.js';
2
+ export { s as setNonce } from './index-e888a5f4.js';
3
3
 
4
4
  /*
5
5
  Stencil Client Patch Browser v2.22.3 | MIT Licensed | https://stenciljs.com
@@ -14,5 +14,5 @@ const patchBrowser = () => {
14
14
  };
15
15
 
16
16
  patchBrowser().then(options => {
17
- return bootstrapLazy([["tttx-button",[[1,"tttx-button",{"notext":[4],"icon":[1],"iconposition":[1],"design":[1]}]]],["tttx-list",[[1,"tttx-list",{"data":[1025],"name":[1]}]]],["tttx-standalone-input",[[2,"tttx-standalone-input",{"label":[1],"showerrormsg":[4],"showerrorbubble":[4],"errormsg":[1],"iconleft":[1],"iconright":[1],"inputicon":[1],"inline":[4],"inputAutocapitalize":[1,"input-autocapitalize"],"inputAutofocus":[4,"input-autofocus"],"inputKeyhint":[1,"input-keyhint"],"inputIndex":[8,"input-index"],"inputTitle":[1,"input-title"],"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]}]]],["tttx-icon",[[1,"tttx-icon",{"icon":[1],"color":[1]}]]]], options);
17
+ return bootstrapLazy([["tttx-button",[[1,"tttx-button",{"notext":[4],"icon":[1],"iconposition":[1],"design":[1]}]]],["tttx-filter",[[1,"tttx-filter",{"filterKey":[1,"filter-key"],"filterOptions":[16],"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],"selectedFilters":[32],"filterSearchTerm":[32],"displayedFilterSettings":[32],"allSelected":[32]}]]],["tttx-list",[[1,"tttx-list",{"data":[1025],"name":[1]}]]],["tttx-standalone-input",[[2,"tttx-standalone-input",{"label":[1],"showerrormsg":[4],"showerrorbubble":[4],"errormsg":[1],"iconleft":[1],"iconright":[1],"inputicon":[1],"inline":[4],"inputAutocapitalize":[1,"input-autocapitalize"],"inputAutofocus":[4,"input-autofocus"],"inputKeyhint":[1,"input-keyhint"],"inputIndex":[8,"input-index"],"inputTitle":[1,"input-title"],"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]}]]],["tttx-icon",[[1,"tttx-icon",{"icon":[1],"color":[1]}]]]], options);
18
18
  });
@@ -1 +1 @@
1
- import{r as t,c as i,h as e,H as o}from"./p-c4b803fc.js";const n=class{constructor(e){t(this,e),this.dataSubmitted=i(this,"dataSubmitted",7),this.dataChanged=i(this,"dataChanged",7),this.template=document.createElement("template"),this.formschema=void 0,this.submitValue=void 0}onFormSchemaChange(t){this._formSchema="string"==typeof t?JSON.parse(t):t}fieldChanged(t){this.dataChanged.emit({name:t.target.name,value:t.target.value})}doSubmit(t){t.preventDefault();const i=new FormData(t.target);this.dataSubmitted.emit(i)}componentWillLoad(){this.onFormSchemaChange(this.formschema)}componentWillRender(){this.template=document.createElement("template"),this.populateFormFromSchema()}createInput(t,i){var e;const o=document.createElement("input");return o.name=t,o.type=i.type,o.placeholder=null!==(e=i.placeholder)&&void 0!==e?e:"",o.autocomplete="off",o.autocapitalize="off",o}applyValidation(t,i){var e,o;i.required&&(t.setAttribute("required",""),t.setAttribute("data-required",null!==(e=i.required.message)&&void 0!==e?e:"")),i.pattern&&(t.setAttribute("pattern",i.pattern.pattern),t.setAttribute("data-pattern",null!==(o=i.pattern.message)&&void 0!==o?o:"")),i.badInput&&t.setAttribute("data-badinput",i.badInput.message),i.minmax&&(t.setAttribute("min",i.minmax.min),t.setAttribute("max",i.minmax.max),t.setAttribute("data-range",i.minmax.message)),i.maxlength&&t.setAttribute("maxlength",i.maxlength)}createErrorBubble(){const t=document.createElement("div");return t.className="errorBubble",t}createLabel(t,i,e){const o=document.createElement("label");if(o.className="inputBlock",o.innerText=t.label,!t.validation){const t=document.createElement("span");t.className="optional",t.innerHTML="&nbsp;(optional)",o.appendChild(t)}return o.appendChild(i),o.appendChild(e),o}createSubmitButton(){const t=document.createElement("input");return t.type="submit",t.className="button primary-blue",t.value="Save",t}populateFormFromSchema(){if(!this._formSchema)return;const t=this._formSchema.properties;Object.keys(t).forEach((i=>{const e=t[i].form,o=this.createInput(i,e);e.validation&&this.applyValidation(o,e.validation);const n=this.createErrorBubble(),r=this.createLabel(e,o,n);this.template.content.append(r)}));const i=this.createSubmitButton();this.template.content.append(i)}componentDidRender(){if(!this._formSchema)return;const t=this.template.content.cloneNode(!0);Object.keys(this._formSchema.properties).forEach((i=>{const e=t.querySelector(`[name=${i}]`);e.oninvalid=this.validityCheckWrapper.bind(this),e.onblur=this.validityCheckWrapper.bind(this),e.onkeyup=this.fieldChanged.bind(this),e.onchange=this.fieldChanged.bind(this)})),this.fieldset.appendChild(t)}validityCheckWrapper(t){const{target:i,hasError:e,errorMessage:o}=function(t){var i,e,o,n;t.preventDefault();const r=t.target;let a=!0,s="";switch(!0){case r.validity.valueMissing:s=null!==(i=r.dataset.required)&&void 0!==i?i:"This field is required";break;case r.validity.patternMismatch:s=null!==(e=r.dataset.pattern)&&void 0!==e?e:"Incorrect format";break;case r.validity.badInput:s=null!==(o=r.dataset.badinput)&&void 0!==o?o:"Wrong input type";break;case r.validity.rangeOverflow||r.validity.rangeUnderflow:s=null!==(n=r.dataset.range)&&void 0!==n?n:"Invalid value";break;default:a=!1}return{target:r,hasError:a,errorMessage:s}}(t);!function(t,i,e){const o=t.parentElement.querySelector(".errorBubble");if(i){t.className="invalid";const i=document.createElement("span");i.className="material-symbols-rounded",i.textContent="warning",o.innerHTML="",o.append(i),o.append(e)}else t.className="",o.innerHTML=""}(i,e,o)}render(){return e(o,null,e("form",{onSubmit:this.doSubmit.bind(this)},e("fieldset",{ref:t=>this.fieldset=t})))}static get watchers(){return{formschema:["onFormSchemaChange"]}}};n.style='.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{min-height:27px;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}input~.errorBubble:not(.visible){visibility:hidden}input~.errorBubble span{color:#dc0000;font-size:16px;margin-right:4px;height:16px}input.invalid:invalid~.errorBubble{position:relative;font-size:14px;font-weight:normal;width:100%;font-family:"Roboto", sans-serif;color:#dc0000;visibility:visible}input:focus{border-color:#1479c6}input:focus-visible{outline:none}.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}';export{n as tttx_form}
1
+ import{r as t,c as i,h as e,H as o}from"./p-f764ffc4.js";const n=class{constructor(e){t(this,e),this.dataSubmitted=i(this,"dataSubmitted",7),this.dataChanged=i(this,"dataChanged",7),this.template=document.createElement("template"),this.formschema=void 0,this.submitValue=void 0}onFormSchemaChange(t){this._formSchema="string"==typeof t?JSON.parse(t):t}fieldChanged(t){this.dataChanged.emit({name:t.target.name,value:t.target.value})}doSubmit(t){t.preventDefault();const i=new FormData(t.target);this.dataSubmitted.emit(i)}componentWillLoad(){this.onFormSchemaChange(this.formschema)}componentWillRender(){this.template=document.createElement("template"),this.populateFormFromSchema()}createInput(t,i){var e;const o=document.createElement("input");return o.name=t,o.type=i.type,o.placeholder=null!==(e=i.placeholder)&&void 0!==e?e:"",o.autocomplete="off",o.autocapitalize="off",o}applyValidation(t,i){var e,o;i.required&&(t.setAttribute("required",""),t.setAttribute("data-required",null!==(e=i.required.message)&&void 0!==e?e:"")),i.pattern&&(t.setAttribute("pattern",i.pattern.pattern),t.setAttribute("data-pattern",null!==(o=i.pattern.message)&&void 0!==o?o:"")),i.badInput&&t.setAttribute("data-badinput",i.badInput.message),i.minmax&&(t.setAttribute("min",i.minmax.min),t.setAttribute("max",i.minmax.max),t.setAttribute("data-range",i.minmax.message)),i.maxlength&&t.setAttribute("maxlength",i.maxlength)}createErrorBubble(){const t=document.createElement("div");return t.className="errorBubble",t}createLabel(t,i,e){const o=document.createElement("label");if(o.className="inputBlock",o.innerText=t.label,!t.validation){const t=document.createElement("span");t.className="optional",t.innerHTML="&nbsp;(optional)",o.appendChild(t)}return o.appendChild(i),o.appendChild(e),o}createSubmitButton(){const t=document.createElement("input");return t.type="submit",t.className="button primary-blue",t.value="Save",t}populateFormFromSchema(){if(!this._formSchema)return;const t=this._formSchema.properties;Object.keys(t).forEach((i=>{const e=t[i].form,o=this.createInput(i,e);e.validation&&this.applyValidation(o,e.validation);const n=this.createErrorBubble(),r=this.createLabel(e,o,n);this.template.content.append(r)}));const i=this.createSubmitButton();this.template.content.append(i)}componentDidRender(){if(!this._formSchema)return;const t=this.template.content.cloneNode(!0);Object.keys(this._formSchema.properties).forEach((i=>{const e=t.querySelector(`[name=${i}]`);e.oninvalid=this.validityCheckWrapper.bind(this),e.onblur=this.validityCheckWrapper.bind(this),e.onkeyup=this.fieldChanged.bind(this),e.onchange=this.fieldChanged.bind(this)})),this.fieldset.appendChild(t)}validityCheckWrapper(t){const{target:i,hasError:e,errorMessage:o}=function(t){var i,e,o,n;t.preventDefault();const r=t.target;let a=!0,s="";switch(!0){case r.validity.valueMissing:s=null!==(i=r.dataset.required)&&void 0!==i?i:"This field is required";break;case r.validity.patternMismatch:s=null!==(e=r.dataset.pattern)&&void 0!==e?e:"Incorrect format";break;case r.validity.badInput:s=null!==(o=r.dataset.badinput)&&void 0!==o?o:"Wrong input type";break;case r.validity.rangeOverflow||r.validity.rangeUnderflow:s=null!==(n=r.dataset.range)&&void 0!==n?n:"Invalid value";break;default:a=!1}return{target:r,hasError:a,errorMessage:s}}(t);!function(t,i,e){const o=t.parentElement.querySelector(".errorBubble");if(i){t.className="invalid";const i=document.createElement("span");i.className="material-symbols-rounded",i.textContent="warning",o.innerHTML="",o.append(i),o.append(e)}else t.className="",o.innerHTML=""}(i,e,o)}render(){return e(o,null,e("form",{onSubmit:this.doSubmit.bind(this)},e("fieldset",{ref:t=>this.fieldset=t})))}static get watchers(){return{formschema:["onFormSchemaChange"]}}};n.style='.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{min-height:27px;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}input~.errorBubble:not(.visible){visibility:hidden}input~.errorBubble span{color:#dc0000;font-size:16px;margin-right:4px;height:16px}input.invalid:invalid~.errorBubble{position:relative;font-size:14px;font-weight:normal;width:100%;font-family:"Roboto", sans-serif;color:#dc0000;visibility:visible}input:focus{border-color:#1479c6}input:focus-visible{outline:none}.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}';export{n as tttx_form}
@@ -1 +1 @@
1
- import{r as o,h as t,H as r}from"./p-c4b803fc.js";const e=class{constructor(t){o(this,t),this.icon=void 0,this.color="grey"}render(){return t(r,null,t("span",{class:`material-symbols-rounded ${this.color?this.color:""}`},this.icon))}};e.style='.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}:host{display:inline-block;cursor:default;user-select:none}.icon-size{width:24px;height:24px}.tooltip{background:#ffffff;color:#343434;font-weight:bold;padding:8px 16px;font-size:13px;border-radius:4px;box-shadow:0 0 5px 1px rgba(0, 0, 0, 0.3);display:none}.tooltip[data-show]{display:block}.arrow,.arrow::before{position:absolute;width:8px;height:8px;background:inherit}.arrow{visibility:hidden}.arrow::before{visibility:visible;content:"";transform:rotate(45deg)}.tooltip[data-popper-placement^=top]>.arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.arrow{top:-4px}.tooltip[data-popper-placement^=left]>.arrow{right:-4px}.tooltip[data-popper-placement^=right]>.arrow{left:-4px}.red{color:#dc0000}.darkred{color:#A20000}.orange{color:#f59500}.blue{color:#1479c6}.green{color:#a2bb31}.gray{color:#757575}.black{color:#212121}.white{color:white}';export{e as tttx_icon}
1
+ import{r as o,h as t,H as r}from"./p-f764ffc4.js";const e=class{constructor(t){o(this,t),this.icon=void 0,this.color="grey"}render(){return t(r,null,t("span",{class:`material-symbols-rounded ${this.color?this.color:""}`},this.icon))}};e.style='.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}:host{display:inline-block;cursor:default;user-select:none}.icon-size{width:24px;height:24px}.tooltip{background:#ffffff;color:#343434;font-weight:bold;padding:8px 16px;font-size:13px;border-radius:4px;box-shadow:0 0 5px 1px rgba(0, 0, 0, 0.3);display:none}.tooltip[data-show]{display:block}.arrow,.arrow::before{position:absolute;width:8px;height:8px;background:inherit}.arrow{visibility:hidden}.arrow::before{visibility:visible;content:"";transform:rotate(45deg)}.tooltip[data-popper-placement^=top]>.arrow{bottom:-4px}.tooltip[data-popper-placement^=bottom]>.arrow{top:-4px}.tooltip[data-popper-placement^=left]>.arrow{right:-4px}.tooltip[data-popper-placement^=right]>.arrow{left:-4px}.red{color:#dc0000}.darkred{color:#A20000}.orange{color:#f59500}.blue{color:#1479c6}.green{color:#a2bb31}.gray{color:#757575}.black{color:#212121}.white{color:white}';export{e as tttx_icon}
@@ -1 +1 @@
1
- import{r as t,c as i,h as n,H as s}from"./p-c4b803fc.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.label=void 0,this.showerrormsg=void 0,this.showerrorbubble=!0,this.errormsg=void 0,this.iconleft=void 0,this.iconright=void 0,this.inputicon=void 0,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)}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)"),this.iconleft&&n("div",{class:"icon-left"},n("tttx-icon",{icon:this.iconleft,color:"grey"})),n("div",{class:"input-container"},this.inputicon&&n("tttx-icon",{class:"input-icon",icon:this.inputicon,color:"grey"}),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.iconright&&n("div",{class:"icon-right"},n("tttx-icon",{icon:this.iconright,color:"grey"})),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-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{min-height:27px;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}input.sc-tttx-standalone-input~.errorBubble.sc-tttx-standalone-input:not(.visible){visibility:hidden}input.sc-tttx-standalone-input~.errorBubble.sc-tttx-standalone-input span.sc-tttx-standalone-input{color:#dc0000;font-size:16px;margin-right:4px;height:16px}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;visibility:visible}input.sc-tttx-standalone-input:focus{border-color:#1479c6}input.sc-tttx-standalone-input:focus-visible{outline:none}.sc-tttx-standalone-input-h{display:block}';export{o as tttx_standalone_input}
1
+ import{r as t,c as i,h as n,H as s}from"./p-f764ffc4.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.label=void 0,this.showerrormsg=void 0,this.showerrorbubble=!0,this.errormsg=void 0,this.iconleft=void 0,this.iconright=void 0,this.inputicon=void 0,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)}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)"),this.iconleft&&n("div",{class:"icon-left"},n("tttx-icon",{icon:this.iconleft,color:"grey"})),n("div",{class:"input-container"},this.inputicon&&n("tttx-icon",{class:"input-icon",icon:this.inputicon,color:"grey"}),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.iconright&&n("div",{class:"icon-right"},n("tttx-icon",{icon:this.iconright,color:"grey"})),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-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{min-height:27px;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}input.sc-tttx-standalone-input~.errorBubble.sc-tttx-standalone-input:not(.visible){visibility:hidden}input.sc-tttx-standalone-input~.errorBubble.sc-tttx-standalone-input span.sc-tttx-standalone-input{color:#dc0000;font-size:16px;margin-right:4px;height:16px}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;visibility:visible}input.sc-tttx-standalone-input:focus{border-color:#1479c6}input.sc-tttx-standalone-input:focus-visible{outline:none}.sc-tttx-standalone-input-h{display:block}';export{o as tttx_standalone_input}
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as e,H as o,g as r}from"./p-f764ffc4.js";const n=class{constructor(e){t(this,e),this.filterChangeEvent=i(this,"filterChangeEvent",7),this.filterKey=void 0,this.filterOptions=[{optionIcon:"cancel",optionIconColor:"darkred",optionText:"Expired"},{optionIcon:"warning",optionIconColor:"orange",optionText:"Expiring soon"},{optionIcon:"check_circle",optionIconColor:"green",optionText:"Active"}],this.showSelectAll=!0,this.showSearchField=!1,this.showOptionIcons=!0,this.filterButtonStyle="list filter",this.filterHeader="Qualification status",this.showPopover=!1,this.selectedFilters=this.filterOptions.map((t=>t.optionText)),this.filterSearchTerm="",this.displayedFilterSettings=this.filterOptions,this.allSelected=!0}emitFilterEvent(){this.filterChangeEvent.emit({selectedFilters:this.selectedFilters,filterKey:this.filterKey,allSelected:this.allSelected})}onFilterButtonClick(){this.togglePopover()}onCloseButtonClick(){this.togglePopover()}onApplyFilterButtonClick(){this.emitFilterEvent(),this.togglePopover()}onFilterOptionSelected(t){this.allSelected=!1,this.selectedFilters=this.selectedFilters.includes(t)?this.selectedFilters.filter((i=>i!=t)):[...this.selectedFilters,t]}togglePopover(){this.showPopover=!this.showPopover}handleFilterChange(t){this.filterSearchTerm=t.target.value;const i=this.filterOptions.filter((t=>{const i=t.optionText.toLowerCase(),e=this.filterSearchTerm.toLowerCase();return i.includes(e)}));this.displayedFilterSettings=i}onSelectAllClick(){this.allSelected=!this.allSelected,this.allSelected?this.displayedFilterSettings.forEach((t=>{this.selectedFilters=[...this.selectedFilters,t.optionText]})):this.selectedFilters=[]}getFilterButtonClassName(t){switch(t){case"table icon":return"--table-icon";case"list icon":return"--list-icon";default:return""}}render(){const t=this.showSearchField?"--with-search-field":"",i=this.allSelected?"check_box":"check_box_outline_blank",r=this.allSelected?"blue":"grey",n=this.getFilterButtonClassName(this.filterButtonStyle);return e(o,{id:`filter__${this.filterKey}`},e("div",{class:"filter-container"},e("button",{class:`filter-button ${n}`,type:"button",onClick:this.onFilterButtonClick.bind(this)},e("tttx-icon",{icon:"filter_list",class:"filter-icon",color:"black"}),"Filter"),this.showPopover&&e("div",{class:`filter-popover-container ${t}`},e("h4",{class:"filter-header"},this.filterHeader),e("hr",{class:"popover-divider"}),this.showSearchField?e("div",{class:"search-field-container"},e("tttx-icon",{icon:"search",class:"search-icon"}),e("input",{type:"text",class:"search-input",placeholder:"Search",value:this.filterSearchTerm,onInput:this.handleFilterChange.bind(this)}),e("hr",{class:"popover-divider"})):"",e("div",{class:"filter-options-container"},this.showSelectAll?e("div",{class:"filter-option",tabIndex:-1,onClick:this.onSelectAllClick.bind(this)},e("tttx-icon",{icon:i,color:r,class:"select-all-icon"}),e("label",{class:"filter-label"},"Select all")):"",this.displayedFilterSettings.map((t=>{const i=this.selectedFilters.includes(t.optionText)?"check_box":"check_box_outline_blank",o=this.selectedFilters.includes(t.optionText)?"blue":"grey";return e("div",{class:"filter-option",tabIndex:-1,onClick:()=>this.onFilterOptionSelected(t.optionText),key:t.optionText},e("tttx-icon",{icon:i,color:o,class:"checkbox-icon"}),this.showOptionIcons&&e("tttx-icon",{icon:t.optionIcon,color:t.optionIconColor}),e("label",{class:"filter-label"},t.optionText))}))),e("hr",{class:"popover-divider"}),e("div",{class:"filter-popover-button-container"},e("button",{type:"button",class:"close-button",onClick:this.onCloseButtonClick.bind(this)},"Close"),e("button",{type:"button",class:"apply-button",onClick:this.onApplyFilterButtonClick.bind(this)},"Apply")))))}get el(){return r(this)}};n.style='.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}.filter-container .filter-button{display:inline-flex;justify-content:center;align-items:center;font-size:14px;font-weight:400;font-family:"Roboto", serif;text-transform:uppercase;color:#212121;border:1px solid #d5d5d5;border-radius:4px;background:transparent;height:36px;width:95px;margin:0;padding-right:16px}.filter-container .filter-button .filter-icon{padding-left:8px;padding-right:4px}.filter-container .filter-button.--list-icon{font-size:0;width:36px;height:36px;padding:0}.filter-container .filter-button.--list-icon .filter-icon{padding:0}.filter-container .filter-button.--list-icon:hover{background:#e3e3e3}.filter-container .filter-button.--table-icon{font-size:0;width:36px;height:36px;padding:0;border:none}.filter-container .filter-button.--table-icon .filter-icon{padding:0;width:24px;height:24px}.filter-container .filter-button.--table-icon:hover{background:#e3e3e3;border-radius:50%;width:36px;height:36px}.filter-container .filter-button:hover{background:#e3e3e3}.filter-container .filter-popover-container{display:block;width:196px;border-radius:4px;box-shadow:0px 1px 5px #1111114D;position:absolute}.filter-container .filter-popover-container .filter-header{color:#757575;text-transform:uppercase;font-size:14px;font-weight:500;font-family:"Roboto", serif;padding-left:16px;padding-top:12px;padding-bottom:12px;margin:0}.filter-container .filter-popover-container .popover-divider{border:none;width:164px;display:flex;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:8px;height:1px;background-color:#d5d5d5}.filter-container .filter-popover-container .filter-option{display:flex;flex-direction:row;align-items:center;height:36px;padding-left:22px;padding-bottom:4px}.filter-container .filter-popover-container .filter-option .select-all-icon{padding-right:6px}.filter-container .filter-popover-container .filter-option .checkbox-icon{padding-right:8px}.filter-container .filter-popover-container .filter-option .filter-label{padding-left:8px;padding-bottom:3px;font-size:16px;font-weight:500;font-family:"Roboto", serif}.filter-container .filter-popover-container .filter-option:first-child{margin-top:8px}.filter-container .filter-popover-container .filter-option:last-child{margin-bottom:8px}.filter-container .filter-popover-container .filter-popover-button-container{display:flex;justify-content:flex-end;align-items:center;padding-bottom:8px}.filter-container .filter-popover-container .filter-popover-button-container .close-button{height:36px;width:74px;background-color:white;border:1px solid #d5d5d5;border-radius:4px;text-transform:uppercase;margin-right:8px;font-size:14px;font-weight:400;font-family:"Roboto", serif}.filter-container .filter-popover-container .filter-popover-button-container .apply-button{height:36px;width:73px;background-color:#1479c6;color:white;border-radius:4px;border:none;text-transform:uppercase;margin-right:16px;font-size:14px;font-weight:400;font-family:"Roboto", serif}.filter-container .filter-popover-container.--with-search-field{width:252px}.filter-container .filter-popover-container.--with-search-field .popover-divider{width:220px}.filter-container .filter-popover-container.--with-search-field .popover-divider:first-child{top:44px}.filter-container .filter-popover-container.--with-search-field .search-field-container{position:relative;color:#d5d5d5;width:220px;height:36px;padding:0 16px}.filter-container .filter-popover-container.--with-search-field .search-field-container .search-icon{position:absolute;top:50%;padding-left:8px;padding-bottom:9.2px;height:17px;width:17px;transform:translateY(-50%)}.filter-container .filter-popover-container.--with-search-field .search-field-container .search-input{padding-left:36px;border:1px solid #d5d5d5;border-radius:4px;height:36px;width:220px;font-size:16px;font-family:"Roboto", serif;font-weight:500;color:#9e9e9e;box-sizing:border-box}.filter-container .filter-popover-container.--with-search-field .search-field-container .search-input:focus-visible,.filter-container .filter-popover-container.--with-search-field .search-field-container .search-input:focus{outline:none;border:1px solid #1479c6}.filter-container .filter-popover-container.--with-search-field .search-field-container .search-input::placeholder{color:#9e9e9e;font-size:16px;font-family:"Roboto", serif;font-weight:500}.filter-container .filter-popover-container.--with-search-field .search-field-container .popover-divider{margin-top:8px}.filter-container .filter-popover-container.--with-search-field .filter-option:first-child{padding-top:8px}';export{n as tttx_filter}
@@ -1 +1 @@
1
- import{r as e,h as t,H as s}from"./p-c4b803fc.js";const o=class{constructor(t){e(this,t),this.border=!0}render(){return t(s,{class:this.border?"bordered":""},t("slot",{name:"before"}),t("slot",{name:"center"}),t("slot",{name:"after"}))}};o.style=":host{height:36px;display:flex;padding:8px 0;gap:8px}:host(.bordered){border-bottom:1px solid #d5d5d5}slot[name=before]{display:flex;flex:1 1 0px;gap:8px}slot[name=center]{display:flex;justify-content:center;flex:1 1 0px;gap:8px}slot[name=after]{display:flex;justify-content:end;flex:1 1 0px;gap:8px}";export{o as tttx_toolbar}
1
+ import{r as e,h as t,H as s}from"./p-f764ffc4.js";const o=class{constructor(t){e(this,t),this.border=!0}render(){return t(s,{class:this.border?"bordered":""},t("slot",{name:"before"}),t("slot",{name:"center"}),t("slot",{name:"after"}))}};o.style=":host{height:36px;display:flex;padding:8px 0;gap:8px}:host(.bordered){border-bottom:1px solid #d5d5d5}slot[name=before]{display:flex;flex:1 1 0px;gap:8px}slot[name=center]{display:flex;justify-content:center;flex:1 1 0px;gap:8px}slot[name=after]{display:flex;justify-content:end;flex:1 1 0px;gap:8px}";export{o as tttx_toolbar}