@3t-transform/threeteeui 0.0.22 → 0.0.24

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 (120) hide show
  1. package/dist/cjs/{index-bf777121.js → index-bc080fb4.js} +2 -148
  2. package/dist/cjs/loader.cjs.js +3 -4
  3. package/dist/cjs/tttx-button.cjs.entry.js +1 -1
  4. package/dist/cjs/tttx-icon.cjs.entry.js +1 -1
  5. package/dist/cjs/tttx-keyvalue-block.cjs.entry.js +1 -1
  6. package/dist/cjs/tttx-list.cjs.entry.js +14 -178
  7. package/dist/cjs/tttx-loading-spinner.cjs.entry.js +1 -1
  8. package/dist/cjs/tttx-standalone-input.cjs.entry.js +1 -1
  9. package/dist/cjs/tttx-table.cjs.entry.js +1 -1
  10. package/dist/cjs/tttx.cjs.js +3 -7
  11. package/dist/collection/collection-manifest.json +2 -6
  12. package/dist/collection/components/atoms/tttx-button/test/tttx-button.e2e.js +9 -0
  13. package/dist/collection/components/atoms/tttx-button/test/tttx-button.spec.js +43 -0
  14. package/dist/collection/components/atoms/tttx-icon/test/tttx-icon.e2e.js +9 -0
  15. package/dist/collection/components/atoms/tttx-icon/test/tttx-icon.spec.js +16 -0
  16. package/dist/collection/components/atoms/tttx-keyvalue-block/test/tttx-keyvalue-block.spec.js +164 -0
  17. package/dist/collection/components/atoms/tttx-loading-spinner/Test/tttx-loading-spinner.spec.js +64 -0
  18. package/dist/collection/components/molecules/tttx-list/test/tttx-list.spec.js +151 -0
  19. package/dist/collection/components/molecules/tttx-list/tttx-list.css +17 -20
  20. package/dist/collection/components/molecules/tttx-list/tttx-list.js +22 -255
  21. package/dist/collection/components/molecules/tttx-list/tttx-list.stories.js +34 -32
  22. package/dist/collection/components/molecules/tttx-standalone-input/test/tttx-standalone-input.e2e.js +9 -0
  23. package/dist/collection/components/molecules/tttx-standalone-input/test/tttx-standalone-input.spec.js +146 -0
  24. package/dist/collection/components/molecules/tttx-table/test/tttx-table.e2e.js +9 -0
  25. package/dist/components/index.d.ts +0 -13
  26. package/dist/components/index.js +1 -5
  27. package/dist/components/tttx-button.js +54 -1
  28. package/dist/components/tttx-list.js +19 -188
  29. package/dist/components/tttx-loading-spinner.js +38 -1
  30. package/dist/components/tttx-table.js +2 -8
  31. package/dist/esm/{index-a05bd606.js → index-901bfd55.js} +3 -147
  32. package/dist/esm/loader.js +3 -4
  33. package/dist/esm/polyfills/css-shim.js +1 -1
  34. package/dist/esm/tttx-button.entry.js +1 -1
  35. package/dist/esm/tttx-icon.entry.js +1 -1
  36. package/dist/esm/tttx-keyvalue-block.entry.js +1 -1
  37. package/dist/esm/tttx-list.entry.js +14 -178
  38. package/dist/esm/tttx-loading-spinner.entry.js +1 -1
  39. package/dist/esm/tttx-standalone-input.entry.js +1 -1
  40. package/dist/esm/tttx-table.entry.js +1 -1
  41. package/dist/esm/tttx.js +3 -4
  42. package/dist/tttx/{p-68ff0f39.entry.js → p-0ae51ec5.entry.js} +1 -1
  43. package/dist/tttx/{p-9536b8c4.entry.js → p-1ec23160.entry.js} +1 -1
  44. package/dist/tttx/p-300ff6a8.entry.js +1 -0
  45. package/dist/tttx/p-32ad02d3.entry.js +1 -0
  46. package/dist/tttx/{p-a96ca037.entry.js → p-80cf5236.entry.js} +1 -1
  47. package/dist/tttx/{p-a5808741.entry.js → p-9a382959.entry.js} +1 -1
  48. package/dist/tttx/{p-46b5551e.entry.js → p-a1bd16a1.entry.js} +1 -1
  49. package/dist/tttx/{p-93763d3c.entry.js → p-a4077908.entry.js} +1 -1
  50. package/dist/tttx/p-a6953900.entry.js +1 -0
  51. package/dist/tttx/p-b46e3c59.entry.js +1 -0
  52. package/dist/tttx/p-c290160b.js +2 -0
  53. package/dist/tttx/p-dc179257.entry.js +1 -0
  54. package/dist/tttx/p-e19eb07e.entry.js +1 -0
  55. package/dist/tttx/p-e4341658.entry.js +1 -0
  56. package/dist/tttx/tttx.esm.js +1 -1
  57. package/dist/types/components/atoms/tttx-button/test/tttx-button.e2e.d.ts +1 -0
  58. package/dist/types/components/atoms/tttx-button/test/tttx-button.spec.d.ts +1 -0
  59. package/dist/types/components/atoms/tttx-icon/test/tttx-icon.e2e.d.ts +1 -0
  60. package/dist/types/components/atoms/tttx-icon/test/tttx-icon.spec.d.ts +1 -0
  61. package/dist/types/components/atoms/tttx-keyvalue-block/test/tttx-keyvalue-block.spec.d.ts +1 -0
  62. package/dist/types/components/atoms/tttx-loading-spinner/Test/tttx-loading-spinner.spec.d.ts +1 -0
  63. package/dist/types/components/molecules/tttx-list/interfaces.d.ts +4 -0
  64. package/dist/types/components/molecules/tttx-list/test/tttx-list.spec.d.ts +1 -0
  65. package/dist/types/components/molecules/tttx-list/tttx-list.d.ts +4 -46
  66. package/dist/types/components/molecules/tttx-list/tttx-list.stories.d.ts +2 -8
  67. package/dist/types/components/molecules/tttx-standalone-input/test/tttx-standalone-input.e2e.d.ts +1 -0
  68. package/dist/types/components/molecules/tttx-standalone-input/test/tttx-standalone-input.spec.d.ts +1 -0
  69. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.d.ts +6 -6
  70. package/dist/types/components/molecules/tttx-table/test/tttx-table.e2e.d.ts +1 -0
  71. package/dist/types/components.d.ts +3 -91
  72. package/dist/types/stencil-public-runtime.d.ts +3 -59
  73. package/loader/index.d.ts +0 -9
  74. package/package.json +3 -2
  75. package/readme.md +20 -0
  76. package/dist/cjs/tttx-checkbox.cjs.entry.js +0 -28
  77. package/dist/cjs/tttx-form.cjs.entry.js +0 -374
  78. package/dist/cjs/tttx-input-calendar.cjs.entry.js +0 -125
  79. package/dist/cjs/tttx-popover-content.cjs.entry.js +0 -23
  80. package/dist/collection/components/atoms/tttx-popover-content/tttx-popover-content.css +0 -30
  81. package/dist/collection/components/atoms/tttx-popover-content/tttx-popover-content.js +0 -97
  82. package/dist/collection/components/atoms/tttx-popover-content/tttx-popover-content.stories.js +0 -23
  83. package/dist/collection/components/atoms/ttx-checkbox/tttx-checkbox.css +0 -181
  84. package/dist/collection/components/atoms/ttx-checkbox/tttx-checkbox.js +0 -102
  85. package/dist/collection/components/atoms/ttx-checkbox/tttx-checkbox.stories.js +0 -13
  86. package/dist/collection/components/molecules/tttx-form/tttx-form.css +0 -314
  87. package/dist/collection/components/molecules/tttx-form/tttx-form.js +0 -452
  88. package/dist/collection/components/molecules/tttx-form/tttx-form.stories.js +0 -109
  89. package/dist/collection/components/molecules/tttx-input-calendar/tttx-input-calendar.css +0 -93
  90. package/dist/collection/components/molecules/tttx-input-calendar/tttx-input-calendar.js +0 -174
  91. package/dist/collection/components/molecules/tttx-input-calendar/tttx-input-calendar.stories.js +0 -27
  92. package/dist/components/tttx-button2.js +0 -56
  93. package/dist/components/tttx-checkbox.d.ts +0 -11
  94. package/dist/components/tttx-checkbox.js +0 -46
  95. package/dist/components/tttx-form.d.ts +0 -11
  96. package/dist/components/tttx-form.js +0 -391
  97. package/dist/components/tttx-input-calendar.d.ts +0 -11
  98. package/dist/components/tttx-input-calendar.js +0 -157
  99. package/dist/components/tttx-loading-spinner2.js +0 -40
  100. package/dist/components/tttx-popover-content.d.ts +0 -11
  101. package/dist/components/tttx-popover-content.js +0 -6
  102. package/dist/components/tttx-popover-content2.js +0 -39
  103. package/dist/esm/tttx-checkbox.entry.js +0 -24
  104. package/dist/esm/tttx-form.entry.js +0 -370
  105. package/dist/esm/tttx-input-calendar.entry.js +0 -121
  106. package/dist/esm/tttx-popover-content.entry.js +0 -19
  107. package/dist/tttx/p-037d286f.entry.js +0 -1
  108. package/dist/tttx/p-07b134af.js +0 -2
  109. package/dist/tttx/p-1b63f16a.entry.js +0 -1
  110. package/dist/tttx/p-45afb84c.entry.js +0 -1
  111. package/dist/tttx/p-a92ca87e.entry.js +0 -1
  112. package/dist/tttx/p-f579ed1e.entry.js +0 -1
  113. package/dist/types/components/atoms/tttx-popover-content/tttx-popover-content.d.ts +0 -7
  114. package/dist/types/components/atoms/tttx-popover-content/tttx-popover-content.stories.d.ts +0 -18
  115. package/dist/types/components/atoms/ttx-checkbox/tttx-checkbox.d.ts +0 -9
  116. package/dist/types/components/atoms/ttx-checkbox/tttx-checkbox.stories.d.ts +0 -6
  117. package/dist/types/components/molecules/tttx-form/tttx-form.d.ts +0 -134
  118. package/dist/types/components/molecules/tttx-form/tttx-form.stories.d.ts +0 -12
  119. package/dist/types/components/molecules/tttx-input-calendar/tttx-input-calendar.d.ts +0 -19
  120. package/dist/types/components/molecules/tttx-input-calendar/tttx-input-calendar.stories.d.ts +0 -26
