@3t-transform/threeteeui 0.0.10 → 0.0.12

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 (93) hide show
  1. package/dist/cjs/{index-8a4cb9bc.js → index-61cd741f.js} +43 -88
  2. package/dist/cjs/loader.cjs.js +3 -4
  3. package/dist/cjs/tttx-button.cjs.entry.js +2 -2
  4. package/dist/cjs/tttx-checkbox.cjs.entry.js +3 -3
  5. package/dist/cjs/tttx-form.cjs.entry.js +169 -41
  6. package/dist/cjs/tttx-icon.cjs.entry.js +2 -2
  7. package/dist/cjs/tttx-list.cjs.entry.js +198 -0
  8. package/dist/cjs/tttx-loading-spinner.cjs.entry.js +4 -4
  9. package/dist/cjs/tttx-popover-content.cjs.entry.js +2 -2
  10. package/dist/cjs/tttx-standalone-input.cjs.entry.js +134 -0
  11. package/dist/cjs/tttx.cjs.js +3 -7
  12. package/dist/collection/collection-manifest.json +4 -3
  13. package/dist/collection/components/atoms/tttx-button/tttx-button.css +1 -0
  14. package/dist/collection/components/atoms/tttx-button/tttx-button.stories.js +3 -3
  15. package/dist/collection/components/atoms/tttx-icon/tttx-icon.css +3 -3
  16. package/dist/collection/components/atoms/tttx-icon/tttx-icon.stories.js +15 -15
  17. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.css +1 -1
  18. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.js +2 -2
  19. package/dist/collection/components/atoms/tttx-loading-spinner/tttx-loading-spinner.stories.js +1 -1
  20. package/dist/collection/components/atoms/tttx-popover-content/tttx-popover-content.js +1 -1
  21. package/dist/collection/components/atoms/tttx-popover-content/tttx-popover-content.stories.js +3 -3
  22. package/dist/collection/components/atoms/ttx-checkbox/tttx-checkbox.css +85 -39
  23. package/dist/collection/components/atoms/ttx-checkbox/tttx-checkbox.js +1 -1
  24. package/dist/collection/components/atoms/ttx-checkbox/tttx-checkbox.stories.js +5 -5
  25. package/dist/collection/components/molecules/tttx-form/tttx-form.css +230 -0
  26. package/dist/collection/components/molecules/tttx-form/tttx-form.js +195 -55
  27. package/dist/collection/components/molecules/tttx-form/tttx-form.stories.js +97 -28
  28. package/dist/collection/components/molecules/tttx-list/tttx-list.css +56 -0
  29. package/dist/collection/components/molecules/tttx-list/tttx-list.js +311 -0
  30. package/dist/collection/components/molecules/tttx-list/tttx-list.stories.js +37 -0
  31. package/dist/collection/components/molecules/{tttx-input/tttx-input.css → tttx-standalone-input/tttx-standalone-input.css} +77 -49
  32. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.js +561 -0
  33. package/dist/collection/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.js +156 -0
  34. package/dist/collection/components/palette.stories.js +81 -81
  35. package/dist/collection/docs/gettingstarted-developer.stories.js +4 -4
  36. package/dist/components/index.d.ts +2 -10
  37. package/dist/components/index.js +3 -2
  38. package/dist/components/tttx-button.js +1 -1
  39. package/dist/components/tttx-checkbox.js +2 -2
  40. package/dist/components/tttx-form.js +167 -39
  41. package/dist/components/tttx-icon2.js +1 -1
  42. package/dist/components/{tttx-input.d.ts → tttx-list.d.ts} +4 -4
  43. package/dist/components/tttx-list.js +225 -0
  44. package/dist/components/tttx-loading-spinner.js +1 -38
  45. package/dist/components/tttx-loading-spinner2.js +40 -0
  46. package/dist/components/tttx-popover-content.js +1 -1
  47. package/dist/components/tttx-standalone-input.d.ts +11 -0
  48. package/dist/components/tttx-standalone-input.js +178 -0
  49. package/dist/esm/{index-9654537d.js → index-d8718abe.js} +44 -88
  50. package/dist/esm/loader.js +3 -4
  51. package/dist/esm/polyfills/css-shim.js +1 -1
  52. package/dist/esm/tttx-button.entry.js +2 -2
  53. package/dist/esm/tttx-checkbox.entry.js +3 -3
  54. package/dist/esm/tttx-form.entry.js +169 -41
  55. package/dist/esm/tttx-icon.entry.js +2 -2
  56. package/dist/esm/tttx-list.entry.js +194 -0
  57. package/dist/esm/tttx-loading-spinner.entry.js +4 -4
  58. package/dist/esm/tttx-popover-content.entry.js +2 -2
  59. package/dist/esm/tttx-standalone-input.entry.js +130 -0
  60. package/dist/esm/tttx.js +3 -4
  61. package/dist/tttx/p-1b6b4223.entry.js +1 -0
  62. package/dist/tttx/p-1ea7e424.entry.js +1 -0
  63. package/dist/tttx/{p-3cb692d6.entry.js → p-629411bc.entry.js} +1 -1
  64. package/dist/tttx/p-7d84c410.entry.js +1 -0
  65. package/dist/tttx/p-80bbe164.js +2 -0
  66. package/dist/tttx/{p-1884203f.entry.js → p-daa82b1b.entry.js} +1 -1
  67. package/dist/tttx/p-db1f56ba.entry.js +1 -0
  68. package/dist/tttx/p-dee50f14.entry.js +1 -0
  69. package/dist/tttx/{p-674e2f18.entry.js → p-e5c02c27.entry.js} +1 -1
  70. package/dist/tttx/tttx.esm.js +1 -1
  71. package/dist/types/components/molecules/tttx-form/tttx-form.d.ts +14 -7
  72. package/dist/types/components/molecules/tttx-form/tttx-form.stories.d.ts +1 -8
  73. package/dist/types/components/molecules/tttx-list/tttx-list.d.ts +51 -0
  74. package/dist/types/components/molecules/tttx-list/tttx-list.stories.d.ts +13 -0
  75. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.d.ts +38 -0
  76. package/dist/types/components/molecules/tttx-standalone-input/tttx-standalone-input.stories.d.ts +106 -0
  77. package/dist/types/components.d.ts +88 -39
  78. package/dist/types/stencil-public-runtime.d.ts +3 -59
  79. package/loader/index.d.ts +0 -9
  80. package/package.json +67 -65
  81. package/readme.md +89 -86
  82. package/dist/cjs/tttx-input.cjs.entry.js +0 -44
  83. package/dist/collection/components/molecules/tttx-input/tttx-input.js +0 -259
  84. package/dist/collection/components/molecules/tttx-input/tttx-input.stories.js +0 -106
  85. package/dist/components/tttx-input.js +0 -77
  86. package/dist/esm/tttx-input.entry.js +0 -40
  87. package/dist/tttx/p-317b13d3.entry.js +0 -1
  88. package/dist/tttx/p-3cd7ad04.entry.js +0 -1
  89. package/dist/tttx/p-b6cc2780.js +0 -2
  90. package/dist/tttx/p-f30a0e84.entry.js +0 -1
  91. package/dist/tttx/p-f4855113.entry.js +0 -1
  92. package/dist/types/components/molecules/tttx-input/tttx-input.d.ts +0 -20
  93. package/dist/types/components/molecules/tttx-input/tttx-input.stories.d.ts +0 -60
@@ -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.
@@ -227,7 +202,6 @@ const registerStyle = (scopeId, cssText, allowCS) => {
227
202
  styles.set(scopeId, style);
228
203
  };