@@ -1,217 +1,48 @@
1
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { d as defineCustomElement$2 } from './tttx-loading-spinner2.js';
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { d as defineCustomElement$2 } from './tttx-icon2.js';
3
3
 
4
- 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}.tttx-list__row{min-height:52px;line-height:36px;padding:8px;display:flex;flex-direction:row;align-items:center;cursor:pointer;border-bottom:1px solid #d5d5d5}.tttx-list__row .generic-template__content{width:100%;display:flex;align-items:center;gap:8px}.tttx-list__row:first-of-type{border-top:1px solid #d5d5d5}.tttx-list__row:focus,.tttx-list__row:active{background-color:#e6e6e6}.tttx-list__row.selected{background-color:#e7f1f9}.load-indicator{display:flex;justify-content:center}";
4
+ 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:0;border-bottom:1px solid #d5d5d5;height:36px;display:flex;align-items:center}.item:first-of-type{border-top:1px solid #d5d5d5}.align-right{margin-left:auto}.item-content{display:flex;align-items:center}";
5
5
 
6
6
  const TttxList$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {
8
8
  super();
9
9
  this.__registerHost();
10
10
  this.__attachShadow();
11
- this.listPaginate = createEvent(this, "listPaginate", 7);
12
- this.listSelectedEvent = createEvent(this, "listSelectedEvent", 7);
13
- this.listItemClick = createEvent(this, "listItemClick", 7);
14
- this.rowCount = 0;
15
- this.name = undefined;
16
- this.selectable = undefined;
17
- this.items = [];
18
- this.selectedIds = [];
19
- this.loading = true;
20
- this.lastPage = false;
11
+ this.listSelectedEvent = createEvent(this, "listItemClick", 7);
12
+ this.data = undefined;
21
13
  }
22
- listLoadHandler(event) {
23
- if (event.detail.name !== this.name)
24
- return;
25
- this.items = [...this.items, ...event.detail.items];
26
- this.loading = false;
27
- this.lastPage = event.detail.lastPage;
28
- this.renderRows(event.detail.items);
29
- if (this.scrollableParent.clientHeight === this.scrollableParent.scrollHeight)
30
- this.listPaginateHandler();
31
- }
32
- listPaginateHandler() {
33
- // We don't want to emit an event to load the next page if this is the last page, or if we're already loading
34
- if (this.lastPage || this.loading)
35
- return;
36
- this.loading = true;
37
- this.listPaginate.emit({ name: this.name });
38
- }
39
- listClearDataCacheHandler(event) {
40
- if (event.detail.name !== this.name)
41
- return;
42
- this.items = [];
43
- this.selectedIds = [];
44
- this.listItemContainer()
45
- .querySelectorAll('.tttx-list__row')
46
- .forEach((node) => {
47
- node.remove();
48
- });
49
- this.rowCount = 0;
50
- this.lastPage = false;
51
- this.loading = false;
52
- }
53
- listActionSelectedEventHandler(event) {
54
- if (event.detail.name !== this.name || !this.selectable || this.selectedIds.length === 0)
55
- return;
56
- const selectedRows = this.selectedIds.map(id => {
57
- return this.items[id];
58
- });
59
- if (event.detail.removeRows)
60
- this.removeSelectedRows();
61
- this.listSelectedEvent.emit({
62
- name: this.name,
63
- eventName: event.detail.eventName,
64
- selectedRows,
65
- });
66
- }
67
- removeSelectedRows() {
68
- const orderedSelectedIds = [...this.selectedIds].sort((a, b) => {
69
- return b - a;
70
- });
71
- orderedSelectedIds.forEach(itemIndex => {
72
- this.items.splice(itemIndex, 1);
73
- this.listItemContainer().removeChild(this.listItemContainer().querySelector(`[data-row-id="${itemIndex}"]`));
74
- // If this removes the scrollbar and we're not on the last page, load in a new page
75
- if (this.scrollableParent.clientHeight === this.scrollableParent.scrollHeight)
76
- this.listPaginateHandler();
77
- });
78
- // Empty selected ids with mutation rather than assignment to avoid unecessary component rerender
79
- this.selectedIds.splice(0, this.selectedIds.length);
14
+ renderListItem(item) {
15
+ // Onclick should return some row data. May need to rethink how we handle data, since we don't want to return a template
16
+ // Alternatively, could return some sort of row id/index instead
17
+ return h("li", { class: "item", onClick: () => { this.listSelectedEvent.emit({}); } }, item.element && h("span", { class: "item-content", innerHTML: item.element }), item.chevron && h("tttx-icon", { class: "align-right", icon: "chevron_right" }));
80
18
  }
81
- listItemClickHandler(itemData) {
82
- if (this.selectedIds.length !== 0)
19
+ render() {
20
+ if (!this.data)
83
21
  return;
84
- this.listItemClick.emit({ itemData, name: this.name });
85
- }
86
- componentWillLoad() {
87
- this.template = this.host.querySelector('template');
88
- this.scrollableParent = this.getScrollableParent(this.host);
89
- const scrollableContext = this.scrollableParent === document.scrollingElement ? document : this.scrollableParent;
90
- scrollableContext.addEventListener('scroll', this.scrollHandler.bind(this));
91
- window.addEventListener('resize', this.scrollHandler.bind(this));
92
- }
93
- componentDidLoad() {
94
- // Emit event to load first page
95
- this.listPaginate.emit({ name: this.name });
96
- }
97
- listItemContainer() {
98
- return this.host.shadowRoot.querySelector('.list-item-container');
99
- }
100
- async scrollHandler() {
101
- const { clientHeight, scrollTop, scrollHeight } = this.scrollableParent;
102
- if (Math.abs(scrollHeight - clientHeight - scrollTop) < 26)
103
- this.listPaginateHandler();
104
- }
105
- isScrollable(node) {
106
- const hasScrollbar = ['scroll', 'auto'].includes(node.style.overflowY);
107
- return hasScrollbar;
108
- }
109
- getScrollableParent(node) {
110
- if (!node || node === document.body) {
111
- return document.scrollingElement;
22
+ if (typeof this.data === 'string') {
23
+ this._data = JSON.parse(this.data);
112
24
  }
113
25
  else {
114
- return this.isScrollable(node) ? node : this.getScrollableParent(node.parentElement);
26
+ this._data = this.data;
115
27
  }
28
+ return (h("ul", { class: "list" }, this._data && this._data.map((item) => this.renderListItem(item))));
116
29
  }
117
- appendRowCheckbox(rowContainer) {
118
- if (!this.selectable)
119
- return;
120
- const rowId = this.rowCount;
121
- const checkbox = document.createElement('input');
122
- checkbox.setAttribute('type', 'checkbox');
123
- checkbox.addEventListener('click', e => {
124
- e.stopPropagation();
125
- if (e.target.checked) {
126
- this.selectedIds = [...this.selectedIds, rowId];
127
- rowContainer.classList.add('selected');
128
- }
129
- else {
130
- this.selectedIds = this.selectedIds.filter(id => {
131
- return id !== rowId;
132
- });
133
- rowContainer.classList.remove('selected');
134
- }
135
- });
136
- rowContainer.setAttribute('data-row-id', `${rowId}`);
137
- this.rowCount++;
138
- rowContainer.appendChild(checkbox);
139
- }
140
- appendSeededTemplate(rowData, rowContainer) {
141
- this.template.childNodes.forEach(child => {
142
- const clone = child.cloneNode(false);
143
- if (clone.getAttribute('data-fields')) {
144
- const fields = clone.getAttribute('data-fields').replace(/\s/g, '').split(',');
145
- const filteredRowData = Object.fromEntries(fields.map((field) => {
146
- return [field, rowData[field]];
147
- }));
148
- clone.setAttribute('row-data', JSON.stringify(filteredRowData));
149
- }
150
- else {
151
- clone.setAttribute('row-data', JSON.stringify(rowData));
152
- }
153
- rowContainer.appendChild(clone);
154
- });
155
- }
156
- appendGenericTemplate(rowData, rowContainer) {
157
- const row = document.createElement('div');
158
- row.classList.add('generic-template__content');
159
- row.textContent = rowData.text;
160
- rowContainer.appendChild(row);
161
- if (!rowData.icon)
162
- return;
163
- const icon = document.createElement('span');
164
- icon.classList.add('material-symbols-rounded');
165
- icon.textContent = rowData.icon;
166
- if (rowData.iconColor)
167
- icon.style['color'] = rowData.iconColor;
168
- row.prepend(icon);
169
- }
170
- row(rowData) {
171
- const rowContainer = document.createElement('div');
172
- rowContainer.classList.add('tttx-list__row');
173
- rowContainer.addEventListener('click', () => {
174
- this.listItemClickHandler(rowData);
175
- });
176
- this.appendRowCheckbox(rowContainer);
177
- this.template ? this.appendSeededTemplate(rowData, rowContainer) : this.appendGenericTemplate(rowData, rowContainer);
178
- return rowContainer;
179
- }
180
- renderRows(batchData) {
181
- batchData.forEach(rowData => {
182
- this.listItemContainer().appendChild(this.row(rowData));
183
- });
184
- }
185
- loadIndicator() {
186
- if (!this.loading)
187
- return;
188
- return h("div", { class: "load-indicator" }, h("tttx-loading-spinner", { size: 'large' }));
189
- }
190
- render() {
191
- return (h(Host, null, h("div", { class: "list-item-container", tabindex: "0" }, !this.loading && this.items.length === 0 ? 'No data to display' : undefined), this.loadIndicator()));
192
- }
193
- get host() { return this; }
194
30
  static get style() { return tttxListCss; }
195
31
  }, [1, "tttx-list", {
196
- "name": [1],
197
- "selectable": [4],
198
- "items": [32],
199
- "selectedIds": [32],
200
- "loading": [32],
201
- "lastPage": [32]
202
- }, [[4, "listPageLoad", "listLoadHandler"], [4, "listClearDataCache", "listClearDataCacheHandler"], [4, "listActionSelectedEvent", "listActionSelectedEventHandler"]]]);
32
+ "data": [1]
33
+ }]);
203
34
  function defineCustomElement$1() {
204
35
  if (typeof customElements === "undefined") {
205
36
  return;
206
37
  }
207
- const components = ["tttx-list", "tttx-loading-spinner"];
38
+ const components = ["tttx-list", "tttx-icon"];
208
39
  components.forEach(tagName => { switch (tagName) {
209
40
  case "tttx-list":
210
41
  if (!customElements.get(tagName)) {
211
42
  customElements.define(tagName, TttxList$1);
212
43
  }
213
44
  break;
214
- case "tttx-loading-spinner":
45
+ case "tttx-icon":
215
46
  if (!customElements.get(tagName)) {
216
47
  defineCustomElement$2();
217
48
  }
@@ -1,4 +1,41 @@
1
- import { T as TttxLoadingSpinner$1, d as defineCustomElement$1 } from './tttx-loading-spinner2.js';
1
+ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
+
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
+
5
+ const TttxLoadingSpinner$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
6
+ constructor() {
7
+ super();
8
+ this.__registerHost();
9
+ this.__attachShadow();
10
+ this.loadingMessage = undefined;
11
+ this.size = 'large';
12
+ }
13
+ renderLoadingMessage() {
14
+ if (!this.loadingMessage)
15
+ return '';
16
+ return h("div", { class: "loading-text" }, "Loading, please wait...");
17
+ }
18
+ render() {
19
+ return (h("div", { class: "spinner-container" }, h("div", { class: "loading-box" }, h("span", { class: `spinner ${this.size}` })), this.renderLoadingMessage()));
20
+ }
21
+ static get style() { return tttxLoadingSpinnerCss; }
22
+ }, [1, "tttx-loading-spinner", {
23
+ "loadingMessage": [1028, "loading-message"],
24
+ "size": [1025]
25
+ }]);
26
+ function defineCustomElement$1() {
27
+ if (typeof customElements === "undefined") {
28
+ return;
29
+ }
30
+ const components = ["tttx-loading-spinner"];
31
+ components.forEach(tagName => { switch (tagName) {
32
+ case "tttx-loading-spinner":
33
+ if (!customElements.get(tagName)) {
34
+ customElements.define(tagName, TttxLoadingSpinner$1);
35
+ }
36
+ break;
37
+ } });
38
+ }
2
39
 
3
40
  const TttxLoadingSpinner = TttxLoadingSpinner$1;
4
41
  const defineCustomElement = defineCustomElement$1;
@@ -1,6 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
- import { d as defineCustomElement$3 } from './tttx-icon2.js';
3
- import { d as defineCustomElement$2 } from './tttx-popover-content2.js';
2
+ import { d as defineCustomElement$2 } from './tttx-icon2.js';
4
3
 
5
4
  const tttxTableCss = "// SPACING $spacing-unit: 4px; // REGULAR $horizontal-spacing: $spacing-unit * 4; $vertical-spacing: $spacing-unit * 2; $base-padding: $vertical-spacing $horizontal-spacing; $base-height: $spacing-unit * 9; $component-spacing: $spacing-unit * 4; // SMALL $horizontal-spacing-sm: $spacing-unit * 2; $vertical-spacing-sm: $spacing-unit * 1; $base-padding-sm: $vertical-spacing-sm $horizontal-spacing-sm; $base-height-sm: $spacing-unit * 7; // COLOURS $grey-0: #212121; $grey-1: #363636; $grey-2: #4c4c4c; $grey-3: #636363; $grey-4: #757575; $grey-5: #9e9e9e; $grey-6: #aeaeae; $grey-7: #c8c8c8; $grey-8: #e3e3e3; $grey-9: #f0f0f0; $white: white; $black: $grey-0; $transparent: transparent; $blue-0: #00187c; $blue-1: #032e8c; $blue-2: #0849a3; $blue-3: #0951a8; $blue-4: #1169ba; $blue-5: #1479c6; $blue-6: #5194d2; $blue-7: #7aacdd; $blue-8: #b9d5ed; $blue-9: #e7f1f9; $red-0: #7c0000; $red-1: #8c0000; $red-2: #a30000; $red-3: #a80000; $red-4: #ba0000; $red-5: #dc0000; $red-6: #d25151; $red-7: #dd7a7a; $red-8: #edc1c1; $red-9: #f9e7e7; $black-1: #e6e6e6; $brand: $blue-0; $accent: $blue-5; $accent-selected: $blue-9; $error: $red-5; $severity-critical: #dc0000; $severity-warning: #f59500; $severity-success: #a2bb31; $severity-info: $accent; $ui-primary: $black; $ui-secondary: $grey-4; $ui-disabled: $grey-2; $ui-placeholder: $grey-5; $ui-background: $grey-9; $ui-sheet: $white; $ui-border: #d5d5d5; // BORDERS $ui-border-radius: 4px; $ui-border-width: 1px; // TYPOGRAPHY $font-size-default: 16px; $font-size-small: 14px; .material-symbols-rounded{font-variation-settings:'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24}.skeleton{animation:skeleton-loading 1s linear infinite alternate;border-radius:4px;width:100%}@keyframes skeleton-loading{0%{background-color:hsl(200, 20%, 80%)}100%{background-color:hsl(200, 20%, 95%)}}:host{display:block}table{box-sizing:border-box;width:100%;border-collapse:collapse;border-spacing:0;border:1px solid #ddd;border-bottom:none}thead tr{height:52px;color:#757575}tbody tr{height:48px;color:#212121}tr{font-family:'Roboto', sans-serif;font-weight:400;font-size:16px;display:flex;align-items:center;border-bottom:1px solid #ddd}.selected{background-color:#F0F0F0}.checked{background-color:#e7f1f9}td,th{min-width:300px;margin-left:16px;display:flex;align-items:left}.skeleton{height:24px;display:block}.align-right{margin-left:auto}";
6
5
 
@@ -65,7 +64,7 @@ function defineCustomElement$1() {
65
64
  if (typeof customElements === "undefined") {
66
65
  return;
67
66
  }
68
- const components = ["tttx-table", "tttx-icon", "tttx-popover-content"];
67
+ const components = ["tttx-table", "tttx-icon"];
69
68
  components.forEach(tagName => { switch (tagName) {
70
69
  case "tttx-table":
71
70
  if (!customElements.get(tagName)) {
@@ -73,11 +72,6 @@ function defineCustomElement$1() {
73
72
  }
74
73
  break;
75
74
  case "tttx-icon":
76
- if (!customElements.get(tagName)) {
77
- defineCustomElement$3();
78
- }
79
- break;
80
- case "tttx-popover-content":
81
75
  if (!customElements.get(tagName)) {
82
76
  defineCustomElement$2();
83
77
  }
@@ -41,18 +41,6 @@ const isComplexType = (o) => {
41
41
  o = typeof o;
42
42
  return o === 'object' || o === 'function';
43
43
  };
44
- /**
45
- * Helper method for querying a `meta` tag that contains a nonce value
46
- * out of a DOM's head.
47
- *
48
- * @param doc The DOM containing the `head` to query against
49
- * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag
50
- * exists or the tag has no content.
51
- */
52
- function queryNonceMetaTagContent(doc) {
53
- var _a, _b, _c;
54
- return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
55
- }
56
44
  /**
57
45
  * Production h() function based on Preact by
58
46
  * Jason Miller (@developit)
@@ -61,6 +49,7 @@ function queryNonceMetaTagContent(doc) {
61
49
  *
62
50
  * Modified for Stencil's compiler and vdom
63
51
  */
52
+ // const stack: any[] = [];
64
53
  // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
65
54
  // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
66
55
  const h = (nodeName, vnodeData, ...children) => {
@@ -111,14 +100,6 @@ const h = (nodeName, vnodeData, ...children) => {
111
100
  }
112
101
  return vnode;
113
102
  };
114
- /**
115
- * A utility function for creating a virtual DOM node from a tag and some
116
- * possible text content.
117
- *
118
- * @param tag the tag for this element
119
- * @param text possible text content for the node
120
- * @returns a newly-minted virtual DOM node
121
- */
122
103
  const newVNode = (tag, text) => {
123
104
  const vnode = {
124
105
  $flags$: 0,
@@ -133,12 +114,6 @@ const newVNode = (tag, text) => {
133
114
  return vnode;
134
115
  };
135
116
  const Host = {};
136
- /**
137
- * Check whether a given node is a Host node or not
138
- *
139
- * @param node the virtual DOM node to check
140
- * @returns whether it's a Host node or not
141
- */
142
117
  const isHost = (node) => node && node.$tag$ === Host;
143
118
  /**
144
119
  * Parse a new property value for a given property type.
@@ -231,7 +206,6 @@ const registerStyle = (scopeId, cssText, allowCS) => {
231
206
  styles.set(scopeId, style);
232
207
  };
233
208
  const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
234
- var _a;
235
209
  let scopeId = getScopeId(cmpMeta);
236
210
  const style = styles.get(scopeId);
237
211
  // if an element is NOT connected then getRootNode() will return the wrong root node
@@ -251,11 +225,6 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
251
225
  styleElm = doc.createElement('style');
252
226
  styleElm.innerHTML = style;
253
227
  }
254
- // Apply CSP nonce to the style tag if it exists
255
- const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
256
- if (nonce != null) {
257
- styleElm.setAttribute('nonce', nonce);
258
- }
259
228
  styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
260
229
  }
261
230
  if (appliedStyles) {
@@ -311,12 +280,6 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
311
280
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
312
281
  classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
313
282
  }
314
- else if (memberName === 'ref') {
315
- // minifier will clean this up
316
- if (newValue) {
317
- newValue(elm);
318
- }
319
- }
320
283
  else if ((!isProp ) &&
321
284
  memberName[0] === 'o' &&
322
285
  memberName[1] === 'n') {
@@ -463,21 +426,6 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
463
426
  }
464
427
  return elm;
465
428
  };
466
- /**
467
- * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
468
- * add them to the DOM in the appropriate place.
469
- *
470
- * @param parentElm the DOM node which should be used as a parent for the new
471
- * DOM nodes
472
- * @param before a child of the `parentElm` which the new children should be
473
- * inserted before (optional)
474
- * @param parentVNode the parent virtual DOM node
475
- * @param vnodes the new child virtual DOM nodes to produce DOM nodes for
476
- * @param startIdx the index in the child virtual DOM nodes at which to start
477
- * creating DOM nodes (inclusive)
478
- * @param endIdx the index in the child virtual DOM nodes at which to stop
479
- * creating DOM nodes (inclusive)
480
- */
481
429
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
482
430
  let containerElm = (parentElm);
483
431
  let childNode;
@@ -494,24 +442,10 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
494
442
  }
495
443
  }
496
444
  };
497
- /**
498
- * Remove the DOM elements corresponding to a list of {@link d.VNode} objects.
499
- * This can be used to, for instance, clean up after a list of children which
500
- * should no longer be shown.
501
- *
502
- * This function also handles some of Stencil's slot relocation logic.
503
- *
504
- * @param vnodes a list of virtual DOM nodes to remove
505
- * @param startIdx the index at which to start removing nodes (inclusive)
506
- * @param endIdx the index at which to stop removing nodes (inclusive)
507
- * @param vnode a VNode
508
- * @param elm an element
509
- */
510
445
  const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
511
446
  for (; startIdx <= endIdx; ++startIdx) {
512
447
  if ((vnode = vnodes[startIdx])) {
513
448
  elm = vnode.$elm$;
514
- callNodeRefs(vnode);
515
449
  // remove the vnode's element from the dom
516
450
  elm.remove();
517
451
  }
@@ -699,8 +633,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
699
633
  *
700
634
  * So, in other words, if `key` attrs are not set on VNodes which may be
701
635
  * changing order within a `children` array or something along those lines then
702
- * we could obtain a false negative and then have to do needless re-rendering
703
- * (i.e. we'd say two VNodes aren't equal when in fact they should be).
636
+ * we could obtain a false positive and then have to do needless re-rendering.
704
637
  *
705
638
  * @param leftVNode the first VNode to check
706
639
  * @param rightVNode the second VNode to check
@@ -764,24 +697,6 @@ const patch = (oldVNode, newVNode) => {
764
697
  elm.data = text;
765
698
  }
766
699
  };
767
- const callNodeRefs = (vNode) => {
768
- {
769
- vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
770
- vNode.$children$ && vNode.$children$.map(callNodeRefs);
771
- }
772
- };
773
- /**
774
- * The main entry point for Stencil's virtual DOM-based rendering engine
775
- *
776
- * Given a {@link d.HostRef} container and some virtual DOM nodes, this
777
- * function will handle creating a virtual DOM tree with a single root, patching
778
- * the current virtual DOM tree onto an old one (if any), dealing with slot
779
- * relocation, and reflecting attributes.
780
- *
781
- * @param hostRef data needed to root and render the virtual DOM tree, such as
782
- * the DOM node into which it should be rendered.
783
- * @param renderFnResults the virtual DOM nodes to be rendered
784
- */
785
700
  const renderVdom = (hostRef, renderFnResults) => {
786
701
  const hostElm = hostRef.$hostElement$;
787
702
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
@@ -833,9 +748,6 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
833
748
  promise = safeCall(instance, 'componentWillLoad');
834
749
  }
835
750
  }
836
- {
837
- promise = then(promise, () => safeCall(instance, 'componentWillRender'));
838
- }
839
751
  endSchedule();
840
752
  return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
841
753
  };
@@ -903,20 +815,13 @@ const postUpdateComponent = (hostRef) => {
903
815
  const tagName = hostRef.$cmpMeta$.$tagName$;
904
816
  const elm = hostRef.$hostElement$;
905
817
  const endPostUpdate = createTime('postUpdate', tagName);
906
- const instance = hostRef.$lazyInstance$ ;
907
818
  const ancestorComponent = hostRef.$ancestorComponent$;
908
- {
909
- safeCall(instance, 'componentDidRender');
910
- }
911
819
  if (!(hostRef.$flags$ & 64 /* HOST_FLAGS.hasLoadedComponent */)) {
912
820
  hostRef.$flags$ |= 64 /* HOST_FLAGS.hasLoadedComponent */;
913
821
  {
914
822
  // DOM WRITE!
915
823
  addHydratedFlag(elm);
916
824
  }
917
- {
918
- safeCall(instance, 'componentDidLoad');
919
- }
920
825
  endPostUpdate();
921
826
  {
922
827
  hostRef.$onReadyResolve$(elm);
@@ -972,7 +877,6 @@ const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propNam
972
877
  const setValue = (ref, propName, newVal, cmpMeta) => {
973
878
  // check our new property value against our internal value
974
879
  const hostRef = getHostRef(ref);
975
- const elm = hostRef.$hostElement$ ;
976
880
  const oldVal = hostRef.$instanceValues$.get(propName);
977
881
  const flags = hostRef.$flags$;
978
882
  const instance = hostRef.$lazyInstance$ ;
@@ -985,22 +889,6 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
985
889
  // set our new value!
986
890
  hostRef.$instanceValues$.set(propName, newVal);
987
891
  if (instance) {
988
- // get an array of method names of watch functions to call
989
- if (cmpMeta.$watchers$ && flags & 128 /* HOST_FLAGS.isWatchReady */) {
990
- const watchMethods = cmpMeta.$watchers$[propName];
991
- if (watchMethods) {
992
- // this instance is watching for when this property changed
993
- watchMethods.map((watchMethodName) => {
994
- try {
995
- // fire off each of the watch methods that are watching this property
996
- instance[watchMethodName](newVal, oldVal, propName);
997
- }
998
- catch (e) {
999
- consoleError(e, elm);
1000
- }
1001
- });
1002
- }
1003
- }
1004
892
  if ((flags & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
1005
893
  // looks like this value actually changed, so we've got work to do!
1006
894
  // but only if we've already rendered, otherwise just chill out
@@ -1023,9 +911,6 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
1023
911
  */
1024
912
  const proxyComponent = (Cstr, cmpMeta, flags) => {
1025
913
  if (cmpMeta.$members$) {
1026
- if (Cstr.watchers) {
1027
- cmpMeta.$watchers$ = Cstr.watchers;
1028
- }
1029
914
  // It's better to have a const than two Object.entries()
1030
915
  const members = Object.entries(cmpMeta.$members$);
1031
916
  const prototype = Cstr.prototype;
@@ -1130,12 +1015,6 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1130
1015
  endLoad();
1131
1016
  }
1132
1017
  if (!Cstr.isProxied) {
1133
- // we've never proxied this Constructor before
1134
- // let's add the getters/setters to its prototype before
1135
- // the first time we create an instance of the implementation
1136
- {
1137
- cmpMeta.$watchers$ = Cstr.watchers;
1138
- }
1139
1018
  proxyComponent(Cstr, cmpMeta, 2 /* PROXY_FLAGS.proxyState */);
1140
1019
  Cstr.isProxied = true;
1141
1020
  }
@@ -1159,9 +1038,6 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1159
1038
  {
1160
1039
  hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
1161
1040
  }
1162
- {
1163
- hostRef.$flags$ |= 128 /* HOST_FLAGS.isWatchReady */;
1164
- }
1165
1041
  endNewInstance();
1166
1042
  }
1167
1043
  if (Cstr.style) {
@@ -1241,20 +1117,15 @@ const connectedCallback = (elm) => {
1241
1117
  const disconnectedCallback = (elm) => {
1242
1118
  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
1243
1119
  const hostRef = getHostRef(elm);
1244
- const instance = hostRef.$lazyInstance$ ;
1245
1120
  {
1246
1121
  if (hostRef.$rmListeners$) {
1247
1122
  hostRef.$rmListeners$.map((rmListener) => rmListener());
1248
1123
  hostRef.$rmListeners$ = undefined;
1249
1124
  }
1250
1125
  }
1251
- {
1252
- safeCall(instance, 'disconnectedCallback');
1253
- }
1254
1126
  }
1255
1127
  };
1256
1128
  const bootstrapLazy = (lazyBundles, options = {}) => {
1257
- var _a;
1258
1129
  const endBootstrap = createTime();
1259
1130
  const cmpTags = [];
1260
1131
  const exclude = options.exclude || [];
@@ -1281,9 +1152,6 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1281
1152
  {
1282
1153
  cmpMeta.$listeners$ = compactMeta[3];
1283
1154
  }
1284
- {
1285
- cmpMeta.$watchers$ = {};
1286
- }
1287
1155
  const tagName = cmpMeta.$tagName$;
1288
1156
  const HostElement = class extends HTMLElement {
1289
1157
  // StencilLazyHost
@@ -1334,11 +1202,6 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1334
1202
  {
1335
1203
  visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
1336
1204
  visibilityStyle.setAttribute('data-styles', '');
1337
- // Apply CSP nonce to the style tag if it exists
1338
- const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
1339
- if (nonce != null) {
1340
- visibilityStyle.setAttribute('nonce', nonce);
1341
- }
1342
1205
  head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
1343
1206
  }
1344
1207
  // Process deferred connectedCallbacks now all components have been registered
@@ -1388,13 +1251,6 @@ const getHostListenerTarget = (elm, flags) => {
1388
1251
  };
1389
1252
  // prettier-ignore
1390
1253
  const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
1391
- /**
1392
- * Assigns the given value to the nonce property on the runtime platform object.
1393
- * During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
1394
- * @param nonce The value to be assigned to the platform nonce property.
1395
- * @returns void
1396
- */
1397
- const setNonce = (nonce) => (plt.$nonce$ = nonce);
1398
1254
  const hostRefs = /*@__PURE__*/ new WeakMap();
1399
1255
  const getHostRef = (ref) => hostRefs.get(ref);
1400
1256
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
@@ -1502,4 +1358,4 @@ const flush = () => {
1502
1358
  const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
1503
1359
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
1504
1360
 
1505
- export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1361
+ export { Host as H, bootstrapLazy as b, createEvent as c, h, promiseResolve as p, registerInstance as r };
@@ -1,8 +1,7 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-a05bd606.js';
2
- export { s as setNonce } from './index-a05bd606.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-901bfd55.js';
3
2
 
4
3
  /*
5
- Stencil Client Patch Esm v2.22.3 | MIT Licensed | https://stenciljs.com
4
+ Stencil Client Patch Esm v2.20.0 | MIT Licensed | https://stenciljs.com
6
5
  */
7
6
  const patchEsm = () => {
8
7
  return promiseResolve();
@@ -11,7 +10,7 @@ const patchEsm = () => {
11
10
  const defineCustomElements = (win, options) => {
12
11
  if (typeof window === 'undefined') return Promise.resolve();
13
12
  return patchEsm().then(() => {
14
- return bootstrapLazy([["tttx-input-calendar",[[1,"tttx-input-calendar",{"months":[4],"years":[4],"showCalendar":[32],"selectedYear":[32],"selectedMonth":[32]}]]],["tttx-table",[[1,"tttx-table",{"headers":[16],"data":[16],"loading":[4],"selected":[2]},[[4,"keydown","handleKeyDown"]]]]],["tttx-list",[[1,"tttx-list",{"name":[1],"selectable":[4],"items":[32],"selectedIds":[32],"loading":[32],"lastPage":[32]},[[4,"listPageLoad","listLoadHandler"],[4,"listClearDataCache","listClearDataCacheHandler"],[4,"listActionSelectedEvent","listActionSelectedEventHandler"]]]]],["tttx-standalone-input",[[2,"tttx-standalone-input",{"label":[1],"showerrormsg":[4],"errormsg":[1],"iconleft":[1],"iconright":[1],"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-checkbox",[[1,"tttx-checkbox",{"value":[4],"label":[1],"required":[4]}]]],["tttx-form",[[1,"tttx-form",{"formschema":[8],"submitValue":[8,"submit-value"]}]]],["tttx-keyvalue-block",[[1,"tttx-keyvalue-block",{"keyvalues":[8],"horizontal":[4]}]]],["tttx-button",[[1,"tttx-button",{"notext":[4],"icon":[1],"iconposition":[1],"design":[1]}]]],["tttx-loading-spinner",[[1,"tttx-loading-spinner",{"loadingMessage":[1028,"loading-message"],"size":[1025]}]]],["tttx-popover-content",[[1,"tttx-popover-content",{"header":[1],"body":[1],"linkcontext":[1],"linktext":[1]}]]],["tttx-icon",[[1,"tttx-icon",{"icon":[1],"color":[1]}]]]], options);
13
+ return bootstrapLazy([["tttx-icon",[[1,"tttx-icon",{"icon":[1],"color":[1]}]]],["tttx-button",[[1,"tttx-button",{"notext":[4],"icon":[1],"iconposition":[1],"design":[1]}]]],["tttx-list",[[1,"tttx-list",{"data":[1]}]]],["tttx-standalone-input",[[2,"tttx-standalone-input",{"label":[1],"showerrormsg":[4],"errormsg":[1],"iconleft":[1],"iconright":[1],"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-table",[[1,"tttx-table",{"headers":[16],"data":[16],"loading":[4],"selected":[2]},[[4,"keydown","handleKeyDown"]]]]],["tttx-keyvalue-block",[[1,"tttx-keyvalue-block",{"keyvalues":[8],"horizontal":[4]}]]],["tttx-loading-spinner",[[1,"tttx-loading-spinner",{"loadingMessage":[1028,"loading-message"],"size":[1025]}]]]], options);
15
14
  });
16
15
  };
17
16