229
204
  const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
230
- var _a;
231
205
  let scopeId = getScopeId(cmpMeta);
232
206
  const style = styles.get(scopeId);
233
207
  // if an element is NOT connected then getRootNode() will return the wrong root node
@@ -247,11 +221,6 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
247
221
  styleElm = doc.createElement('style');
248
222
  styleElm.innerHTML = style;
249
223
  }
250
- // Apply CSP nonce to the style tag if it exists
251
- const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
252
- if (nonce != null) {
253
- styleElm.setAttribute('nonce', nonce);
254
- }
255
224
  styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
256
225
  }
257
226
  if (appliedStyles) {
@@ -281,6 +250,9 @@ const attachStyles = (hostRef) => {
281
250
  // DOM WRITE!!
282
251
  elm['s-sc'] = scopeId;
283
252
  elm.classList.add(scopeId + '-h');
253
+ if (flags & 2 /* CMP_FLAGS.scopedCssEncapsulation */) {
254
+ elm.classList.add(scopeId + '-s');
255
+ }
284
256
  }
285
257
  endAttachStyles();
286
258
  };
@@ -456,21 +428,6 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
456
428
  }
457
429
  return elm;
458
430
  };
459
- /**
460
- * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
461
- * add them to the DOM in the appropriate place.
462
- *
463
- * @param parentElm the DOM node which should be used as a parent for the new
464
- * DOM nodes
465
- * @param before a child of the `parentElm` which the new children should be
466
- * inserted before (optional)
467
- * @param parentVNode the parent virtual DOM node
468
- * @param vnodes the new child virtual DOM nodes to produce DOM nodes for
469
- * @param startIdx the index in the child virtual DOM nodes at which to start
470
- * creating DOM nodes (inclusive)
471
- * @param endIdx the index in the child virtual DOM nodes at which to stop
472
- * creating DOM nodes (inclusive)
473
- */
474
431
  const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
475
432
  let containerElm = (parentElm);
476
433
  let childNode;
@@ -487,19 +444,6 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
487
444
  }
488
445
  }
489
446
  };
490
- /**
491
- * Remove the DOM elements corresponding to a list of {@link d.VNode} objects.
492
- * This can be used to, for instance, clean up after a list of children which
493
- * should no longer be shown.
494
- *
495
- * This function also handles some of Stencil's slot relocation logic.
496
- *
497
- * @param vnodes a list of virtual DOM nodes to remove
498
- * @param startIdx the index at which to start removing nodes (inclusive)
499
- * @param endIdx the index at which to stop removing nodes (inclusive)
500
- * @param vnode a VNode
501
- * @param elm an element
502
- */
503
447
  const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
504
448
  for (; startIdx <= endIdx; ++startIdx) {
505
449
  if ((vnode = vnodes[startIdx])) {
@@ -692,8 +636,7 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
692
636
  *
693
637
  * So, in other words, if `key` attrs are not set on VNodes which may be
694
638
  * changing order within a `children` array or something along those lines then
695
- * we could obtain a false negative and then have to do needless re-rendering
696
- * (i.e. we'd say two VNodes aren't equal when in fact they should be).
639
+ * we could obtain a false positive and then have to do needless re-rendering.
697
640
  *
698
641
  * @param leftVNode the first VNode to check
699
642
  * @param rightVNode the second VNode to check
@@ -763,18 +706,6 @@ const callNodeRefs = (vNode) => {
763
706
  vNode.$children$ && vNode.$children$.map(callNodeRefs);
764
707
  }
765
708
  };
766
- /**
767
- * The main entry point for Stencil's virtual DOM-based rendering engine
768
- *
769
- * Given a {@link d.HostRef} container and some virtual DOM nodes, this
770
- * function will handle creating a virtual DOM tree with a single root, patching
771
- * the current virtual DOM tree onto an old one (if any), dealing with slot
772
- * relocation, and reflecting attributes.
773
- *
774
- * @param hostRef data needed to root and render the virtual DOM tree, such as
775
- * the DOM node into which it should be rendered.
776
- * @param renderFnResults the virtual DOM nodes to be rendered
777
- */
778
709
  const renderVdom = (hostRef, renderFnResults) => {
779
710
  const hostElm = hostRef.$hostElement$;
780
711
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
@@ -826,6 +757,9 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
826
757
  promise = safeCall(instance, 'componentWillLoad');
827
758
  }
828
759
  }
760
+ {
761
+ promise = then(promise, () => safeCall(instance, 'componentWillRender'));
762
+ }
829
763
  endSchedule();
830
764
  return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
831
765
  };
@@ -895,6 +829,9 @@ const postUpdateComponent = (hostRef) => {
895
829
  const endPostUpdate = createTime('postUpdate', tagName);
896
830
  const instance = hostRef.$lazyInstance$ ;
897
831
  const ancestorComponent = hostRef.$ancestorComponent$;
832
+ {
833
+ safeCall(instance, 'componentDidRender');
834
+ }
898
835
  if (!(hostRef.$flags$ & 64 /* HOST_FLAGS.hasLoadedComponent */)) {
899
836
  hostRef.$flags$ |= 64 /* HOST_FLAGS.hasLoadedComponent */;
900
837
  {
@@ -959,6 +896,7 @@ const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propNam
959
896
  const setValue = (ref, propName, newVal, cmpMeta) => {
960
897
  // check our new property value against our internal value
961
898
  const hostRef = getHostRef(ref);
899
+ const elm = hostRef.$hostElement$ ;
962
900
  const oldVal = hostRef.$instanceValues$.get(propName);
963
901
  const flags = hostRef.$flags$;
964
902
  const instance = hostRef.$lazyInstance$ ;
@@ -971,6 +909,22 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
971
909
  // set our new value!
972
910
  hostRef.$instanceValues$.set(propName, newVal);
973
911
  if (instance) {
912
+ // get an array of method names of watch functions to call
913
+ if (cmpMeta.$watchers$ && flags & 128 /* HOST_FLAGS.isWatchReady */) {
914
+ const watchMethods = cmpMeta.$watchers$[propName];
915
+ if (watchMethods) {
916
+ // this instance is watching for when this property changed
917
+ watchMethods.map((watchMethodName) => {
918
+ try {
919
+ // fire off each of the watch methods that are watching this property
920
+ instance[watchMethodName](newVal, oldVal, propName);
921
+ }
922
+ catch (e) {
923
+ consoleError(e, elm);
924
+ }
925
+ });
926
+ }
927
+ }
974
928
  if ((flags & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
975
929
  // looks like this value actually changed, so we've got work to do!
976
930
  // but only if we've already rendered, otherwise just chill out
@@ -993,6 +947,9 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
993
947
  */
994
948
  const proxyComponent = (Cstr, cmpMeta, flags) => {
995
949
  if (cmpMeta.$members$) {
950
+ if (Cstr.watchers) {
951
+ cmpMeta.$watchers$ = Cstr.watchers;
952
+ }
996
953
  // It's better to have a const than two Object.entries()
997
954
  const members = Object.entries(cmpMeta.$members$);
998
955
  const prototype = Cstr.prototype;
@@ -1097,6 +1054,12 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1097
1054
  endLoad();
1098
1055
  }
1099
1056
  if (!Cstr.isProxied) {
1057
+ // we've never proxied this Constructor before
1058
+ // let's add the getters/setters to its prototype before
1059
+ // the first time we create an instance of the implementation
1060
+ {
1061
+ cmpMeta.$watchers$ = Cstr.watchers;
1062
+ }
1100
1063
  proxyComponent(Cstr, cmpMeta, 2 /* PROXY_FLAGS.proxyState */);
1101
1064
  Cstr.isProxied = true;
1102
1065
  }
@@ -1120,6 +1083,9 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
1120
1083
  {
1121
1084
  hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
1122
1085
  }
1086
+ {
1087
+ hostRef.$flags$ |= 128 /* HOST_FLAGS.isWatchReady */;
1088
+ }
1123
1089
  endNewInstance();
1124
1090
  }
1125
1091
  if (Cstr.style) {
@@ -1212,7 +1178,6 @@ const disconnectedCallback = (elm) => {
1212
1178
  }
1213
1179
  };
1214
1180
  const bootstrapLazy = (lazyBundles, options = {}) => {
1215
- var _a;
1216
1181
  const endBootstrap = createTime();
1217
1182
  const cmpTags = [];
1218
1183
  const exclude = options.exclude || [];
@@ -1239,6 +1204,9 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1239
1204
  {
1240
1205
  cmpMeta.$listeners$ = compactMeta[3];
1241
1206
  }
1207
+ {
1208
+ cmpMeta.$watchers$ = {};
1209
+ }
1242
1210
  const tagName = cmpMeta.$tagName$;
1243
1211
  const HostElement = class extends HTMLElement {
1244
1212
  // StencilLazyHost
@@ -1289,11 +1257,6 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
1289
1257
  {
1290
1258
  visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
1291
1259
  visibilityStyle.setAttribute('data-styles', '');
1292
- // Apply CSP nonce to the style tag if it exists
1293
- const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
1294
- if (nonce != null) {
1295
- visibilityStyle.setAttribute('nonce', nonce);
1296
- }
1297
1260
  head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
1298
1261
  }
1299
1262
  // Process deferred connectedCallbacks now all components have been registered
@@ -1343,13 +1306,6 @@ const getHostListenerTarget = (elm, flags) => {
1343
1306
  };
1344
1307
  // prettier-ignore
1345
1308
  const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
1346
- /**
1347
- * Assigns the given value to the nonce property on the runtime platform object.
1348
- * During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
1349
- * @param nonce The value to be assigned to the platform nonce property.
1350
- * @returns void
1351
- */
1352
- const setNonce = (nonce) => (plt.$nonce$ = nonce);
1353
1309
  const hostRefs = /*@__PURE__*/ new WeakMap();
1354
1310
  const getHostRef = (ref) => hostRefs.get(ref);
1355
1311
  const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
@@ -1457,4 +1413,4 @@ const flush = () => {
1457
1413
  const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
1458
1414
  const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
1459
1415
 
1460
- export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1416
+ export { Host as H, bootstrapLazy as b, createEvent as c, getElement as g, h, promiseResolve as p, registerInstance as r };
@@ -1,8 +1,7 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-9654537d.js';
2
- export { s as setNonce } from './index-9654537d.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-d8718abe.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",[[1,"tttx-input",{"label":[1],"valid":[4],"showerrormsg":[4],"errormsg":[1],"value":[1025],"type":[1],"placeholder":[1],"pattern":[1],"iconleft":[1],"iconright":[1],"required":[4],"isfocused":[32]}]]],["tttx-button",[[1,"tttx-button",{"fontColor":[1,"font-color"],"buttonStyle":[1,"button-style"]},[[0,"clickEvent","onClicked"]]]]],["tttx-checkbox",[[1,"tttx-checkbox",{"value":[4],"label":[1],"required":[4]}]]],["tttx-form",[[1,"tttx-form",{"dataAttribute":[1,"data-attribute"],"functionAttribute":[1,"function-attribute"]}]]],["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],"colour":[1]},[[4,"click","handleDocumentClick"]]]]]], options);
13
+ return bootstrapLazy([["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],"valid":[4],"showerrormsg":[4],"errormsg":[1],"iconleft":[1],"iconright":[1],"autocapitalize":[1],"autocomplete":[1],"autofocus":[4],"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],"isfocused":[32]}]]],["tttx-button",[[1,"tttx-button",{"fontColor":[1,"font-color"],"buttonStyle":[1,"button-style"]},[[0,"clickEvent","onClicked"]]]]],["tttx-checkbox",[[1,"tttx-checkbox",{"value":[4],"label":[1],"required":[4]}]]],["tttx-form",[[1,"tttx-form",{"formschema":[8],"submitValue":[8,"submit-value"]}]]],["tttx-popover-content",[[1,"tttx-popover-content",{"header":[1],"body":[1],"linkcontext":[1],"linktext":[1]}]]],["tttx-icon",[[1,"tttx-icon",{"icon":[1],"colour":[1]},[[4,"click","handleDocumentClick"]]]]],["tttx-loading-spinner",[[1,"tttx-loading-spinner",{"loadingMessage":[1028,"loading-message"],"size":[1025]}]]]], options);
15
14
  });
16
15
  };
17
16
 
@@ -1 +1 @@
1
- var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},__assign.apply(this,arguments)},StyleNode=function(){this.start=0,this.end=0,this.previous=null,this.parent=null,this.rules=null,this.parsedCssText="",this.cssText="",this.atRule=!1,this.type=0,this.keyframesName="",this.selector="",this.parsedSelector=""};function parse(e){return parseCss(lex(e=clean(e)),e)}function clean(e){return e.replace(RX.comments,"").replace(RX.port,"")}function lex(e){var t=new StyleNode;t.start=0,t.end=e.length;for(var r=t,n=0,s=e.length;n<s;n++)if(e[n]===OPEN_BRACE){r.rules||(r.rules=[]);var o=r,a=o.rules[o.rules.length-1]||null;(r=new StyleNode).start=n+1,r.parent=o,r.previous=a,o.rules.push(r)}else e[n]===CLOSE_BRACE&&(r.end=n+1,r=r.parent||t);return t}function parseCss(e,t){var r=t.substring(e.start,e.end-1);if(e.parsedCssText=e.cssText=r.trim(),e.parent){var n=e.previous?e.previous.end:e.parent.start;r=(r=(r=_expandUnicodeEscapes(r=t.substring(n,e.start-1))).replace(RX.multipleSpaces," ")).substring(r.lastIndexOf(";")+1);var s=e.parsedSelector=e.selector=r.trim();e.atRule=0===s.indexOf(AT_START),e.atRule?0===s.indexOf(MEDIA_START)?e.type=types.MEDIA_RULE:s.match(RX.keyframesRule)&&(e.type=types.KEYFRAMES_RULE,e.keyframesName=e.selector.split(RX.multipleSpaces).pop()):0===s.indexOf(VAR_START)?e.type=types.MIXIN_RULE:e.type=types.STYLE_RULE}var o=e.rules;if(o)for(var a=0,i=o.length,l=void 0;a<i&&(l=o[a]);a++)parseCss(l,t);return e}function _expandUnicodeEscapes(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,(function(){for(var e=arguments[1],t=6-e.length;t--;)e="0"+e;return"\\"+e}))}var types={STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1e3},OPEN_BRACE="{",CLOSE_BRACE="}",RX={comments:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpaces:/\s+/g},VAR_START="--",MEDIA_START="@media",AT_START="@",VAR_USAGE_START=/\bvar\(/,VAR_ASSIGN_START=/\B--[\w-]+\s*:/,COMMENTS=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,TRAILING_LINES=/^[\t ]+\n/gm;function findRegex(e,t,r){e.lastIndex=0;var n=t.substring(r).match(e);if(n){var s=r+n.index;return{start:s,end:s+n[0].length}}return null}function resolveVar(e,t,r){return e[t]?e[t]:r?executeTemplate(r,e):""}function findVarEndIndex(e,t){for(var r=0,n=t;n<e.length;n++){var s=e[n];if("("===s)r++;else if(")"===s&&--r<=0)return n+1}return n}function parseVar(e,t){var r=findRegex(VAR_USAGE_START,e,t);if(!r)return null;var n=findVarEndIndex(e,r.start),s=e.substring(r.end,n-1).split(","),o=s[0],a=s.slice(1);return{start:r.start,end:n,propName:o.trim(),fallback:a.length>0?a.join(",").trim():void 0}}function compileVar(e,t,r){var n=parseVar(e,r);if(!n)return t.push(e.substring(r,e.length)),e.length;var s=n.propName,o=null!=n.fallback?compileTemplate(n.fallback):void 0;return t.push(e.substring(r,n.start),(function(e){return resolveVar(e,s,o)})),n.end}function executeTemplate(e,t){for(var r="",n=0;n<e.length;n++){var s=e[n];r+="string"==typeof s?s:s(t)}return r}function findEndValue(e,t){for(var r=!1,n=!1,s=t;s<e.length;s++){var o=e[s];if(r)n&&'"'===o&&(r=!1),n||"'"!==o||(r=!1);else if('"'===o)r=!0,n=!0;else if("'"===o)r=!0,n=!1;else{if(";"===o)return s+1;if("}"===o)return s}}return s}function removeCustomAssigns(e){for(var t="",r=0;;){var n=findRegex(VAR_ASSIGN_START,e,r),s=n?n.start:e.length;if(t+=e.substring(r,s),!n)break;r=findEndValue(e,s)}return t}function compileTemplate(e){var t=0;e=removeCustomAssigns(e=e.replace(COMMENTS,"")).replace(TRAILING_LINES,"");for(var r=[];t<e.length;)t=compileVar(e,r,t);return r}function resolveValues(e){var t={};e.forEach((function(e){e.declarations.forEach((function(e){t[e.prop]=e.value}))}));for(var r={},n=Object.entries(t),s=function(e){var t=!1;if(n.forEach((function(e){var n=e[0],s=executeTemplate(e[1],r);s!==r[n]&&(r[n]=s,t=!0)})),!t)return"break"},o=0;o<10;o++){if("break"===s())break}return r}function getSelectors(e,t){if(void 0===t&&(t=0),!e.rules)return[];var r=[];return e.rules.filter((function(e){return e.type===types.STYLE_RULE})).forEach((function(e){var n=getDeclarations(e.cssText);n.length>0&&e.parsedSelector.split(",").forEach((function(e){e=e.trim(),r.push({selector:e,declarations:n,specificity:computeSpecificity(),nu:t})})),t++})),r}function computeSpecificity(e){return 1}var IMPORTANT="!important",FIND_DECLARATIONS=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gm;function getDeclarations(e){for(var t,r=[];t=FIND_DECLARATIONS.exec(e.trim());){var n=normalizeValue(t[2]),s=n.value,o=n.important;r.push({prop:t[1].trim(),value:compileTemplate(s),important:o})}return r}function normalizeValue(e){var t=(e=e.replace(/\s+/gim," ").trim()).endsWith(IMPORTANT);return t&&(e=e.slice(0,e.length-IMPORTANT.length).trim()),{value:e,important:t}}function getActiveSelectors(e,t,r){var n=[],s=getScopesForElement(t,e);return r.forEach((function(e){return n.push(e)})),s.forEach((function(e){return n.push(e)})),sortSelectors(getSelectorsForScopes(n).filter((function(t){return matches(e,t.selector)})))}function getScopesForElement(e,t){for(var r=[];t;){var n=e.get(t);n&&r.push(n),t=t.parentElement}return r}function getSelectorsForScopes(e){var t=[];return e.forEach((function(e){t.push.apply(t,e.selectors)})),t}function sortSelectors(e){return e.sort((function(e,t){return e.specificity===t.specificity?e.nu-t.nu:e.specificity-t.specificity})),e}function matches(e,t){return":root"===t||"html"===t||e.matches(t)}function parseCSS(e){var t=parse(e),r=compileTemplate(e);return{original:e,template:r,selectors:getSelectors(t),usesCssVars:r.length>1}}function addGlobalStyle(e,t){if(e.some((function(e){return e.styleEl===t})))return!1;var r=parseCSS(t.textContent);return r.styleEl=t,e.push(r),!0}function updateGlobalScopes(e){var t=resolveValues(getSelectorsForScopes(e));e.forEach((function(e){e.usesCssVars&&(e.styleEl.textContent=executeTemplate(e.template,t))}))}function reScope(e,t){var r=e.template.map((function(r){return"string"==typeof r?replaceScope(r,e.scopeId,t):r})),n=e.selectors.map((function(r){return __assign(__assign({},r),{selector:replaceScope(r.selector,e.scopeId,t)})}));return __assign(__assign({},e),{template:r,selectors:n,scopeId:t})}function replaceScope(e,t,r){return e=replaceAll(e,"\\.".concat(t),".".concat(r))}function replaceAll(e,t,r){return e.replace(new RegExp(t,"g"),r)}function loadDocument(e,t){return loadDocumentStyles(e,t),loadDocumentLinks(e,t).then((function(){updateGlobalScopes(t)}))}function startWatcher(e,t){"undefined"!=typeof MutationObserver&&new MutationObserver((function(){loadDocumentStyles(e,t)&&updateGlobalScopes(t)})).observe(document.head,{childList:!0})}function loadDocumentLinks(e,t){for(var r=[],n=e.querySelectorAll('link[rel="stylesheet"][href]:not([data-no-shim])'),s=0;s<n.length;s++)r.push(addGlobalLink(e,t,n[s]));return Promise.all(r)}function loadDocumentStyles(e,t){return Array.from(e.querySelectorAll("style:not([data-styles]):not([data-no-shim])")).map((function(e){return addGlobalStyle(t,e)})).some(Boolean)}function addGlobalLink(e,t,r){var n=r.href;return fetch(n).then((function(e){return e.text()})).then((function(s){if(hasCssVariables(s)&&r.parentNode){hasRelativeUrls(s)&&(s=fixRelativeUrls(s,n));var o=e.createElement("style");o.setAttribute("data-styles",""),o.textContent=s,addGlobalStyle(t,o),r.parentNode.insertBefore(o,r),r.remove()}})).catch((function(e){console.error(e)}))}var CSS_VARIABLE_REGEXP=/[\s;{]--[-a-zA-Z0-9]+\s*:/m;function hasCssVariables(e){return e.indexOf("var(")>-1||CSS_VARIABLE_REGEXP.test(e)}var CSS_URL_REGEXP=/url[\s]*\([\s]*['"]?(?!(?:https?|data)\:|\/)([^\'\"\)]*)[\s]*['"]?\)[\s]*/gim;function hasRelativeUrls(e){return CSS_URL_REGEXP.lastIndex=0,CSS_URL_REGEXP.test(e)}function fixRelativeUrls(e,t){var r=t.replace(/[^/]*$/,"");return e.replace(CSS_URL_REGEXP,(function(e,t){var n=r+t;return e.replace(t,n)}))}var CustomStyle=function(){function e(e,t){this.win=e,this.doc=t,this.count=0,this.hostStyleMap=new WeakMap,this.hostScopeMap=new WeakMap,this.globalScopes=[],this.scopesMap=new Map,this.didInit=!1}return e.prototype.i=function(){var e=this;return this.didInit||!this.win.requestAnimationFrame?Promise.resolve():(this.didInit=!0,new Promise((function(t){e.win.requestAnimationFrame((function(){startWatcher(e.doc,e.globalScopes),loadDocument(e.doc,e.globalScopes).then((function(){return t()}))}))})))},e.prototype.addLink=function(e){var t=this;return addGlobalLink(this.doc,this.globalScopes,e).then((function(){t.updateGlobal()}))},e.prototype.addGlobalStyle=function(e){addGlobalStyle(this.globalScopes,e)&&this.updateGlobal()},e.prototype.createHostStyle=function(e,t,r,n){if(this.hostScopeMap.has(e))throw new Error("host style already created");var s=this.registerHostTemplate(r,t,n),o=this.doc.createElement("style");return o.setAttribute("data-no-shim",""),s.usesCssVars?n?(o["s-sc"]=t="".concat(s.scopeId,"-").concat(this.count),o.textContent="/*needs update*/",this.hostStyleMap.set(e,o),this.hostScopeMap.set(e,reScope(s,t)),this.count++):(s.styleEl=o,s.usesCssVars||(o.textContent=executeTemplate(s.template,{})),this.globalScopes.push(s),this.updateGlobal(),this.hostScopeMap.set(e,s)):o.textContent=r,o},e.prototype.removeHost=function(e){var t=this.hostStyleMap.get(e);t&&t.remove(),this.hostStyleMap.delete(e),this.hostScopeMap.delete(e)},e.prototype.updateHost=function(e){var t=this.hostScopeMap.get(e);if(t&&t.usesCssVars&&t.isScoped){var r=this.hostStyleMap.get(e);if(r){var n=resolveValues(getActiveSelectors(e,this.hostScopeMap,this.globalScopes));r.textContent=executeTemplate(t.template,n)}}},e.prototype.updateGlobal=function(){updateGlobalScopes(this.globalScopes)},e.prototype.registerHostTemplate=function(e,t,r){var n=this.scopesMap.get(t);return n||((n=parseCSS(e)).scopeId=t,n.isScoped=r,this.scopesMap.set(t,n)),n},e}();!function(e){!e||e.__cssshim||e.CSS&&e.CSS.supports&&e.CSS.supports("color","var(--c)")||(e.__cssshim=new CustomStyle(e,e.document))}("undefined"!=typeof window&&window);
1
+ var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e}).apply(this,arguments)},StyleNode=function(){this.start=0,this.end=0,this.previous=null,this.parent=null,this.rules=null,this.parsedCssText="",this.cssText="",this.atRule=!1,this.type=0,this.keyframesName="",this.selector="",this.parsedSelector=""};function parse(e){return parseCss(lex(e=clean(e)),e)}function clean(e){return e.replace(RX.comments,"").replace(RX.port,"")}function lex(e){var t=new StyleNode;t.start=0,t.end=e.length;for(var r=t,n=0,s=e.length;n<s;n++)if(e[n]===OPEN_BRACE){r.rules||(r.rules=[]);var o=r,a=o.rules[o.rules.length-1]||null;(r=new StyleNode).start=n+1,r.parent=o,r.previous=a,o.rules.push(r)}else e[n]===CLOSE_BRACE&&(r.end=n+1,r=r.parent||t);return t}function parseCss(e,t){var r=t.substring(e.start,e.end-1);if(e.parsedCssText=e.cssText=r.trim(),e.parent){var n=e.previous?e.previous.end:e.parent.start;r=(r=(r=_expandUnicodeEscapes(r=t.substring(n,e.start-1))).replace(RX.multipleSpaces," ")).substring(r.lastIndexOf(";")+1);var s=e.parsedSelector=e.selector=r.trim();e.atRule=0===s.indexOf(AT_START),e.atRule?0===s.indexOf(MEDIA_START)?e.type=types.MEDIA_RULE:s.match(RX.keyframesRule)&&(e.type=types.KEYFRAMES_RULE,e.keyframesName=e.selector.split(RX.multipleSpaces).pop()):0===s.indexOf(VAR_START)?e.type=types.MIXIN_RULE:e.type=types.STYLE_RULE}var o=e.rules;if(o)for(var a=0,i=o.length,l=void 0;a<i&&(l=o[a]);a++)parseCss(l,t);return e}function _expandUnicodeEscapes(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,(function(){for(var e=arguments[1],t=6-e.length;t--;)e="0"+e;return"\\"+e}))}var types={STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1e3},OPEN_BRACE="{",CLOSE_BRACE="}",RX={comments:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpaces:/\s+/g},VAR_START="--",MEDIA_START="@media",AT_START="@",VAR_USAGE_START=/\bvar\(/,VAR_ASSIGN_START=/\B--[\w-]+\s*:/,COMMENTS=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,TRAILING_LINES=/^[\t ]+\n/gm;function findRegex(e,t,r){e.lastIndex=0;var n=t.substring(r).match(e);if(n){var s=r+n.index;return{start:s,end:s+n[0].length}}return null}function resolveVar(e,t,r){return e[t]?e[t]:r?executeTemplate(r,e):""}function findVarEndIndex(e,t){for(var r=0,n=t;n<e.length;n++){var s=e[n];if("("===s)r++;else if(")"===s&&--r<=0)return n+1}return n}function parseVar(e,t){var r=findRegex(VAR_USAGE_START,e,t);if(!r)return null;var n=findVarEndIndex(e,r.start),s=e.substring(r.end,n-1).split(","),o=s[0],a=s.slice(1);return{start:r.start,end:n,propName:o.trim(),fallback:a.length>0?a.join(",").trim():void 0}}function compileVar(e,t,r){var n=parseVar(e,r);if(!n)return t.push(e.substring(r,e.length)),e.length;var s=n.propName,o=null!=n.fallback?compileTemplate(n.fallback):void 0;return t.push(e.substring(r,n.start),(function(e){return resolveVar(e,s,o)})),n.end}function executeTemplate(e,t){for(var r="",n=0;n<e.length;n++){var s=e[n];r+="string"==typeof s?s:s(t)}return r}function findEndValue(e,t){for(var r=!1,n=!1,s=t;s<e.length;s++){var o=e[s];if(r)n&&'"'===o&&(r=!1),n||"'"!==o||(r=!1);else if('"'===o)r=!0,n=!0;else if("'"===o)r=!0,n=!1;else{if(";"===o)return s+1;if("}"===o)return s}}return s}function removeCustomAssigns(e){for(var t="",r=0;;){var n=findRegex(VAR_ASSIGN_START,e,r),s=n?n.start:e.length;if(t+=e.substring(r,s),!n)break;r=findEndValue(e,s)}return t}function compileTemplate(e){var t=0;e=removeCustomAssigns(e=e.replace(COMMENTS,"")).replace(TRAILING_LINES,"");for(var r=[];t<e.length;)t=compileVar(e,r,t);return r}function resolveValues(e){var t={};e.forEach((function(e){e.declarations.forEach((function(e){t[e.prop]=e.value}))}));for(var r={},n=Object.entries(t),s=function(e){var t=!1;if(n.forEach((function(e){var n=e[0],s=executeTemplate(e[1],r);s!==r[n]&&(r[n]=s,t=!0)})),!t)return"break"},o=0;o<10;o++){if("break"===s())break}return r}function getSelectors(e,t){if(void 0===t&&(t=0),!e.rules)return[];var r=[];return e.rules.filter((function(e){return e.type===types.STYLE_RULE})).forEach((function(e){var n=getDeclarations(e.cssText);n.length>0&&e.parsedSelector.split(",").forEach((function(e){e=e.trim(),r.push({selector:e,declarations:n,specificity:computeSpecificity(),nu:t})})),t++})),r}function computeSpecificity(e){return 1}var IMPORTANT="!important",FIND_DECLARATIONS=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gm;function getDeclarations(e){for(var t,r=[];t=FIND_DECLARATIONS.exec(e.trim());){var n=normalizeValue(t[2]),s=n.value,o=n.important;r.push({prop:t[1].trim(),value:compileTemplate(s),important:o})}return r}function normalizeValue(e){var t=(e=e.replace(/\s+/gim," ").trim()).endsWith(IMPORTANT);return t&&(e=e.slice(0,e.length-IMPORTANT.length).trim()),{value:e,important:t}}function getActiveSelectors(e,t,r){var n=[],s=getScopesForElement(t,e);return r.forEach((function(e){return n.push(e)})),s.forEach((function(e){return n.push(e)})),sortSelectors(getSelectorsForScopes(n).filter((function(t){return matches(e,t.selector)})))}function getScopesForElement(e,t){for(var r=[];t;){var n=e.get(t);n&&r.push(n),t=t.parentElement}return r}function getSelectorsForScopes(e){var t=[];return e.forEach((function(e){t.push.apply(t,e.selectors)})),t}function sortSelectors(e){return e.sort((function(e,t){return e.specificity===t.specificity?e.nu-t.nu:e.specificity-t.specificity})),e}function matches(e,t){return":root"===t||"html"===t||e.matches(t)}function parseCSS(e){var t=parse(e),r=compileTemplate(e);return{original:e,template:r,selectors:getSelectors(t),usesCssVars:r.length>1}}function addGlobalStyle(e,t){if(e.some((function(e){return e.styleEl===t})))return!1;var r=parseCSS(t.textContent);return r.styleEl=t,e.push(r),!0}function updateGlobalScopes(e){var t=resolveValues(getSelectorsForScopes(e));e.forEach((function(e){e.usesCssVars&&(e.styleEl.textContent=executeTemplate(e.template,t))}))}function reScope(e,t){var r=e.template.map((function(r){return"string"==typeof r?replaceScope(r,e.scopeId,t):r})),n=e.selectors.map((function(r){return __assign(__assign({},r),{selector:replaceScope(r.selector,e.scopeId,t)})}));return __assign(__assign({},e),{template:r,selectors:n,scopeId:t})}function replaceScope(e,t,r){return e=replaceAll(e,"\\.".concat(t),".".concat(r))}function replaceAll(e,t,r){return e.replace(new RegExp(t,"g"),r)}function loadDocument(e,t){return loadDocumentStyles(e,t),loadDocumentLinks(e,t).then((function(){updateGlobalScopes(t)}))}function startWatcher(e,t){"undefined"!=typeof MutationObserver&&new MutationObserver((function(){loadDocumentStyles(e,t)&&updateGlobalScopes(t)})).observe(document.head,{childList:!0})}function loadDocumentLinks(e,t){for(var r=[],n=e.querySelectorAll('link[rel="stylesheet"][href]:not([data-no-shim])'),s=0;s<n.length;s++)r.push(addGlobalLink(e,t,n[s]));return Promise.all(r)}function loadDocumentStyles(e,t){return Array.from(e.querySelectorAll("style:not([data-styles]):not([data-no-shim])")).map((function(e){return addGlobalStyle(t,e)})).some(Boolean)}function addGlobalLink(e,t,r){var n=r.href;return fetch(n).then((function(e){return e.text()})).then((function(s){if(hasCssVariables(s)&&r.parentNode){hasRelativeUrls(s)&&(s=fixRelativeUrls(s,n));var o=e.createElement("style");o.setAttribute("data-styles",""),o.textContent=s,addGlobalStyle(t,o),r.parentNode.insertBefore(o,r),r.remove()}})).catch((function(e){console.error(e)}))}var CSS_VARIABLE_REGEXP=/[\s;{]--[-a-zA-Z0-9]+\s*:/m;function hasCssVariables(e){return e.indexOf("var(")>-1||CSS_VARIABLE_REGEXP.test(e)}var CSS_URL_REGEXP=/url[\s]*\([\s]*['"]?(?!(?:https?|data)\:|\/)([^\'\"\)]*)[\s]*['"]?\)[\s]*/gim;function hasRelativeUrls(e){return CSS_URL_REGEXP.lastIndex=0,CSS_URL_REGEXP.test(e)}function fixRelativeUrls(e,t){var r=t.replace(/[^/]*$/,"");return e.replace(CSS_URL_REGEXP,(function(e,t){var n=r+t;return e.replace(t,n)}))}var CustomStyle=function(){function e(e,t){this.win=e,this.doc=t,this.count=0,this.hostStyleMap=new WeakMap,this.hostScopeMap=new WeakMap,this.globalScopes=[],this.scopesMap=new Map,this.didInit=!1}return e.prototype.i=function(){var e=this;return this.didInit||!this.win.requestAnimationFrame?Promise.resolve():(this.didInit=!0,new Promise((function(t){e.win.requestAnimationFrame((function(){startWatcher(e.doc,e.globalScopes),loadDocument(e.doc,e.globalScopes).then((function(){return t()}))}))})))},e.prototype.addLink=function(e){var t=this;return addGlobalLink(this.doc,this.globalScopes,e).then((function(){t.updateGlobal()}))},e.prototype.addGlobalStyle=function(e){addGlobalStyle(this.globalScopes,e)&&this.updateGlobal()},e.prototype.createHostStyle=function(e,t,r,n){if(this.hostScopeMap.has(e))throw new Error("host style already created");var s=this.registerHostTemplate(r,t,n),o=this.doc.createElement("style");return o.setAttribute("data-no-shim",""),s.usesCssVars?n?(o["s-sc"]=t="".concat(s.scopeId,"-").concat(this.count),o.textContent="/*needs update*/",this.hostStyleMap.set(e,o),this.hostScopeMap.set(e,reScope(s,t)),this.count++):(s.styleEl=o,s.usesCssVars||(o.textContent=executeTemplate(s.template,{})),this.globalScopes.push(s),this.updateGlobal(),this.hostScopeMap.set(e,s)):o.textContent=r,o},e.prototype.removeHost=function(e){var t=this.hostStyleMap.get(e);t&&t.remove(),this.hostStyleMap.delete(e),this.hostScopeMap.delete(e)},e.prototype.updateHost=function(e){var t=this.hostScopeMap.get(e);if(t&&t.usesCssVars&&t.isScoped){var r=this.hostStyleMap.get(e);if(r){var n=resolveValues(getActiveSelectors(e,this.hostScopeMap,this.globalScopes));r.textContent=executeTemplate(t.template,n)}}},e.prototype.updateGlobal=function(){updateGlobalScopes(this.globalScopes)},e.prototype.registerHostTemplate=function(e,t,r){var n=this.scopesMap.get(t);return n||((n=parseCSS(e)).scopeId=t,n.isScoped=r,this.scopesMap.set(t,n)),n},e}();!function(e){!e||e.__cssshim||e.CSS&&e.CSS.supports&&e.CSS.supports("color","var(--c)")||(e.__cssshim=new CustomStyle(e,e.document))}("undefined"!=typeof window&&window);
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-9654537d.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-d8718abe.js';
2
2
 
3
- const tttxButtonCss = ".material-symbols-rounded{font-variation-settings:\"FILL\" 1, \"wght\" 400, \"GRAD\" 0, \"opsz\" 24}.button{height:36px;padding:8px 16px;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:hover{background:#f0f0f0}.button:active{background:#e3e3e3}.primary-blue{background:#1479c6;border:1px solid #1479c6}.primary-blue:hover{background:#1169ba}.primary-blue:active{background:#0951a8}.secondary-white{background:white;border:1px solid #212121}:host{display:inline-block}.spacingleft{margin-left:8px}.font-white{color:white}.font-black{color:#212121}";
3
+ const tttxButtonCss = ".material-symbols-rounded{font-variation-settings:\"FILL\" 1, \"wght\" 400, \"GRAD\" 0, \"opsz\" 24}.button{height:36px;padding:8px 16px;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:hover{background:#f0f0f0}.button:active{background:#e3e3e3}.primary-blue{background:#1479c6;border:1px solid #1479c6;color:white}.primary-blue:hover{background:#1169ba}.primary-blue:active{background:#0951a8}.secondary-white{background:white;border:1px solid #212121}:host{display:inline-block}.spacingleft{margin-left:8px}.font-white{color:white}.font-black{color:#212121}";
4
4
 
5
5
  const TttxButton = class {
6
6
  constructor(hostRef) {
@@ -1,6 +1,6 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-9654537d.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-d8718abe.js';
2
2
 
3
- const tttxCheckboxCss = ".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}.field{clear:both}.container{display:flex;flex-wrap:wrap;box-sizing:border-box;height:36px;border:1px solid #c8c8c8;border-radius:4px}.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}.input{flex-grow:1;border:none;outline:none;font-size:16px;padding:8px 16px;background-color:transparent}.iconleft .input{padding-left:4px}.iconright .input{padding-right:4px}.label{display:block;height:18px;font-weight:600;color:#212121;font-size:16px;margin-bottom:4px;z-index:1}.disabled{background:#f0f0f0;color:#9e9e9e;border-color:#c8c8c8}.focused{border-color:#1479c6}.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}:host{display:block}.spacing{margin-bottom:16px}";
3
+ const tttxCheckboxCss = ".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;margin-right:4px}.icon-left{margin-top:5px;margin-left:4px}.iconleft .input{padding-left:4px}.iconright .input{padding-right:4px}.focused{border-color:#1479c6}.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{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}input.invalid:invalid,input.standalone.invalid{border:1px solid #dc0000}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}:host{display:block}.spacing{margin-bottom:16px}";
4
4
 
5
5
  const TttxCheckbox = class {
6
6
  constructor(hostRef) {
@@ -16,7 +16,7 @@ const TttxCheckbox = class {
16
16
  this.valueChanged.emit(target.checked);
17
17
  }
18
18
  render() {
19
- return (h(Host, null, h("div", { class: "field spacing" }, this.label && h("label", { class: "label" }, this.label, !this.required ? h("span", { class: "optional" }, " (optional)") : ''), h("input", { type: "checkbox", class: "input", onChange: event => this.handleClick(event), checked: this.value }))));
19
+ return (h(Host, null, h("div", { class: "field spacing" }, this.label && (h("label", { class: "label" }, this.label, !this.required ? h("span", { class: "optional" }, " (optional)") : '')), h("input", { type: "checkbox", class: "input", onChange: event => this.handleClick(event), checked: this.value }))));
20
20
  }
21
21
  };
22
22
  TttxCheckbox.style = tttxCheckboxCss;
@@ -1,54 +1,182 @@
1
- import { r as registerInstance, c as createEvent, h, g as getElement } from './index-9654537d.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-d8718abe.js';
2
+
3
+ const tttxFormCss = ".material-symbols-rounded{font-variation-settings:\"FILL\" 1, \"wght\" 400, \"GRAD\" 0, \"opsz\" 24}.material-symbols-rounded{font-family:\"Material Symbols Rounded\", sans-serif;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:#9e9e9e}.icon-left,.icon-right{flex-basis:24px}.icon-left span,.icon-right span{font-size:24px;line-height:24px;text-align:center;display:block;width:24px;height:24px;margin-top:4px}.icon-left span{margin-left:4px}.icon-right span{margin-right:4px}.icon-right{margin-top:5px;margin-right:4px}.icon-left{margin-top:5px;margin-left:4px}.iconleft .input{padding-left:4px}.iconright .input{padding-right:4px}.focused{border-color:#1479c6}.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{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}input.invalid:invalid,input.standalone.invalid{border:1px solid #dc0000}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}.button{height:36px;padding:8px 16px;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:hover{background:#f0f0f0}.button:active{background:#e3e3e3}.primary-blue{background:#1479c6;border:1px solid #1479c6;color:white}.primary-blue:hover{background:#1169ba}.primary-blue:active{background:#0951a8}.secondary-white{background:white;border:1px solid #212121}:host{display:block}fieldset{margin:0;padding:0;border:none}input[type=submit]{margin-left:auto}";
2
4
 
3
5
  const TttxForm = class {
4
6
  constructor(hostRef) {
5
7
  registerInstance(this, hostRef);
6
- this.formSubmit = createEvent(this, "formSubmit", 7);
7
- this.fetchFormData = () => {
8
- let validForm = true;
9
- const formData = {};
10
- const elements = this.el.querySelectorAll(`[${this.dataAttribute}]`);
11
- elements.forEach((element) => {
12
- const inputElement = element;
13
- validForm = validForm ? this.validateFormField(inputElement) : false;
14
- formData[inputElement.getAttribute(this.dataAttribute)] = inputElement.value;
15
- });
16
- return validForm ? formData : null;
17
- };
18
- this.dataAttribute = 'form-data';
19
- this.functionAttribute = 'function-data';
20
- }
21
- validateFormField(element) {
22
- let isValid = true;
23
- const isRequired = element.hasAttribute("required");
24
- if (isRequired && !element.value) {
25
- // required and not set, show error
26
- element.setAttribute("showerrormsg", "true");
27
- isValid = false;
8
+ this.submitEvent = createEvent(this, "submitEvent", 7);
9
+ this.template = document.createElement('template');
10
+ this.formschema = undefined;
11
+ this.submitValue = undefined;
12
+ }
13
+ onFormSchemaChange(newValue) {
14
+ if (typeof newValue === 'string') {
15
+ this._formSchema = JSON.parse(newValue);
16
+ }
17
+ else {
18
+ this._formSchema = newValue;
19
+ }
20
+ }
21
+ validityCheck(event) {
22
+ var _a, _b, _c, _d;
23
+ event.preventDefault();
24
+ const target = event.target;
25
+ let hasError = true;
26
+ let errorMessage = '';
27
+ // validity object on HTML5 inputs has the following options
28
+ // badInput
29
+ // customError
30
+ // patternMismatch
31
+ // rangeOverflow
32
+ // rangeUnderflow
33
+ // stepMismatch
34
+ // tooLong
35
+ // tooShort
36
+ // typeMismatch
37
+ // valid
38
+ // valueMissing
39
+ // customErrors can be set with
40
+ // target.setCustomValidity('custom error!');
41
+ // and cleared with
42
+ // target.setCustomValidity('');
43
+ if (target.validity.valueMissing) {
44
+ errorMessage = (_a = target.dataset.required) !== null && _a !== void 0 ? _a : 'This field is required';
45
+ }
46
+ else if (target.validity.patternMismatch) {
47
+ errorMessage = (_b = target.dataset.pattern) !== null && _b !== void 0 ? _b : 'Incorrect format';
48
+ }
49
+ else if (target.validity.badInput) {
50
+ // IE string in a number field
51
+ errorMessage = (_c = target.dataset.badinput) !== null && _c !== void 0 ? _c : 'Wrong input type';
52
+ }
53
+ else if (target.validity.rangeOverflow || target.validity.rangeUnderflow) {
54
+ // IE date or number is above or below value set in min or max tags
55
+ errorMessage = (_d = target.dataset.range) !== null && _d !== void 0 ? _d : 'Invalid value';
56
+ }
57
+ else {
58
+ // no error
59
+ hasError = false;
60
+ }
61
+ if (hasError) {
62
+ target.className = 'invalid';
63
+ const errorIcon = document.createElement('span');
64
+ errorIcon.className = 'material-symbols-rounded';
65
+ errorIcon.textContent = 'warning';
66
+ target.parentElement.querySelector('.errorBubble').replaceChildren();
67
+ target.parentElement.querySelector('.errorBubble').append(errorIcon);
68
+ target.parentElement.querySelector('.errorBubble').append(errorMessage);
28
69
  }
29
70
  else {
30
- // required and set, ensure error does not show
31
- element.removeAttribute("showerrormsg");
32
- }
33
- return isValid;
34
- }
35
- componentDidLoad() {
36
- const elements = this.el.querySelectorAll(`[${this.functionAttribute}]`);
37
- elements.forEach((element) => {
38
- element.addEventListener('click', event => {
39
- event.preventDefault();
40
- const formData = this.fetchFormData();
41
- if (formData) {
42
- // only emit event if form data is valid
43
- this.formSubmit.emit(this.fetchFormData());
71
+ target.className = '';
72
+ target.parentElement.querySelector('.errorBubble').replaceChildren();
73
+ }
74
+ }
75
+ doSubmit(event) {
76
+ event.preventDefault();
77
+ const formData = new FormData(event.target);
78
+ // Key value pair matching the key names given by the JSON schema will be output line by line
79
+ // TODO: Emit an event so external components can handle the resulting form data
80
+ // let output = "";
81
+ // for (var [key, value] of formData.entries()) {
82
+ // output += `${key} -> ${value}\n`;
83
+ // }
84
+ // console.log(output);
85
+ this.submitEvent.emit(formData);
86
+ }
87
+ fieldsetChange(event) {
88
+ console.log(event.target.name + ' has changed');
89
+ // The correct input box will always be the target of the incoming event
90
+ // TODO: Emit an event so external components can change based on form values input
91
+ }
92
+ componentWillLoad() {
93
+ // set proper on initial render
94
+ this.onFormSchemaChange(this.formschema);
95
+ }
96
+ componentWillRender() {
97
+ this.template.content.replaceChildren(); // clear the template to account for a potential re-render scenario
98
+ this.populateFormFromSchema();
99
+ }
100
+ populateFormFromSchema() {
101
+ if (!this._formSchema)
102
+ return;
103
+ const properties = this._formSchema.properties;
104
+ const propertyKeys = Object.keys(properties);
105
+ propertyKeys.forEach(formKey => {
106
+ var _a, _b, _c;
107
+ const formItem = properties[formKey];
108
+ const formProperties = formItem.form;
109
+ const input = document.createElement('input');
110
+ input.name = formKey;
111
+ input.type = formProperties.type;
112
+ input.placeholder = (_a = formProperties.placeholder) !== null && _a !== void 0 ? _a : '';
113
+ input.autocomplete = 'off';
114
+ input.autocapitalize = 'off';
115
+ if (formProperties.validation) {
116
+ const validation = formProperties.validation;
117
+ if (validation.required) {
118
+ input.setAttribute('required', '');
119
+ input.setAttribute('data-required', (_b = validation.required.message) !== null && _b !== void 0 ? _b : '');
44
120
  }
45
- });
121
+ if (validation.pattern) {
122
+ input.setAttribute('pattern', validation.pattern.pattern);
123
+ input.setAttribute('data-pattern', (_c = validation.pattern.message) !== null && _c !== void 0 ? _c : '');
124
+ }
125
+ if (validation.badInput) {
126
+ input.setAttribute('data-badinput', validation.badInput.message);
127
+ }
128
+ if (validation.minmax) {
129
+ input.setAttribute('min', validation.minmax.min);
130
+ input.setAttribute('max', validation.minmax.max);
131
+ input.setAttribute('data-range', validation.minmax.message);
132
+ }
133
+ if (validation.maxlength) {
134
+ input.setAttribute('maxlength', validation.maxlength);
135
+ }
136
+ }
137
+ const errorBubble = document.createElement('div');
138
+ errorBubble.className = 'errorBubble';
139
+ const label = document.createElement('label');
140
+ label.className = 'inputBlock';
141
+ label.innerText = formProperties.label;
142
+ if (!formProperties.validation) {
143
+ const optionalSpan = document.createElement('span');
144
+ optionalSpan.className = 'optional';
145
+ optionalSpan.innerHTML = '&nbsp;(optional)';
146
+ label.appendChild(optionalSpan);
147
+ }
148
+ label.appendChild(input);
149
+ label.appendChild(errorBubble);
150
+ this.template.content.append(label);
151
+ });
152
+ const submitButton = document.createElement('input');
153
+ submitButton.type = 'submit';
154
+ submitButton.className = 'button primary-blue';
155
+ console.log(this.submitValue);
156
+ submitButton.value = 'Save';
157
+ this.template.content.append(submitButton);
158
+ }
159
+ componentDidRender() {
160
+ if (!this._formSchema)
161
+ return;
162
+ const formItems = this.template.content.cloneNode(true);
163
+ // bind to events here as you can't do it in a template in stencil
164
+ const properties = this._formSchema.properties;
165
+ const propertyKeys = Object.keys(properties);
166
+ propertyKeys.forEach(formKey => {
167
+ formItems.querySelector(`[name=${formKey}]`).oninvalid = this.validityCheck.bind(this);
168
+ formItems.querySelector(`[name=${formKey}]`).onblur = this.validityCheck.bind(this);
46
169
  });
170
+ // append to the fieldset
171
+ this.fieldset.appendChild(formItems);
47
172
  }
48
173
  render() {
49
- return (h("div", null, h("slot", null)));
174
+ return (h(Host, null, h("form", { onSubmit: this.doSubmit.bind(this) }, h("fieldset", { onChange: this.fieldsetChange, ref: el => (this.fieldset = el) }))));
50
175
  }
51
- get el() { return getElement(this); }
52
- };
176
+ static get watchers() { return {
177
+ "formschema": ["onFormSchemaChange"]
178
+ }; }
179
+ };
180
+ TttxForm.style = tttxFormCss;
53
181
 
54
182
  export { TttxForm as tttx_form };
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-9654537d.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-d8718abe.js';
2
2
 
3
3
  var top = 'top';
4
4
  var bottom = 'bottom';
@@ -1797,7 +1797,7 @@ var createPopper = /*#__PURE__*/popperGenerator({
1797
1797
  defaultModifiers: defaultModifiers
1798
1798
  }); // eslint-disable-next-line import/no-unused-modules
1799
1799
 
1800
- 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:block}.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}.orange{color:#F59500}.blue{color:#1479c6}.green{color:#A2BB31}.gray{color:#757575}.black{color:#212121}.white{color:white}.clickable{cursor:pointer}";
1800
+ 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:block}.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}.orange{color:#f59500}.blue{color:#1479c6}.green{color:#a2bb31}.gray{color:#757575}.black{color:#212121}.white{color:white}.clickable{cursor:pointer}";
1801
1801
 
1802
1802
  const TttxIcon = class {
1803
1803
  constructor(hostRef) {