q2-tecton-elements 1.52.3 → 1.53.1

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 (154) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +7 -3
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/q2-badge_7.cjs.entry.js +8 -0
  5. package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
  6. package/dist/cjs/q2-dropdown.cjs.entry.js +9 -11
  7. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-editable-field.cjs.entry.js +6 -7
  9. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-file-picker.cjs.entry.js +236 -0
  11. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -0
  12. package/dist/cjs/q2-item_3.cjs.entry.js +250 -0
  13. package/dist/cjs/q2-item_3.cjs.entry.js.map +1 -0
  14. package/dist/cjs/q2-pill.cjs.entry.js +7 -3
  15. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  16. package/dist/cjs/q2-select.cjs.entry.js +6 -5
  17. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  18. package/dist/cjs/q2-tag.cjs.entry.js +3 -1
  19. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  20. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  21. package/dist/cjs/q2-textarea.cjs.entry.js +2 -1
  22. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  23. package/dist/collection/collection-manifest.json +1 -0
  24. package/dist/collection/components/q2-btn/q2-btn.js +4 -0
  25. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  26. package/dist/collection/components/q2-dropdown/q2-dropdown.js +9 -11
  27. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  28. package/dist/collection/components/q2-editable-field/q2-editable-field.js +12 -7
  29. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  30. package/dist/collection/components/q2-file-picker/q2-file-picker.css +288 -0
  31. package/dist/collection/components/q2-file-picker/q2-file-picker.js +426 -0
  32. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -0
  33. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js +11 -0
  34. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -0
  35. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js +435 -0
  36. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -0
  37. package/dist/collection/components/q2-icon/q2-icon.js +4 -0
  38. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  39. package/dist/collection/components/q2-item/q2-item.css +3 -0
  40. package/dist/collection/components/q2-list/q2-list.css +6 -0
  41. package/dist/collection/components/q2-pill/q2-pill.js +7 -3
  42. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  43. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js +108 -0
  44. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  45. package/dist/collection/components/q2-popover/q2-popover.js +7 -3
  46. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  47. package/dist/collection/components/q2-select/q2-select.js +6 -5
  48. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  49. package/dist/collection/components/q2-tag/q2-tag.js +3 -1
  50. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  51. package/dist/collection/components/q2-textarea/q2-textarea.js +2 -1
  52. package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
  53. package/dist/components/index.js +2 -0
  54. package/dist/components/index.js.map +1 -1
  55. package/dist/components/q2-btn2.js +4 -0
  56. package/dist/components/q2-btn2.js.map +1 -1
  57. package/dist/components/q2-dropdown.js +9 -11
  58. package/dist/components/q2-dropdown.js.map +1 -1
  59. package/dist/components/q2-editable-field.js +7 -8
  60. package/dist/components/q2-editable-field.js.map +1 -1
  61. package/dist/components/q2-file-picker.d.ts +11 -0
  62. package/dist/components/q2-file-picker.js +301 -0
  63. package/dist/components/q2-file-picker.js.map +1 -0
  64. package/dist/components/q2-icon2.js +4 -0
  65. package/dist/components/q2-icon2.js.map +1 -1
  66. package/dist/components/q2-item.js +1 -130
  67. package/dist/components/q2-item.js.map +1 -1
  68. package/dist/{esm/q2-item.entry.js → components/q2-item2.js} +29 -11
  69. package/dist/components/q2-item2.js.map +1 -0
  70. package/dist/components/q2-link.js +1 -86
  71. package/dist/components/q2-link.js.map +1 -1
  72. package/dist/{esm/q2-link.entry.js → components/q2-link2.js} +39 -9
  73. package/dist/components/q2-link2.js.map +1 -0
  74. package/dist/components/q2-list.js +1 -94
  75. package/dist/components/q2-list.js.map +1 -1
  76. package/dist/{esm/q2-list.entry.js → components/q2-list2.js} +30 -11
  77. package/dist/components/q2-list2.js.map +1 -0
  78. package/dist/components/q2-pill.js +7 -3
  79. package/dist/components/q2-pill.js.map +1 -1
  80. package/dist/components/q2-popover2.js +7 -3
  81. package/dist/components/q2-popover2.js.map +1 -1
  82. package/dist/components/q2-select2.js +6 -5
  83. package/dist/components/q2-select2.js.map +1 -1
  84. package/dist/components/q2-tag.js +3 -1
  85. package/dist/components/q2-tag.js.map +1 -1
  86. package/dist/components/q2-textarea.js +2 -1
  87. package/dist/components/q2-textarea.js.map +1 -1
  88. package/dist/esm/click-elsewhere_2.entry.js +7 -3
  89. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  90. package/dist/esm/loader.js +1 -1
  91. package/dist/esm/q2-badge_7.entry.js +8 -0
  92. package/dist/esm/q2-badge_7.entry.js.map +1 -1
  93. package/dist/esm/q2-dropdown.entry.js +9 -11
  94. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  95. package/dist/esm/q2-editable-field.entry.js +6 -7
  96. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  97. package/dist/esm/q2-file-picker.entry.js +232 -0
  98. package/dist/esm/q2-file-picker.entry.js.map +1 -0
  99. package/dist/esm/q2-item_3.entry.js +244 -0
  100. package/dist/esm/q2-item_3.entry.js.map +1 -0
  101. package/dist/esm/q2-pill.entry.js +7 -3
  102. package/dist/esm/q2-pill.entry.js.map +1 -1
  103. package/dist/esm/q2-select.entry.js +6 -5
  104. package/dist/esm/q2-select.entry.js.map +1 -1
  105. package/dist/esm/q2-tag.entry.js +3 -1
  106. package/dist/esm/q2-tag.entry.js.map +1 -1
  107. package/dist/esm/q2-tecton-elements.js +1 -1
  108. package/dist/esm/q2-textarea.entry.js +2 -1
  109. package/dist/esm/q2-textarea.entry.js.map +1 -1
  110. package/dist/q2-tecton-elements/click-elsewhere_2.entry.js +30 -24
  111. package/dist/q2-tecton-elements/click-elsewhere_2.entry.js.map +1 -1
  112. package/dist/q2-tecton-elements/q2-badge_7.entry.js +8 -0
  113. package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
  114. package/dist/q2-tecton-elements/q2-dropdown.entry.js +13 -15
  115. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  116. package/dist/q2-tecton-elements/q2-editable-field.entry.js +32 -23
  117. package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
  118. package/dist/q2-tecton-elements/q2-file-picker.entry.js +338 -0
  119. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -0
  120. package/dist/q2-tecton-elements/q2-item_3.entry.js +331 -0
  121. package/dist/q2-tecton-elements/q2-item_3.entry.js.map +1 -0
  122. package/dist/q2-tecton-elements/q2-pill.entry.js +22 -18
  123. package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -1
  124. package/dist/q2-tecton-elements/q2-select.entry.js +8 -8
  125. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  126. package/dist/q2-tecton-elements/q2-tag.entry.js +36 -34
  127. package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -1
  128. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  129. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  130. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -2
  131. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  132. package/dist/types/components/q2-btn/q2-btn.d.ts +1 -0
  133. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +1 -4
  134. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +2 -1
  135. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +98 -0
  136. package/dist/types/components/q2-icon/q2-icon.d.ts +1 -0
  137. package/dist/types/components/q2-pill/q2-pill.d.ts +1 -1
  138. package/dist/types/components.d.ts +101 -0
  139. package/package.json +3 -3
  140. package/dist/cjs/q2-item.cjs.entry.js +0 -120
  141. package/dist/cjs/q2-item.cjs.entry.js.map +0 -1
  142. package/dist/cjs/q2-link.cjs.entry.js +0 -64
  143. package/dist/cjs/q2-link.cjs.entry.js.map +0 -1
  144. package/dist/cjs/q2-list.cjs.entry.js +0 -83
  145. package/dist/cjs/q2-list.cjs.entry.js.map +0 -1
  146. package/dist/esm/q2-item.entry.js.map +0 -1
  147. package/dist/esm/q2-link.entry.js.map +0 -1
  148. package/dist/esm/q2-list.entry.js.map +0 -1
  149. package/dist/q2-tecton-elements/q2-item.entry.js +0 -158
  150. package/dist/q2-tecton-elements/q2-item.entry.js.map +0 -1
  151. package/dist/q2-tecton-elements/q2-link.entry.js +0 -83
  152. package/dist/q2-tecton-elements/q2-link.entry.js.map +0 -1
  153. package/dist/q2-tecton-elements/q2-list.entry.js +0 -100
  154. package/dist/q2-tecton-elements/q2-list.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"file":"q2-tag.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,QAAQ,GAAG,49FAA49F,CAAC;AAC9+F,oBAAe,QAAQ;;MCiBV,KAAK;;;;;QA6Jd,yBAAoB,GAAG;YACnB,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;YAC9E,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;SACtC,CAAC;QAEF,yBAAoB,GAAG,OAAO,KAAiB;YAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,aAAuC,CAAC;YACpE,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,MAAK,WAAW;gBAAE,OAAO;YACnD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SACrB,CAAC;QAEF,iBAAY,GAAG,KAAK;YAChB,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,CAAC,WAAW;gBAAE,OAAO;YAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;YAE/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SAC9B,CAAC;QAEF,gBAAW,GAAG,OAAO,KAAiB;YAClC,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC;YACtD,IAAIA,iCAAqB,CAAC,IAAI,CAAC,EAAE;gBAC7B,MAAM,EAAE,KAAK,EAAE,GAAG,MAAMC,+BAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACzD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aAC9B;iBAAM;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;aACtC;SACJ,CAAC;QAEF,kBAAa,GAAG,OAAO,KAAoB;YACvC,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC;YAC9E,IAAI,eAAe;gBAAE,OAAO;YAE5B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,cAAc,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC;YACtD,IAAID,iCAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;gBACpC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAMC,+BAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACzD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;aAC9B;iBAAM;gBACH,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;aAChD;SACJ,CAAC;QAEF,uBAAkB,GAAG;YACjB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;SAC5B,CAAC;QAEF,qBAAgB,GAAG,CAAC,KAAkB;YAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAmC,CAAC;YACzD,IAAI,MAAM,CAAC,SAAS,KAAK,iBAAiB,EAAE;gBACxC,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,cAAc;oBAAE,OAAO;gBAC5B,cAAc,CAAC,IAAI,GAAG,KAAK,CAAC;aAC/B;SACJ,CAAC;;qBAzLe,CAAC,EAAC,MAAA,MAAM,CAAC,MAAM,0CAAE,eAAe,CAAA;;;+BAmBvB,SAAS;gCAIE,OAAO;;;gCAkBjB,GAAG;;;;;IAoB9B,oBAAoB;;QAChB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;KAChC;IAED,iBAAiB;QACb,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;KACpC;IAED,gBAAgB;QACZC,qBAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACnC;;;IAMD,aAAa,CAAC,KAAiB;QAC3B,IAAI,CAACC,0BAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO;QACzD,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;KAC5B;IAGD,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAkC;QACpE,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACzC,IAAI,IAAI;YAAE,OAAO;QACjB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KAC1C;;;IAMD,MAAM,YAAY;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QAC5C,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;IAGD,MAAM,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;KACzB;IAGD,MAAM,YAAY,CAAC,KAAK;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAC9B,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,MAAMC,wBAAgB,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACtD,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACxE,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,EAAE,CAAC;KAC1B;;;IAKD,cAAc;QACV,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QAC7B,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE,CAAC;QACrB,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE,CAAC;QACrB,WAAW,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;KACtD;;;IAgED,mBAAmB;QACf,QACIC,iBACI,EAAE,EAAC,oBAAoB,EACvB,KAAK,EAAC,IAAI,iBACE,MAAM,IAEjBC,WAAG,CAAC,uCAAuC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAC/D,EACR;KACL;IAED,MAAM;QACF,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,iBAAiB,GAAG,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,WAAW;YAAE,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEvD,QACID,QAACE,UAAI,qDAAC,IAAI,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,MAAM,GAAG,SAAS,IACjDF,8EAAiB,QAAQ,EAAE,IAAI,CAAC,gBAAgB,IAC3C,IAAI,CAAC,WAAW,IACbA,QAACG,cAAQ,QACLH,iBACI,KAAK,EAAC,aAAa,EACnB,OAAO,EAAE,IAAI,CAAC,kBAAkB,IAEhCA,oBACI,KAAK,EAAC,aAAa,EACnB,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,aAC1B,aAAa,EACrB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,UAAU,EAAE,IAAI,CAAC,oBAAoB,mBACvB,aAAa,mBACZ,IAAI,GAAG,MAAM,GAAG,OAAO,sBACrB,oBAAoB,IAErCA,iBAAK,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAG,IAAI,CAAC,KAAK,CAAO,EAC3DA,qBAAS,IAAI,EAAC,SAAS,GAAW,CAC7B,CACP,EACL,IAAI,CAAC,mBAAmB,EAAE,CACpB,KAEXA,iBACI,KAAK,EAAC,aAAa,EACnB,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,IAEjCA,iBAAK,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAG,IAAI,CAAC,KAAK,CAAO,CACzD,CACT,EAEA,IAAI,CAAC,WAAW,GAAG,CAAC,KACjBA,yEACI,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,EACrC,cAAc,EAAE,IAAI,CAAC,WAAW,EAChC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAChC,KAAK,EAAE,IAAI,CAAC,gBAAgB,IAE5BA,6EACI,EAAE,EAAC,aAAa,EAChB,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EACjC,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,OAAO,EACb,KAAK,EAAEC,WAAG,CAAC,iCAAiC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,uBAGrED,oEAAQ,CACK,CACR,CAChB,CACa,CACf,EACT;KACL;;;;;;;","names":["shouldShowActionSheet","showActionSheetList","overrideFocus","isEventFromElement","waitForNextPaint","h","loc","Host","Fragment"],"sources":["src/components/q2-tag/q2-tag.scss?tag=q2-tag&encapsulation=shadow","src/components/q2-tag/q2-tag.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-block;\n position: relative;\n line-height: 0;\n}\n\n:host(:not(:last-child)) {\n margin-inline-end: var-list(var-prefixer(tag-margin), --app-scale-2x, 10px);\n}\n\n.tag-wrapper {\n --comp-tag-btn-size: #{var-list(var-prefixer(tag-btn-size), --app-scale-6x, 30px)};\n --comp-tag-background: #{var-list(var-prefixer(tag-background), --t-gray-13, #e6e6e6)};\n --comp-tag-color: #{var-list(var-prefixer(tag-color), --t-gray-3, #262626)};\n background: var(--comp-tag-background);\n color: var(--comp-tag-color);\n border-radius: var-list(var-prefixer(tag-border-radius), --app-border-radius-1, 4px);\n position: relative;\n\n :host([theme='primary']) & {\n --comp-tag-background: #{var-list(--tct-tag-primary-background, --t-primary, #0079c1)};\n --comp-tag-color: #{var-list(--tct-tag-primary-font-color, --t-primary-text, #ffffff)};\n }\n\n :host([theme='secondary']) & {\n --comp-tag-background: #{var-list(--tct-tag-secondary-background, --t-secondary, #b3c2cc)};\n --comp-tag-color: #{var-list(--tct-tag-secondary-font-color, --t-secondary-text, #141414)};\n }\n\n :host([theme='tertiary']) & {\n --comp-tag-background: #{var-list(--tct-tag-tertiary-background, --t-tertiary, #e8f5fc)};\n --comp-tag-color: #{var-list(--tct-tag-tertiary-font-color, --t-tertiary-text, #141414)};\n }\n}\n\n.tag {\n display: flex;\n width: max-content;\n height: var-list(var-prefixer(tag-height), --app-scale-6x, 30px);\n line-height: var-list(var-prefixer(tag-height), --app-scale-6x, 30px);\n padding-inline: var-list(var-prefixer(tag-padding-inline), --app-scale-3x, 15px);\n}\n\n.tag.has-options {\n padding-right: 6px;\n}\n\n.btn-wrapper {\n --comp-tag-clickable-size: #{var-list(var-prefixer(tag-clickable-size), 44px)};\n --comp-tag-btn-offset: calc(calc(calc(var(--comp-tag-clickable-size) - var(--comp-tag-btn-size)) / 2) * -1);\n --comp-tag-background: #{var-list(var-prefixer(tag-background), --t-gray-13, #e6e6e6)};\n height: var(--comp-tag-clickable-size);\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n right: var(--comp-tag-btn-offset);\n top: var(--comp-tag-btn-offset);\n cursor: pointer;\n}\n\nbutton {\n height: var(--comp-tag-btn-size);\n stroke: var(--comp-tag-color);\n --tct-icon-stroke-primary: var(--comp-tag-color);\n cursor: pointer;\n border: 0;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n padding-right: 6px;\n --tct-icon-size: 18px;\n}\n","import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Host,\n Listen,\n Method,\n Element,\n EventEmitter,\n Event,\n Fragment,\n} from '@stencil/core';\nimport { isEventFromElement, loc, overrideFocus, waitForNextPaint } from 'src/utils';\nimport { shouldShowActionSheet, showActionSheetList } from 'src/utils/action-sheet';\n\n@Component({ tag: 'q2-tag', shadow: true, styleUrl: 'q2-tag.scss' })\nexport class Q2Tag implements ComponentInterface {\n // #region Own Properties\n\n dropdownBtn: HTMLButtonElement;\n mutationObserver: MutationObserver;\n optionList: HTMLQ2OptionListElement;\n popoverElement: HTMLQ2PopoverElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n optionCount: number;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Instructs the component to use the action sheet workflow for displaying its options.\n *\n * For more information, see [Action Sheets](https://tecton.q2developer.com/guides/action-sheets/).\n */\n @Prop()\n hoist: boolean = !!window.Tecton?.useActionSheets;\n\n /**\n * The text that populates the label.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /**\n * Determine whether the popover is open or closed.\n *\n * @readonly\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean;\n\n /** Determines the label that is applied to the option list for accessibility purposes. */\n @Prop()\n optionListLabel: string = 'options';\n\n /** Aligns the popover dropdown to the left or right side of the input field. */\n @Prop({ mutable: true })\n popoverAlignment: 'left' | 'right' = 'right';\n\n /**\n * Force the direction of the popover dropdown when it opens.\n * If no value is passed, the component will auto-detect the direction based on available space.\n */\n @Prop()\n popoverDirection: 'up' | 'down';\n\n /**\n * Force the maximum height of the popover. This value will be interpreted as pixels.\n * If no value is passed, or the value exceeds available space, the component will auto-detect the maximum height based on available space.\n */\n @Prop()\n popoverMaxHeight: number;\n\n /** @deprecated */\n @Prop()\n popoverMinHeight: number = 150;\n\n /** The color of the element. */\n @Prop({ reflect: true })\n theme: 'primary' | 'secondary' | 'tertiary';\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when a provided option is clicked.\n *\n * Requires at least one option to be provided.\n */\n @Event()\n click: EventEmitter<{ value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.mutationObserver = null;\n }\n\n componentWillLoad() {\n const observer = new MutationObserver(this.determineOptionCount);\n observer.observe(this.hostElement, { childList: true, attributes: true });\n this.mutationObserver = observer;\n }\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n if (!this.optionCount) return;\n this.dropdownBtn.focus();\n }\n\n @Listen('popoverStateChanged')\n popoverStateHandler({ detail: { open } }: CustomEvent<{ open: boolean }>) {\n if (this.open !== open) this.open = open;\n if (open) return;\n this.optionList.setActiveElement(null);\n }\n\n // #endregion\n // #region Public Methods API\n\n @Method()\n async closePopover() {\n if (!this.optionCount || !this.open) return;\n this._togglePopover();\n }\n\n @Method()\n async openPopover() {\n if (!this.optionCount || this.open) return;\n this._togglePopover();\n }\n\n @Method()\n async selectOption(value) {\n if (!this.optionCount) return;\n await this.openPopover();\n await waitForNextPaint();\n const allOptions = await this.optionList.getOptions();\n const desiredOption = allOptions.find(option => option.value === value);\n desiredOption?.click();\n }\n\n // #endregion\n // #region Local Methods\n\n _togglePopover() {\n const { dropdownBtn } = this;\n dropdownBtn?.click();\n dropdownBtn?.focus();\n dropdownBtn.dispatchEvent(new FocusEvent('focus'));\n }\n\n determineOptionCount = () => {\n const numberOfOptions = this.hostElement.querySelectorAll('q2-option').length;\n this.optionCount = numberOfOptions;\n };\n\n handleButtonFocusout = async (event: FocusEvent) => {\n const relatedTarget = event.relatedTarget as unknown as HTMLElement;\n if (relatedTarget?.tagName === 'Q2-OPTION') return;\n this.open = false;\n };\n\n handleChange = event => {\n event.stopPropagation();\n if (!this.optionCount) return;\n const { value } = event.detail;\n\n this.click.emit({ value });\n };\n\n handleClick = async (event: MouseEvent) => {\n event.stopPropagation();\n this.popoverElement.controlElement = this.dropdownBtn;\n if (shouldShowActionSheet(this)) {\n const { value } = await showActionSheetList(this, event);\n this.click.emit({ value });\n } else {\n await this.popoverElement.toggle();\n }\n };\n\n handleKeydown = async (event: KeyboardEvent) => {\n const isTabMetaOrCtrl = event.metaKey || event.ctrlKey || event.key === 'Tab';\n if (isTabMetaOrCtrl) return;\n\n event.preventDefault();\n this.popoverElement.controlElement = this.dropdownBtn;\n if (shouldShowActionSheet(this, event)) {\n const { value } = await showActionSheetList(this, event);\n this.click.emit({ value });\n } else {\n this.optionList.handleExternalKeydown(event);\n }\n };\n\n handleWrapperClick = () => {\n this.dropdownBtn.focus();\n this.dropdownBtn.click();\n };\n\n onClickElsewhere = (event: CustomEvent) => {\n const target = event.target as HTMLClickElsewhereElement;\n if (target.localName === 'click-elsewhere') {\n event.stopPropagation();\n const { popoverElement } = this;\n if (!popoverElement) return;\n popoverElement.open = false;\n }\n };\n\n // #endregion\n // #region Render Methods\n\n renderHiddenElement() {\n return (\n <div\n id=\"option-description\"\n class=\"sr\"\n aria-hidden=\"true\"\n >\n {loc('tecton.element.optionList.optionCount', [this.optionCount])}\n </div>\n );\n }\n\n render() {\n const { optionCount, open } = this;\n const wrapperClassNames = ['tag'];\n if (optionCount) wrapperClassNames.push('has-options');\n\n return (\n <Host role={this.optionCount > 0 ? 'list' : undefined}>\n <click-elsewhere onChange={this.onClickElsewhere}>\n {this.optionCount ? (\n <Fragment>\n <div\n class=\"btn-wrapper\"\n onClick={this.handleWrapperClick}\n >\n <button\n class=\"tag-wrapper\"\n ref={el => (this.dropdownBtn = el)}\n test-id=\"btn-control\"\n type=\"button\"\n role=\"combobox\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown}\n onFocusout={this.handleButtonFocusout}\n aria-controls=\"option-list\"\n aria-expanded={open ? 'true' : 'false'}\n aria-describedby=\"option-description\"\n >\n <div class={wrapperClassNames.join(' ')}>{this.label}</div>\n <q2-icon type=\"options\"></q2-icon>\n </button>\n </div>\n {this.renderHiddenElement()}\n </Fragment>\n ) : (\n <div\n class=\"tag-wrapper\"\n onClick={e => e.stopPropagation()}\n >\n <div class={wrapperClassNames.join(' ')}>{this.label}</div>\n </div>\n )}\n\n {this.optionCount > 0 && (\n <q2-popover\n ref={el => (this.popoverElement = el)}\n controlElement={this.dropdownBtn}\n open={this.open}\n maxHeight={this.popoverMaxHeight}\n minHeight={this.popoverMinHeight}\n direction={this.popoverDirection}\n align={this.popoverAlignment}\n >\n <q2-option-list\n id=\"option-list\"\n ref={el => (this.optionList = el)}\n onChange={this.handleChange}\n type=\"menu\"\n align=\"right\"\n label={loc('tecton.element.optionList.label', [this.optionListLabel])}\n no-select\n >\n <slot />\n </q2-option-list>\n </q2-popover>\n )}\n </click-elsewhere>\n </Host>\n );\n }\n\n // #endregion\n}\n"],"version":3}
1
+ {"file":"q2-tag.entry.cjs.js","mappings":"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","names":["shouldShowActionSheet","showActionSheetList","overrideFocus","isEventFromElement","waitForNextPaint","h","loc","Host","Fragment"],"sources":["src/components/q2-tag/q2-tag.scss?tag=q2-tag&encapsulation=shadow","src/components/q2-tag/q2-tag.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-block;\n position: relative;\n line-height: 0;\n}\n\n:host(:not(:last-child)) {\n margin-inline-end: var-list(var-prefixer(tag-margin), --app-scale-2x, 10px);\n}\n\n.tag-wrapper {\n --comp-tag-btn-size: #{var-list(var-prefixer(tag-btn-size), --app-scale-6x, 30px)};\n --comp-tag-background: #{var-list(var-prefixer(tag-background), --t-gray-13, #e6e6e6)};\n --comp-tag-color: #{var-list(var-prefixer(tag-color), --t-gray-3, #262626)};\n background: var(--comp-tag-background);\n color: var(--comp-tag-color);\n border-radius: var-list(var-prefixer(tag-border-radius), --app-border-radius-1, 4px);\n position: relative;\n\n :host([theme='primary']) & {\n --comp-tag-background: #{var-list(--tct-tag-primary-background, --t-primary, #0079c1)};\n --comp-tag-color: #{var-list(--tct-tag-primary-font-color, --t-primary-text, #ffffff)};\n }\n\n :host([theme='secondary']) & {\n --comp-tag-background: #{var-list(--tct-tag-secondary-background, --t-secondary, #b3c2cc)};\n --comp-tag-color: #{var-list(--tct-tag-secondary-font-color, --t-secondary-text, #141414)};\n }\n\n :host([theme='tertiary']) & {\n --comp-tag-background: #{var-list(--tct-tag-tertiary-background, --t-tertiary, #e8f5fc)};\n --comp-tag-color: #{var-list(--tct-tag-tertiary-font-color, --t-tertiary-text, #141414)};\n }\n}\n\n.tag {\n display: flex;\n width: max-content;\n height: var-list(var-prefixer(tag-height), --app-scale-6x, 30px);\n line-height: var-list(var-prefixer(tag-height), --app-scale-6x, 30px);\n padding-inline: var-list(var-prefixer(tag-padding-inline), --app-scale-3x, 15px);\n}\n\n.tag.has-options {\n padding-right: 6px;\n}\n\n.btn-wrapper {\n --comp-tag-clickable-size: #{var-list(var-prefixer(tag-clickable-size), 44px)};\n --comp-tag-btn-offset: calc(calc(calc(var(--comp-tag-clickable-size) - var(--comp-tag-btn-size)) / 2) * -1);\n --comp-tag-background: #{var-list(var-prefixer(tag-background), --t-gray-13, #e6e6e6)};\n height: var(--comp-tag-clickable-size);\n display: flex;\n align-items: center;\n justify-content: center;\n position: relative;\n right: var(--comp-tag-btn-offset);\n top: var(--comp-tag-btn-offset);\n cursor: pointer;\n}\n\nbutton {\n height: var(--comp-tag-btn-size);\n stroke: var(--comp-tag-color);\n --tct-icon-stroke-primary: var(--comp-tag-color);\n cursor: pointer;\n border: 0;\n background: transparent;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n padding-right: 6px;\n --tct-icon-size: 18px;\n}\n","import {\n Component,\n State,\n Prop,\n h,\n ComponentInterface,\n Host,\n Listen,\n Method,\n Element,\n EventEmitter,\n Event,\n Fragment,\n} from '@stencil/core';\nimport { isEventFromElement, loc, overrideFocus, waitForNextPaint } from 'src/utils';\nimport { shouldShowActionSheet, showActionSheetList } from 'src/utils/action-sheet';\n\n@Component({ tag: 'q2-tag', shadow: true, styleUrl: 'q2-tag.scss' })\nexport class Q2Tag implements ComponentInterface {\n // #region Own Properties\n\n dropdownBtn: HTMLButtonElement;\n mutationObserver: MutationObserver;\n optionList: HTMLQ2OptionListElement;\n popoverElement: HTMLQ2PopoverElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n optionCount: number;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Instructs the component to use the action sheet workflow for displaying its options.\n *\n * For more information, see [Action Sheets](https://tecton.q2developer.com/guides/action-sheets/).\n */\n @Prop()\n hoist: boolean = !!window.Tecton?.useActionSheets;\n\n /**\n * The text that populates the label.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /**\n * Determine whether the popover is open or closed.\n *\n * @readonly\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean;\n\n /** Determines the label that is applied to the option list for accessibility purposes. */\n @Prop()\n optionListLabel: string = 'options';\n\n /** Aligns the popover dropdown to the left or right side of the input field. */\n @Prop({ mutable: true })\n popoverAlignment: 'left' | 'right' = 'right';\n\n /**\n * Force the direction of the popover dropdown when it opens.\n * If no value is passed, the component will auto-detect the direction based on available space.\n */\n @Prop()\n popoverDirection: 'up' | 'down';\n\n /**\n * Force the maximum height of the popover. This value will be interpreted as pixels.\n * If no value is passed, or the value exceeds available space, the component will auto-detect the maximum height based on available space.\n */\n @Prop()\n popoverMaxHeight: number;\n\n /** @deprecated */\n @Prop()\n popoverMinHeight: number = 150;\n\n /** The color of the element. */\n @Prop({ reflect: true })\n theme: 'primary' | 'secondary' | 'tertiary';\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when a provided option is clicked.\n *\n * Requires at least one option to be provided.\n */\n @Event()\n click: EventEmitter<{ value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n this.mutationObserver = null;\n }\n\n componentWillLoad() {\n const observer = new MutationObserver(this.determineOptionCount);\n observer.observe(this.hostElement, { childList: true, attributes: true });\n this.mutationObserver = observer;\n }\n\n componentDidLoad(): void {\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n if (!this.optionCount) return;\n this.dropdownBtn.focus();\n }\n\n @Listen('popoverStateChanged')\n popoverStateHandler({ detail: { open } }: CustomEvent<{ open: boolean }>) {\n if (this.open !== open) this.open = open;\n if (open) return;\n this.optionList.setActiveElement(null);\n }\n\n // #endregion\n // #region Public Methods API\n\n @Method()\n async closePopover() {\n if (!this.optionCount || !this.open) return;\n this._togglePopover();\n }\n\n @Method()\n async openPopover() {\n if (!this.optionCount || this.open) return;\n this._togglePopover();\n }\n\n @Method()\n async selectOption(value) {\n if (!this.optionCount) return;\n await this.openPopover();\n await waitForNextPaint();\n const allOptions = await this.optionList.getOptions();\n const desiredOption = allOptions.find(option => option.value === value);\n desiredOption?.click();\n }\n\n // #endregion\n // #region Local Methods\n\n _togglePopover() {\n const { dropdownBtn } = this;\n dropdownBtn?.click();\n dropdownBtn?.focus();\n dropdownBtn.dispatchEvent(new FocusEvent('focus'));\n }\n\n determineOptionCount = () => {\n const numberOfOptions = this.hostElement.querySelectorAll('q2-option').length;\n this.optionCount = numberOfOptions;\n };\n\n handleButtonFocusout = async (event: FocusEvent) => {\n const relatedTarget = event.relatedTarget as unknown as HTMLElement;\n if (relatedTarget?.tagName === 'Q2-OPTION') return;\n this.open = false;\n };\n\n handleChange = event => {\n event.stopPropagation();\n if (!this.optionCount) return;\n const { value } = event.detail;\n\n this.click.emit({ value });\n };\n\n handleClick = async (event: MouseEvent) => {\n event.stopPropagation();\n this.popoverElement.controlElement = this.dropdownBtn;\n if (shouldShowActionSheet(this)) {\n const { value } = await showActionSheetList(this, event);\n this.dropdownBtn.focus();\n this.click.emit({ value });\n } else {\n await this.popoverElement.toggle();\n }\n };\n\n handleKeydown = async (event: KeyboardEvent) => {\n const isTabMetaOrCtrl = event.metaKey || event.ctrlKey || event.key === 'Tab';\n if (isTabMetaOrCtrl) return;\n\n event.preventDefault();\n this.popoverElement.controlElement = this.dropdownBtn;\n if (shouldShowActionSheet(this, event)) {\n const { value } = await showActionSheetList(this, event);\n this.dropdownBtn.focus();\n this.click.emit({ value });\n } else {\n this.optionList.handleExternalKeydown(event);\n }\n };\n\n handleWrapperClick = () => {\n this.dropdownBtn.focus();\n this.dropdownBtn.click();\n };\n\n onClickElsewhere = (event: CustomEvent) => {\n const target = event.target as HTMLClickElsewhereElement;\n if (target.localName === 'click-elsewhere') {\n event.stopPropagation();\n const { popoverElement } = this;\n if (!popoverElement) return;\n popoverElement.open = false;\n }\n };\n\n // #endregion\n // #region Render Methods\n\n renderHiddenElement() {\n return (\n <div\n id=\"option-description\"\n class=\"sr\"\n aria-hidden=\"true\"\n >\n {loc('tecton.element.optionList.optionCount', [this.optionCount])}\n </div>\n );\n }\n\n render() {\n const { optionCount, open } = this;\n const wrapperClassNames = ['tag'];\n if (optionCount) wrapperClassNames.push('has-options');\n\n return (\n <Host role={this.optionCount > 0 ? 'list' : undefined}>\n <click-elsewhere onChange={this.onClickElsewhere}>\n {this.optionCount ? (\n <Fragment>\n <div\n class=\"btn-wrapper\"\n onClick={this.handleWrapperClick}\n >\n <button\n class=\"tag-wrapper\"\n ref={el => (this.dropdownBtn = el)}\n test-id=\"btn-control\"\n type=\"button\"\n role=\"combobox\"\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown}\n onFocusout={this.handleButtonFocusout}\n aria-controls=\"option-list\"\n aria-expanded={open ? 'true' : 'false'}\n aria-describedby=\"option-description\"\n >\n <div class={wrapperClassNames.join(' ')}>{this.label}</div>\n <q2-icon type=\"options\"></q2-icon>\n </button>\n </div>\n {this.renderHiddenElement()}\n </Fragment>\n ) : (\n <div\n class=\"tag-wrapper\"\n onClick={e => e.stopPropagation()}\n >\n <div class={wrapperClassNames.join(' ')}>{this.label}</div>\n </div>\n )}\n\n {this.optionCount > 0 && (\n <q2-popover\n ref={el => (this.popoverElement = el)}\n controlElement={this.dropdownBtn}\n open={this.open}\n maxHeight={this.popoverMaxHeight}\n minHeight={this.popoverMinHeight}\n direction={this.popoverDirection}\n align={this.popoverAlignment}\n >\n <q2-option-list\n id=\"option-list\"\n ref={el => (this.optionList = el)}\n onChange={this.handleChange}\n type=\"menu\"\n align=\"right\"\n label={loc('tecton.element.optionList.label', [this.optionListLabel])}\n no-select\n >\n <slot />\n </q2-option-list>\n </q2-popover>\n )}\n </click-elsewhere>\n </Host>\n );\n }\n\n // #endregion\n}\n"],"version":3}
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy(JSON.parse("[[\"q2-pagination.cjs\",[[1,\"q2-pagination\",{\"alignment\":[1],\"autoSize\":[1540,\"auto-size\"],\"page\":[1538],\"pages\":[1538],\"pagesOnly\":[1540,\"pages-only\"],\"perPage\":[1538,\"per-page\"],\"perPageIncrements\":[16],\"recordsOnly\":[1540,\"records-only\"],\"recordType\":[1,\"record-type\"],\"total\":[514],\"isSmall\":[32],\"clickFirstPage\":[64],\"clickLastPage\":[64],\"clickNextPage\":[64],\"clickPreviousPage\":[64],\"selectPerPageIncrementValue\":[64],\"setPageValue\":[64]},[[0,\"focus\",\"onHostElementFocus\"]],{\"recordsOnly\":[\"manageResizeObserver\"],\"pagesOnly\":[\"manageResizeObserver\"],\"autoSize\":[\"manageResizeObserver\"]}]]],[\"q2-calendar.cjs\",[[1,\"q2-calendar\",{\"ariaLabel\":[1537,\"aria-label\"],\"assume\":[513],\"buttonLabel\":[513,\"button-label\"],\"calendarLabel\":[513,\"calendar-label\"],\"clearable\":[516],\"cutoffTime\":[513,\"cutoff-time\"],\"daysOfWeekChecksum\":[514,\"days-of-week-checksum\"],\"disabled\":[516],\"disabledMsg\":[513,\"disabled-msg\"],\"disclaimer\":[513],\"displayFormat\":[513,\"display-format\"],\"endDate\":[513,\"end-date\"],\"errors\":[1040],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[1040],\"invalid\":[1540],\"invalidDates\":[16],\"label\":[1537],\"onsuccess\":[16],\"open\":[1540],\"optional\":[516],\"placeholder\":[513],\"popDirection\":[513,\"pop-direction\"],\"popoverAlignment\":[1,\"popover-alignment\"],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"readonly\":[516],\"startDate\":[513,\"start-date\"],\"typeable\":[516],\"validDates\":[16],\"value\":[1537],\"dateList\":[32],\"hintMessage\":[32],\"hintMessageType\":[32],\"keyboardSelection\":[32],\"typedValue\":[32],\"closePopover\":[64],\"openPopover\":[64],\"setValue\":[64],\"typeValue\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"clear\",\"handleClear\"],[0,\"error\",\"defaultErrorHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"],[0,\"success\",\"defaultSuccessHandler\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"cutoffTime\":[\"cutoffTimeObserver\"],\"daysOfWeekChecksum\":[\"daysOfWeekChecksumObserver\"],\"endDate\":[\"endDateObserver\"],\"invalidDates\":[\"invalidDatesObserver\"],\"popDirection\":[\"popDirectionHandler\"],\"startDate\":[\"startDateObserver\"],\"typeable\":[\"typeableChanged\"],\"validDates\":[\"validDatesObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-action-sheet.cjs\",[[1,\"q2-action-sheet\",{\"data\":[1040],\"hideClose\":[4,\"hide-close\"],\"title\":[1],\"isScrollable\":[32],\"renderStatus\":[32],\"hide\":[64],\"show\":[64]}]]],[\"q2-dropdown.cjs\",[[1,\"q2-dropdown\",{\"additionalContext\":[513,\"additional-context\"],\"alignment\":[513],\"ariaLabel\":[1537,\"aria-label\"],\"block\":[516],\"context\":[513],\"contextValue\":[513,\"context-value\"],\"disabled\":[516],\"hideLabel\":[1540,\"hide-label\"],\"icon\":[513],\"label\":[1537],\"name\":[513],\"open\":[1540],\"popDirection\":[513,\"pop-direction\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"resolvedType\":[513,\"resolved-type\"],\"type\":[513],\"closePopover\":[64],\"openPopover\":[64],\"selectItem\":[64],\"selectRemoveItem\":[64]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"additionalContext\":[\"additionalContextHandler\"],\"alignment\":[\"alignmentHandler\"],\"ariaLabel\":[\"ariaLabelHandler\"],\"context\":[\"contextHandler\"],\"contextValue\":[\"contextValueHandler\"],\"name\":[\"nameHandler\"],\"popDirection\":[\"popDirectionHandler\"],\"resolvedType\":[\"resolvedTypeHandler\"]}]]],[\"q2-data-table.cjs\",[[1,\"q2-data-table\",{\"bordered\":[1544],\"caption\":[1025],\"clickable\":[1540],\"density\":[1537],\"emptyIcon\":[513,\"empty-icon\"],\"emptyMessage\":[513,\"empty-message\"],\"headers\":[1040],\"hideCaption\":[1540,\"hide-caption\"],\"hideClickable\":[1028,\"hide-clickable\"],\"loading\":[1540],\"rows\":[1040],\"selectable\":[1540],\"selectMode\":[1025,\"select-mode\"],\"shadowed\":[1540],\"striped\":[516],\"allRowsSelected\":[32],\"checkSlotCount\":[32],\"hasDropdowns\":[32],\"hasExpandableRows\":[32],\"hasRowData\":[32],\"serializedHeaders\":[32],\"serializedRows\":[32],\"someRowsSelected\":[32],\"clickRow\":[64],\"getCellContent\":[64],\"sortColumn\":[64],\"toggleRowExpansion\":[64],\"toggleRowSelect\":[64],\"toggleSelectAllRows\":[64]},[[0,\"click\",\"onClickListener\"],[0,\"selectAllRows\",\"onSelectAllRows\"]],{\"headers\":[\"headersHandler\"],\"rows\":[\"rowsHandler\"],\"selectable\":[\"selectableHandler\"]}]]],[\"q2-editable-field.cjs\",[[1,\"q2-editable-field\",{\"ariaLabel\":[1537,\"aria-label\"],\"block\":[516],\"disabled\":[516],\"editing\":[1540],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[16],\"label\":[1537],\"maxlength\":[514],\"persistentLabel\":[516,\"persistent-label\"],\"truncated\":[516],\"type\":[513],\"value\":[1537],\"formattedValue\":[32],\"clickCancel\":[64],\"clickEdit\":[64],\"clickSave\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"editing\":[\"observesEditing\"],\"errors\":[\"errorsObserver\"]}]]],[\"q2-pill.cjs\",[[1,\"q2-pill\",{\"active\":[1540],\"borderless\":[516],\"disabled\":[516],\"hoist\":[4],\"label\":[513],\"maxLength\":[514,\"max-length\"],\"multiple\":[516],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"selectedOptions\":[1040],\"theme\":[513],\"value\":[1537],\"hasPopoverBottom\":[32],\"hasPopoverTop\":[32],\"optionCount\":[32],\"selectedOptionElements\":[32],\"closePopover\":[64],\"openPopover\":[64],\"setValue\":[64]},[[0,\"displayChanged\",\"handleSelectedDisplay\"],[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"selectedOptions\":[\"selectedOptionsChanged\"],\"value\":[\"valueChanged\"]}]]],[\"q2-tag.cjs\",[[1,\"q2-tag\",{\"hoist\":[4],\"label\":[513],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"theme\":[513],\"optionCount\":[32],\"closePopover\":[64],\"openPopover\":[64],\"selectOption\":[64]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]]]]],[\"q2-carousel.cjs\",[[4,\"q2-carousel\",{\"ariaLabel\":[513,\"aria-label\"],\"autoPlay\":[516,\"auto-play\"],\"framelessPanes\":[516,\"frameless-panes\"],\"fullWidthPanes\":[516,\"full-width-panes\"],\"hidePagination\":[516,\"hide-pagination\"],\"index\":[1538],\"label\":[513],\"showNavigationArrows\":[516,\"show-navigation-arrows\"],\"ariaLiveValue\":[32],\"autoPlayInProgress\":[32],\"carouselWrapperWidth\":[32],\"compactMode\":[32],\"currentPaneCount\":[32],\"selectCarouselPane\":[64],\"togglePlayPause\":[64]},[[0,\"clickCarouselPane\",\"carouselPaneClicked\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"carouselWrapperWidth\":[\"carouselWrapperWidthChanged\"],\"framelessPanes\":[\"framelessPanesChanged\",\"revampCarousel\"],\"fullWidthPanes\":[\"revampCarousel\"],\"compactMode\":[\"revampCarousel\"],\"autoPlay\":[\"revampCarousel\"],\"index\":[\"indexChanged\"]}]]],[\"q2-chart-donut.cjs\",[[1,\"q2-chart-donut\",{\"chartName\":[513,\"chart-name\"],\"data\":[16],\"format\":[513],\"hoverScaleSize\":[2,\"hover-scale-size\"],\"innerRadius\":[1025,\"inner-radius\"],\"isClickable\":[516,\"is-clickable\"],\"minSliceSize\":[1,\"min-slice-size\"],\"outerRadius\":[1025,\"outer-radius\"],\"selectedId\":[1025,\"selected-id\"],\"selectedOffset\":[2,\"selected-offset\"],\"showLegend\":[516,\"show-legend\"],\"summaryIcon\":[513,\"summary-icon\"],\"summaryName\":[513,\"summary-name\"],\"hoveredId\":[32],\"legendData\":[32],\"clearSelection\":[64],\"getChartOptions\":[64],\"selectById\":[64],\"selectByIndex\":[64],\"selectDataPoint\":[64]},[[0,\"focus\",\"delegateFocus\"]],{\"chartName\":[\"propsUpdates\"],\"innerRadius\":[\"propsUpdates\",\"innerRadiusUpdated\"],\"outerRadius\":[\"propsUpdates\",\"outerRadiusUpdated\"],\"minSliceSize\":[\"propsUpdates\"],\"hoverScaleSize\":[\"propsUpdates\"],\"selectedOffset\":[\"propsUpdates\"],\"data\":[\"dataUpdated\"],\"selectedId\":[\"checkSelectedId\"]}]]],[\"q2-month-picker.cjs\",[[1,\"q2-month-picker\",{\"disabledMonths\":[16],\"today\":[1],\"year\":[1538],\"focusedIndex\":[32],\"selectedIndex\":[32],\"showYearLayer\":[32]}]]],[\"q2-section.cjs\",[[1,\"q2-section\",{\"collapsible\":[516],\"expanded\":[1540],\"label\":[513],\"noCollapseIcon\":[516,\"no-collapse-icon\"],\"contentHeight\":[32],\"hasYieldedHeader\":[32],\"hideContent\":[32],\"collapse\":[64],\"expand\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"collapsible\":[\"collapsibleObserver\"],\"expanded\":[\"expandedObserver\"]}]]],[\"q2-stepper.cjs\",[[1,\"q2-stepper\",{\"currentStep\":[1538,\"current-step\"],\"lastEnabledStep\":[1026,\"last-enabled-step\"],\"stepCount\":[1026,\"step-count\"],\"contentChangeTriggerCount\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32],\"selectStep\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"contentChange\",\"contentChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"]],{\"currentStep\":[\"currentStepChanged\"]}]]],[\"q2-card.cjs\",[[1,\"q2-card\",{\"avatarIcon\":[513,\"avatar-icon\"],\"avatarInitials\":[513,\"avatar-initials\"],\"avatarName\":[513,\"avatar-name\"],\"avatarSrc\":[513,\"avatar-src\"],\"bar\":[513],\"description\":[513],\"isSmall\":[516,\"is-small\"],\"isStatic\":[516,\"is-static\"],\"isTouch\":[516,\"is-touch\"],\"target\":[513],\"title\":[513],\"type\":[513],\"url\":[513],\"isAutoSmall\":[32],\"isAutoTouch\":[32]},[[0,\"focus\",\"onHostElementFocus\"]]]]],[\"q2-action-group.cjs\",[[1,\"q2-action-group\",{\"orientationThreshold\":[2,\"orientation-threshold\"],\"orientation\":[513],\"fullWidth\":[516,\"full-width\"],\"autoOrientation\":[32]},null,{\"orientation\":[\"toggleHiddenForOneFrame\"]}]]],[\"q2-checkbox-group.cjs\",[[1,\"q2-checkbox-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"optional\":[516],\"readonly\":[516],\"value\":[1040],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"]],{\"disabled\":[\"disabledObserver\"],\"readonly\":[\"readonlyObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-link.cjs\",[[1,\"q2-link\",{\"disabled\":[516],\"href\":[513],\"label\":[513],\"referrerpolicy\":[513],\"target\":[513],\"tctTitle\":[513,\"tct-title\"],\"variant\":[513],\"clickLink\":[64]}]]],[\"q2-radio-group.cjs\",[[1,\"q2-radio-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"name\":[513],\"optional\":[516],\"readonly\":[516],\"tileAlignment\":[513,\"tile-alignment\"],\"tilelayout\":[1540],\"tileLayout\":[1540,\"tile-layout\"],\"value\":[1025],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"],[0,\"keydown\",\"keydownHandler\"]],{\"disabled\":[\"disabledUpdated\"],\"name\":[\"nameUpdated\"],\"readonly\":[\"readonlyUpdated\"],\"tilelayout\":[\"handleDeprecatedTilelayout\"],\"tileLayout\":[\"tileLayoutUpdated\"],\"value\":[\"valueUpdated\"]}]]],[\"q2-stepper-vertical.cjs\",[[1,\"q2-stepper-vertical\",{\"currentStepId\":[1537,\"current-step-id\"],\"structuredPanes\":[32],\"selectStep\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"]],{\"currentStepId\":[\"currentStepChanged\"]}]]],[\"q2-textarea.cjs\",[[1,\"q2-textarea\",{\"cols\":[514],\"disabled\":[516],\"errors\":[16],\"hideLabel\":[516,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"hints\":[16],\"label\":[513],\"maxlength\":[1538],\"optional\":[516],\"placeholder\":[513],\"readonly\":[516],\"resize\":[513],\"rows\":[514],\"spellcheck\":[516],\"value\":[1025],\"downParams\":[32],\"hasFocus\":[32],\"screenReaderCharacterCount\":[32],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"onHostElementFocus\"],[0,\"input\",\"onHostElementInput\"]],{\"cols\":[\"colsObserver\"],\"errors\":[\"errorsObserver\"],\"hints\":[\"hintsObserver\"],\"maxlength\":[\"maxlengthObserver\"],\"rows\":[\"rowsObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-carousel-pane.cjs\",[[4,\"q2-carousel-pane\",{\"index\":[2],\"isActivePane\":[516,\"is-active-pane\"],\"label\":[513],\"siblingCount\":[2,\"sibling-count\"],\"slotFrameless\":[516,\"slot-frameless\"]},null,{\"isActivePane\":[\"determineDisabledContent\"]}]]],[\"q2-chart-area.cjs\",[[1,\"q2-chart-area\",{\"alignChartName\":[513,\"align-chart-name\"],\"areaColor\":[513,\"area-color\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"data\":[16],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"gridLines\":[513,\"grid-lines\"],\"gridPadding\":[16],\"hideNameAxisLabels\":[516,\"hide-name-axis-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"lineColor\":[513,\"line-color\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"pointerLineColor\":[513,\"pointer-line-color\"],\"pointerLineStyle\":[513,\"pointer-line-style\"],\"showChartName\":[516,\"show-chart-name\"],\"showDatapointLabels\":[516,\"show-datapoint-labels\"],\"showGradient\":[516,\"show-gradient\"],\"hoverDataPoint\":[64]},null,{\"data\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"lineColor\":[\"propsUpdates\"],\"pointerLineColor\":[\"propsUpdates\"],\"pointerLineStyle\":[\"propsUpdates\"],\"areaColor\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"],\"dataNamesWidth\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"hideNameAxisLabels\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"offsetDataValues\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"showDatapointLabels\":[\"propsUpdates\"],\"showGradient\":[\"propsUpdates\"],\"gridLines\":[\"propsUpdates\"],\"gridPadding\":[\"propsUpdates\"]}]]],[\"q2-chart-bar.cjs\",[[1,\"q2-chart-bar\",{\"alignChartName\":[513,\"align-chart-name\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"color\":[513],\"data\":[16],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"gridPadding\":[16],\"hideBarLabels\":[516,\"hide-bar-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"orientation\":[513],\"showChartName\":[516,\"show-chart-name\"],\"sort\":[516]},null,{\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"color\":[\"propsUpdates\"],\"hideBarLabels\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"orientation\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"sort\":[\"propsUpdates\"],\"data\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"],\"gridPadding\":[\"propsUpdates\"]}]]],[\"q2-currency.cjs\",[[1,\"q2-currency\",{\"amount\":[514],\"currency\":[513],\"locale\":[513],\"signDisplay\":[513,\"sign-display\"],\"size\":[513],\"slotSize\":[513,\"slot-size\"],\"displayedMessageValue\":[64]},null,{\"amount\":[\"propsUpdated\"],\"currency\":[\"propsUpdated\"],\"locale\":[\"propsUpdated\"],\"size\":[\"propsUpdated\"],\"slotSize\":[\"propsUpdated\"],\"signDisplay\":[\"propsUpdated\"]}]]],[\"q2-detail.cjs\",[[1,\"q2-detail\",{\"alignment\":[513],\"description\":[513],\"label\":[513],\"size\":[513],\"stacked\":[516]}]]],[\"q2-example.cjs\",[[1,\"q2-example\",{\"content\":[1],\"disabled\":[4],\"type\":[1],\"isValidated\":[32],\"status\":[32],\"close\":[64],\"openMenu\":[64]},[[0,\"click\",\"onClick\"],[1,\"drag\",\"onDrag\"]],{\"content\":[\"contentChanged\"],\"status\":[\"statusChanged\"]}]]],[\"q2-formatted-text.cjs\",[[1,\"q2-formatted-text\",{\"value\":[514],\"locale\":[513],\"minimumIntegerDigits\":[2,\"minimum-integer-digits\"],\"minimumFractionDigits\":[2,\"minimum-fraction-digits\"],\"maximumFractionDigits\":[2,\"maximum-fraction-digits\"],\"signDisplay\":[513,\"sign-display\"],\"size\":[513],\"slotSize\":[513,\"slot-size\"]},null,{\"value\":[\"propsUpdated\"],\"locale\":[\"propsUpdated\"],\"size\":[\"propsUpdated\"],\"slotSize\":[\"propsUpdated\"],\"signDisplay\":[\"propsUpdated\"]}]]],[\"q2-item.cjs\",[[1,\"q2-item\",{\"clickable\":[516],\"renderTrigger\":[32]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-list.cjs\",[[1,\"q2-list\",{\"bordered\":[1540],\"label\":[513],\"renderTrigger\":[32]}]]],[\"q2-loading-element.cjs\",[[0,\"q2-loading-element\",{\"borderRadius\":[513,\"border-radius\"],\"height\":[513],\"shape\":[513],\"width\":[513]}]]],[\"q2-loc.cjs\",[[1,\"q2-loc\",{\"substitutions\":[16],\"value\":[1537],\"displayValue\":[32]},null,{\"value\":[\"propHandler\"],\"substitutions\":[\"propHandler\"]}]]],[\"q2-radio.cjs\",[[1,\"q2-radio\",{\"ariaLabel\":[1537,\"aria-label\"],\"checked\":[1540],\"disabled\":[516],\"groupDisabled\":[4,\"group-disabled\"],\"groupReadonly\":[4,\"group-readonly\"],\"groupTileLayout\":[4,\"group-tile-layout\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[1537],\"name\":[513],\"readonly\":[516],\"tabIndex\":[2,\"tab-index\"],\"value\":[513]},[[0,\"click\",\"onHostClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"checked\":[\"checkedObserver\"]}]]],[\"q2-relative-time.cjs\",[[1,\"q2-relative-time\",{\"baseDate\":[513,\"base-date\"],\"date\":[513],\"locale\":[513],\"messageFormat\":[513,\"message-format\"],\"numeric\":[513],\"sync\":[1540],\"unit\":[513],\"displayedMessage\":[32],\"displayedMessageValue\":[64],\"validBaseDateProp\":[64],\"validDateProp\":[64]},null,{\"messageFormat\":[\"updateMessage\"],\"locale\":[\"updateMessage\"],\"date\":[\"updateMessage\"],\"baseDate\":[\"updateMessage\"],\"numeric\":[\"updateMessage\"],\"unit\":[\"updateMessage\"],\"sync\":[\"syncUpdated\"]}]]],[\"q2-stepper-pane.cjs\",[[1,\"q2-stepper-pane\",{\"description\":[513],\"isActive\":[516,\"is-active\"],\"label\":[513],\"showWithChildren\":[516,\"show-with-children\"],\"status\":[513],\"isChildActive\":[32]},[[0,\"activeChange\",\"checkForActiveChildren\"]],{\"isActive\":[\"isActiveChanged\"],\"label\":[\"labelOrDescriptionChanged\"],\"description\":[\"labelOrDescriptionChanged\"],\"showWithChildren\":[\"checkForActiveChildren\"],\"status\":[\"statusChanged\"]}]]],[\"q2-tooltip.cjs\",[[1,\"q2-tooltip\",{\"block\":[516],\"focusable\":[516],\"immediate\":[516],\"label\":[513],\"multiline\":[516],\"persistent\":[516],\"position\":[513],\"focusClass\":[32]},[[2,\"focus\",\"focusCaptureHandler\"],[0,\"focus\",\"focusHandler\"],[0,\"focusout\",\"focusOutHandler\"],[0,\"keyup\",\"keyUpHandler\"]]]]],[\"tecton-tab-pane.cjs\",[[1,\"tecton-tab-pane\",{\"authPayload\":[16],\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeStatus\":[513,\"badge-status\"],\"badgeTheme\":[513,\"badge-theme\"],\"guid\":[2],\"index\":[2],\"label\":[513],\"minHeight\":[513,\"min-height\"],\"moduleId\":[513,\"module-id\"],\"name\":[513],\"provided\":[516],\"selected\":[516],\"showForm\":[4,\"show-form\"],\"url\":[513],\"value\":[513],\"_showForm\":[32]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"],\"selected\":[\"selectedObserver\"]}]]],[\"q2-optgroup.cjs\",[[1,\"q2-optgroup\",{\"disabled\":[516],\"label\":[513],\"hidden\":[32]},null,{\"disabled\":[\"disabledWatcher\"]}]]],[\"q2-resize-observer.cjs\",[[1,\"q2-resize-observer\",{\"disabled\":[516],\"getCurrentResizeEntries\":[64]},null,{\"disabled\":[\"disabledUpdated\"]}]]],[\"q2-badge_7.cjs\",[[1,\"q2-tab-container\",{\"color\":[513],\"name\":[513],\"noPrint\":[516,\"no-print\"],\"type\":[513],\"value\":[1537],\"hasLeft\":[32],\"hasRight\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32],\"tabs\":[32],\"selectTab\":[64]},[[0,\"badge\",\"onBadge\"],[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"onFocus\"],[9,\"resize\",\"onResize\"]],{\"name\":[\"nameObserver\"],\"value\":[\"valueObserver\"]}],[1,\"q2-tab-pane\",{\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeStatus\":[513,\"badge-status\"],\"badgeTheme\":[513,\"badge-theme\"],\"guid\":[2],\"index\":[2],\"label\":[513],\"name\":[513],\"selected\":[516],\"value\":[513]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"]}],[1,\"q2-input\",{\"_preventEntry\":[1028,\"_prevent-entry\"],\"_role\":[1025],\"ariaActivedescendant\":[1,\"aria-activedescendant\"],\"ariaControls\":[1,\"aria-controls\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaHaspopup\":[1,\"aria-haspopup\"],\"ariaLabel\":[1537,\"aria-label\"],\"ariaOwns\":[1,\"aria-owns\"],\"autocapitalize\":[513],\"autocomplete\":[513],\"autocorrect\":[513],\"autofocus\":[516],\"badgeTheme\":[513,\"badge-theme\"],\"badgeValue\":[513,\"badge-value\"],\"clearable\":[516],\"current\":[1],\"disabled\":[516],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"hints\":[16],\"iconLeft\":[513,\"icon-left\"],\"iconRight\":[513,\"icon-right\"],\"label\":[1537],\"max\":[514],\"maxlength\":[1538],\"min\":[514],\"optional\":[516],\"pattern\":[1537],\"placeholder\":[513],\"pseudo\":[516],\"readonly\":[516],\"role\":[1],\"showCount\":[516,\"show-count\"],\"showVisibilityToggle\":[516,\"show-visibility-toggle\"],\"step\":[514],\"textHidden\":[1540,\"text-hidden\"],\"type\":[513],\"validity\":[1040],\"value\":[1025],\"checkSlotCount\":[32],\"formattedValueObject\":[32],\"hasFocus\":[32],\"isSmall\":[32],\"checkValidity\":[64],\"clearValue\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"clearable\":[\"manageClearableResizeObserver\"],\"errors\":[\"errorsObserver\"],\"formatModifier\":[\"formatModifierObserver\"],\"formattedValueObject\":[\"formattedValueObjectObserver\"],\"hints\":[\"hintsObserver\"],\"type\":[\"typeObserver\"],\"value\":[\"valueObserver\"]}],[1,\"q2-badge\",{\"maxLength\":[514,\"max-length\"],\"size\":[513],\"status\":[513],\"theme\":[513],\"value\":[514]}],[1,\"q2-btn\",{\"_role\":[513],\"active\":[516],\"ariaControls\":[1,\"aria-controls\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaHasPopup\":[1,\"aria-has-popup\"],\"ariaLabel\":[1537,\"aria-label\"],\"ariaPressed\":[1,\"aria-pressed\"],\"ariaSelected\":[1,\"aria-selected\"],\"badge\":[516],\"block\":[516],\"color\":[1537],\"description\":[1],\"disabled\":[516],\"fab\":[516],\"hideLabel\":[1540,\"hide-label\"],\"intent\":[1537],\"label\":[1537],\"loading\":[516],\"size\":[513],\"tabIndex\":[2,\"tab-index\"],\"type\":[513],\"iconPosition\":[32]},[[2,\"click\",\"handleClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"size\":[\"sizeObserver\"]}],[1,\"q2-loading\",{\"ariaLabel\":[1537,\"aria-label\"],\"counts\":[513],\"inline\":[516],\"label\":[1537],\"modifiers\":[513],\"shape\":[513],\"type\":[513]},null,{\"ariaLabel\":[\"ariaLabelObserver\"]}],[1,\"q2-icon\",{\"inline\":[516],\"label\":[513],\"type\":[513],\"iconClone\":[32]},null,{\"type\":[\"handleIcon\"]}]]],[\"q2-select.cjs\",[[1,\"q2-select\",{\"ariaLabel\":[1537,\"aria-label\"],\"clearable\":[516],\"disabled\":[516],\"errors\":[16],\"hideLabel\":[1540,\"hide-label\"],\"hoist\":[4],\"invalid\":[516],\"label\":[1537],\"listLabel\":[1,\"list-label\"],\"minRows\":[2,\"min-rows\"],\"multilineOptions\":[516,\"multiline-options\"],\"multiple\":[516],\"optional\":[516],\"placeholder\":[513],\"popDirection\":[513,\"pop-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"readonly\":[516],\"searchable\":[516],\"selectedOptions\":[1040],\"value\":[1025],\"hasCustomDisplay\":[32],\"hasPopoverBottom\":[32],\"hasPopoverTop\":[32],\"inputFocused\":[32],\"open\":[32],\"prioritizeSearch\":[32],\"searchText\":[32],\"showSelected\":[32],\"statusMessage\":[32],\"structuredSelectedOptions\":[32],\"closePopover\":[64],\"openPopover\":[64],\"searchOptions\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"clear\",\"onClearHandler\"],[0,\"displayChanged\",\"handleSelectedDisplay\"],[0,\"focus\",\"delegateFocus\"],[0,\"focusout\",\"handleFocusout\"],[0,\"input\",\"onHostElementInput\"],[0,\"keydown\",\"keydownHandler\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"multilineOptions\":[\"handleMultilineOptionsUpdate\"],\"open\":[\"openChanged\"],\"value\":[\"buildStructuredSelectedOptions\",\"valueUpdated\"],\"selectedOptions\":[\"buildStructuredSelectedOptions\"]}]]],[\"q2-avatar.cjs\",[[1,\"q2-avatar\",{\"icon\":[1],\"initials\":[513],\"name\":[513],\"src\":[513],\"badSrc\":[32],\"isLoaded\":[32]},null,{\"src\":[\"srcDidUpdate\"]}]]],[\"q2-checkbox.cjs\",[[1,\"q2-checkbox\",{\"alignment\":[513],\"ariaLabel\":[1537,\"aria-label\"],\"checked\":[1540],\"description\":[513],\"disabled\":[516],\"groupDisabled\":[516,\"group-disabled\"],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"indeterminate\":[516],\"label\":[1537],\"name\":[513],\"readonly\":[516],\"slotReadonly\":[516,\"slot-readonly\"],\"type\":[513],\"value\":[513]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-dropdown-item.cjs\",[[1,\"q2-dropdown-item\",{\"ariaLabel\":[1537,\"aria-label\"],\"disabled\":[516],\"label\":[1537],\"removable\":[516],\"separator\":[516],\"value\":[513],\"q2LocValue\":[32]},[[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-legend.cjs\",[[1,\"q2-legend\",{\"data\":[16],\"format\":[513],\"hoveredItemId\":[513,\"hovered-item-id\"],\"selectedItemId\":[513,\"selected-item-id\"],\"hoveredItemIndex\":[32],\"selectedItemIndex\":[32]},null,{\"hoveredItemId\":[\"watchHoveredItemId\"],\"selectedItemId\":[\"watchSelectedItemId\"]}]]],[\"q2-message.cjs\",[[1,\"q2-message\",{\"appearance\":[513],\"description\":[516],\"type\":[513],\"presentToggle\":[32],\"present\":[64]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-option.cjs\",[[1,\"q2-option\",{\"_multiSelectHidden\":[516,\"_multiselecthidden\"],\"active\":[516],\"disabled\":[516],\"disabledGroup\":[516,\"disabled-group\"],\"display\":[1537],\"multiline\":[516],\"role\":[513],\"selected\":[516],\"value\":[513]},null,{\"display\":[\"displayChangedHandler\"]}]]],[\"q2-option-list.cjs\",[[1,\"q2-option-list\",{\"align\":[513],\"customSearch\":[516,\"custom-search\"],\"disabled\":[516],\"label\":[1],\"multiple\":[516],\"noSelect\":[516,\"no-select\"],\"selectedOptions\":[1040],\"showSelected\":[1540,\"show-selected\"],\"type\":[1],\"hasOptions\":[32],\"getContents\":[64],\"getOptions\":[64],\"handleExternalKeydown\":[64],\"setActiveElement\":[64],\"setDefaultActiveElement\":[64]},[[0,\"click\",\"handleClick\"],[0,\"focus\",\"delegateFocus\"]],{\"selectedOptions\":[\"selectedOptionsUpdated\"],\"showSelected\":[\"showSelectedUpdated\"]}]]],[\"click-elsewhere_2.cjs\",[[1,\"q2-popover\",{\"align\":[513],\"block\":[516],\"controlElement\":[16],\"direction\":[513],\"maxHeight\":[2,\"max-height\"],\"minHeight\":[2,\"min-height\"],\"mode\":[1],\"open\":[1540],\"currentDirection\":[32],\"show\":[32],\"scrollContainerTo\":[64],\"toggle\":[64]},[[0,\"popoverState\",\"popoverStateHandler\"]],{\"minHeight\":[\"minHeightProvided\"],\"open\":[\"openChanged\"]}],[0,\"click-elsewhere\"]]]]"), options);
22
+ return index.bootstrapLazy(JSON.parse("[[\"q2-pagination.cjs\",[[1,\"q2-pagination\",{\"alignment\":[1],\"autoSize\":[1540,\"auto-size\"],\"page\":[1538],\"pages\":[1538],\"pagesOnly\":[1540,\"pages-only\"],\"perPage\":[1538,\"per-page\"],\"perPageIncrements\":[16],\"recordsOnly\":[1540,\"records-only\"],\"recordType\":[1,\"record-type\"],\"total\":[514],\"isSmall\":[32],\"clickFirstPage\":[64],\"clickLastPage\":[64],\"clickNextPage\":[64],\"clickPreviousPage\":[64],\"selectPerPageIncrementValue\":[64],\"setPageValue\":[64]},[[0,\"focus\",\"onHostElementFocus\"]],{\"recordsOnly\":[\"manageResizeObserver\"],\"pagesOnly\":[\"manageResizeObserver\"],\"autoSize\":[\"manageResizeObserver\"]}]]],[\"q2-calendar.cjs\",[[1,\"q2-calendar\",{\"ariaLabel\":[1537,\"aria-label\"],\"assume\":[513],\"buttonLabel\":[513,\"button-label\"],\"calendarLabel\":[513,\"calendar-label\"],\"clearable\":[516],\"cutoffTime\":[513,\"cutoff-time\"],\"daysOfWeekChecksum\":[514,\"days-of-week-checksum\"],\"disabled\":[516],\"disabledMsg\":[513,\"disabled-msg\"],\"disclaimer\":[513],\"displayFormat\":[513,\"display-format\"],\"endDate\":[513,\"end-date\"],\"errors\":[1040],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[1040],\"invalid\":[1540],\"invalidDates\":[16],\"label\":[1537],\"onsuccess\":[16],\"open\":[1540],\"optional\":[516],\"placeholder\":[513],\"popDirection\":[513,\"pop-direction\"],\"popoverAlignment\":[1,\"popover-alignment\"],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"readonly\":[516],\"startDate\":[513,\"start-date\"],\"typeable\":[516],\"validDates\":[16],\"value\":[1537],\"dateList\":[32],\"hintMessage\":[32],\"hintMessageType\":[32],\"keyboardSelection\":[32],\"typedValue\":[32],\"closePopover\":[64],\"openPopover\":[64],\"setValue\":[64],\"typeValue\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"clear\",\"handleClear\"],[0,\"error\",\"defaultErrorHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"],[0,\"success\",\"defaultSuccessHandler\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"cutoffTime\":[\"cutoffTimeObserver\"],\"daysOfWeekChecksum\":[\"daysOfWeekChecksumObserver\"],\"endDate\":[\"endDateObserver\"],\"invalidDates\":[\"invalidDatesObserver\"],\"popDirection\":[\"popDirectionHandler\"],\"startDate\":[\"startDateObserver\"],\"typeable\":[\"typeableChanged\"],\"validDates\":[\"validDatesObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-action-sheet.cjs\",[[1,\"q2-action-sheet\",{\"data\":[1040],\"hideClose\":[4,\"hide-close\"],\"title\":[1],\"isScrollable\":[32],\"renderStatus\":[32],\"hide\":[64],\"show\":[64]}]]],[\"q2-dropdown.cjs\",[[1,\"q2-dropdown\",{\"additionalContext\":[513,\"additional-context\"],\"alignment\":[513],\"ariaLabel\":[1537,\"aria-label\"],\"block\":[516],\"context\":[513],\"contextValue\":[513,\"context-value\"],\"disabled\":[516],\"hideLabel\":[1540,\"hide-label\"],\"icon\":[513],\"label\":[1537],\"name\":[513],\"open\":[1540],\"popDirection\":[513,\"pop-direction\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"resolvedType\":[513,\"resolved-type\"],\"type\":[513],\"closePopover\":[64],\"openPopover\":[64],\"selectItem\":[64],\"selectRemoveItem\":[64]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"additionalContext\":[\"additionalContextHandler\"],\"alignment\":[\"alignmentHandler\"],\"ariaLabel\":[\"ariaLabelHandler\"],\"context\":[\"contextHandler\"],\"contextValue\":[\"contextValueHandler\"],\"name\":[\"nameHandler\"],\"popDirection\":[\"popDirectionHandler\"],\"resolvedType\":[\"resolvedTypeHandler\"]}]]],[\"q2-file-picker.cjs\",[[1,\"q2-file-picker\",{\"description\":[513],\"fileTypes\":[513,\"file-types\"],\"label\":[513],\"maxFiles\":[514,\"max-files\"],\"maxFileSize\":[514,\"max-file-size\"],\"status\":[16],\"value\":[1040],\"variant\":[513],\"areFilesUploading\":[32],\"displayedFiles\":[32],\"isDropZoneHighlighted\":[32],\"refreshCounter\":[32]},null,{\"status\":[\"updateFileList\"]}]]],[\"q2-data-table.cjs\",[[1,\"q2-data-table\",{\"bordered\":[1544],\"caption\":[1025],\"clickable\":[1540],\"density\":[1537],\"emptyIcon\":[513,\"empty-icon\"],\"emptyMessage\":[513,\"empty-message\"],\"headers\":[1040],\"hideCaption\":[1540,\"hide-caption\"],\"hideClickable\":[1028,\"hide-clickable\"],\"loading\":[1540],\"rows\":[1040],\"selectable\":[1540],\"selectMode\":[1025,\"select-mode\"],\"shadowed\":[1540],\"striped\":[516],\"allRowsSelected\":[32],\"checkSlotCount\":[32],\"hasDropdowns\":[32],\"hasExpandableRows\":[32],\"hasRowData\":[32],\"serializedHeaders\":[32],\"serializedRows\":[32],\"someRowsSelected\":[32],\"clickRow\":[64],\"getCellContent\":[64],\"sortColumn\":[64],\"toggleRowExpansion\":[64],\"toggleRowSelect\":[64],\"toggleSelectAllRows\":[64]},[[0,\"click\",\"onClickListener\"],[0,\"selectAllRows\",\"onSelectAllRows\"]],{\"headers\":[\"headersHandler\"],\"rows\":[\"rowsHandler\"],\"selectable\":[\"selectableHandler\"]}]]],[\"q2-editable-field.cjs\",[[1,\"q2-editable-field\",{\"ariaLabel\":[1537,\"aria-label\"],\"block\":[516],\"disabled\":[516],\"editing\":[1540],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[16],\"label\":[1537],\"maxlength\":[514],\"persistentLabel\":[516,\"persistent-label\"],\"truncated\":[516],\"type\":[513],\"value\":[1537],\"formattedValue\":[32],\"clickCancel\":[64],\"clickEdit\":[64],\"clickSave\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"],[0,\"formatted\",\"inputFormatted\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"editing\":[\"observesEditing\"],\"errors\":[\"errorsObserver\"]}]]],[\"q2-pill.cjs\",[[1,\"q2-pill\",{\"active\":[1540],\"borderless\":[516],\"disabled\":[516],\"hoist\":[4],\"label\":[513],\"maxLength\":[514,\"max-length\"],\"multiple\":[516],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"selectedOptions\":[1040],\"theme\":[513],\"value\":[1537],\"hasPopoverBottom\":[32],\"hasPopoverTop\":[32],\"optionCount\":[32],\"selectedOptionElements\":[32],\"closePopover\":[64],\"openPopover\":[64],\"setValue\":[64]},[[0,\"displayChanged\",\"handleSelectedDisplay\"],[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"selectedOptions\":[\"selectedOptionsChanged\"],\"value\":[\"valueChanged\"]}]]],[\"q2-tag.cjs\",[[1,\"q2-tag\",{\"hoist\":[4],\"label\":[513],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"theme\":[513],\"optionCount\":[32],\"closePopover\":[64],\"openPopover\":[64],\"selectOption\":[64]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]]]]],[\"q2-carousel.cjs\",[[4,\"q2-carousel\",{\"ariaLabel\":[513,\"aria-label\"],\"autoPlay\":[516,\"auto-play\"],\"framelessPanes\":[516,\"frameless-panes\"],\"fullWidthPanes\":[516,\"full-width-panes\"],\"hidePagination\":[516,\"hide-pagination\"],\"index\":[1538],\"label\":[513],\"showNavigationArrows\":[516,\"show-navigation-arrows\"],\"ariaLiveValue\":[32],\"autoPlayInProgress\":[32],\"carouselWrapperWidth\":[32],\"compactMode\":[32],\"currentPaneCount\":[32],\"selectCarouselPane\":[64],\"togglePlayPause\":[64]},[[0,\"clickCarouselPane\",\"carouselPaneClicked\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"carouselWrapperWidth\":[\"carouselWrapperWidthChanged\"],\"framelessPanes\":[\"framelessPanesChanged\",\"revampCarousel\"],\"fullWidthPanes\":[\"revampCarousel\"],\"compactMode\":[\"revampCarousel\"],\"autoPlay\":[\"revampCarousel\"],\"index\":[\"indexChanged\"]}]]],[\"q2-chart-donut.cjs\",[[1,\"q2-chart-donut\",{\"chartName\":[513,\"chart-name\"],\"data\":[16],\"format\":[513],\"hoverScaleSize\":[2,\"hover-scale-size\"],\"innerRadius\":[1025,\"inner-radius\"],\"isClickable\":[516,\"is-clickable\"],\"minSliceSize\":[1,\"min-slice-size\"],\"outerRadius\":[1025,\"outer-radius\"],\"selectedId\":[1025,\"selected-id\"],\"selectedOffset\":[2,\"selected-offset\"],\"showLegend\":[516,\"show-legend\"],\"summaryIcon\":[513,\"summary-icon\"],\"summaryName\":[513,\"summary-name\"],\"hoveredId\":[32],\"legendData\":[32],\"clearSelection\":[64],\"getChartOptions\":[64],\"selectById\":[64],\"selectByIndex\":[64],\"selectDataPoint\":[64]},[[0,\"focus\",\"delegateFocus\"]],{\"chartName\":[\"propsUpdates\"],\"innerRadius\":[\"propsUpdates\",\"innerRadiusUpdated\"],\"outerRadius\":[\"propsUpdates\",\"outerRadiusUpdated\"],\"minSliceSize\":[\"propsUpdates\"],\"hoverScaleSize\":[\"propsUpdates\"],\"selectedOffset\":[\"propsUpdates\"],\"data\":[\"dataUpdated\"],\"selectedId\":[\"checkSelectedId\"]}]]],[\"q2-month-picker.cjs\",[[1,\"q2-month-picker\",{\"disabledMonths\":[16],\"today\":[1],\"year\":[1538],\"focusedIndex\":[32],\"selectedIndex\":[32],\"showYearLayer\":[32]}]]],[\"q2-section.cjs\",[[1,\"q2-section\",{\"collapsible\":[516],\"expanded\":[1540],\"label\":[513],\"noCollapseIcon\":[516,\"no-collapse-icon\"],\"contentHeight\":[32],\"hasYieldedHeader\":[32],\"hideContent\":[32],\"collapse\":[64],\"expand\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"collapsible\":[\"collapsibleObserver\"],\"expanded\":[\"expandedObserver\"]}]]],[\"q2-stepper.cjs\",[[1,\"q2-stepper\",{\"currentStep\":[1538,\"current-step\"],\"lastEnabledStep\":[1026,\"last-enabled-step\"],\"stepCount\":[1026,\"step-count\"],\"contentChangeTriggerCount\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32],\"selectStep\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"contentChange\",\"contentChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"]],{\"currentStep\":[\"currentStepChanged\"]}]]],[\"q2-card.cjs\",[[1,\"q2-card\",{\"avatarIcon\":[513,\"avatar-icon\"],\"avatarInitials\":[513,\"avatar-initials\"],\"avatarName\":[513,\"avatar-name\"],\"avatarSrc\":[513,\"avatar-src\"],\"bar\":[513],\"description\":[513],\"isSmall\":[516,\"is-small\"],\"isStatic\":[516,\"is-static\"],\"isTouch\":[516,\"is-touch\"],\"target\":[513],\"title\":[513],\"type\":[513],\"url\":[513],\"isAutoSmall\":[32],\"isAutoTouch\":[32]},[[0,\"focus\",\"onHostElementFocus\"]]]]],[\"q2-action-group.cjs\",[[1,\"q2-action-group\",{\"orientationThreshold\":[2,\"orientation-threshold\"],\"orientation\":[513],\"fullWidth\":[516,\"full-width\"],\"autoOrientation\":[32]},null,{\"orientation\":[\"toggleHiddenForOneFrame\"]}]]],[\"q2-checkbox-group.cjs\",[[1,\"q2-checkbox-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"optional\":[516],\"readonly\":[516],\"value\":[1040],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"]],{\"disabled\":[\"disabledObserver\"],\"readonly\":[\"readonlyObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-radio-group.cjs\",[[1,\"q2-radio-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"name\":[513],\"optional\":[516],\"readonly\":[516],\"tileAlignment\":[513,\"tile-alignment\"],\"tilelayout\":[1540],\"tileLayout\":[1540,\"tile-layout\"],\"value\":[1025],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"],[0,\"keydown\",\"keydownHandler\"]],{\"disabled\":[\"disabledUpdated\"],\"name\":[\"nameUpdated\"],\"readonly\":[\"readonlyUpdated\"],\"tilelayout\":[\"handleDeprecatedTilelayout\"],\"tileLayout\":[\"tileLayoutUpdated\"],\"value\":[\"valueUpdated\"]}]]],[\"q2-stepper-vertical.cjs\",[[1,\"q2-stepper-vertical\",{\"currentStepId\":[1537,\"current-step-id\"],\"structuredPanes\":[32],\"selectStep\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"]],{\"currentStepId\":[\"currentStepChanged\"]}]]],[\"q2-textarea.cjs\",[[1,\"q2-textarea\",{\"cols\":[514],\"disabled\":[516],\"errors\":[16],\"hideLabel\":[516,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"hints\":[16],\"label\":[513],\"maxlength\":[1538],\"optional\":[516],\"placeholder\":[513],\"readonly\":[516],\"resize\":[513],\"rows\":[514],\"spellcheck\":[516],\"value\":[1025],\"downParams\":[32],\"hasFocus\":[32],\"screenReaderCharacterCount\":[32],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"onHostElementFocus\"],[0,\"input\",\"onHostElementInput\"]],{\"cols\":[\"colsObserver\"],\"errors\":[\"errorsObserver\"],\"hints\":[\"hintsObserver\"],\"maxlength\":[\"maxlengthObserver\"],\"rows\":[\"rowsObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-carousel-pane.cjs\",[[4,\"q2-carousel-pane\",{\"index\":[2],\"isActivePane\":[516,\"is-active-pane\"],\"label\":[513],\"siblingCount\":[2,\"sibling-count\"],\"slotFrameless\":[516,\"slot-frameless\"]},null,{\"isActivePane\":[\"determineDisabledContent\"]}]]],[\"q2-chart-area.cjs\",[[1,\"q2-chart-area\",{\"alignChartName\":[513,\"align-chart-name\"],\"areaColor\":[513,\"area-color\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"data\":[16],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"gridLines\":[513,\"grid-lines\"],\"gridPadding\":[16],\"hideNameAxisLabels\":[516,\"hide-name-axis-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"lineColor\":[513,\"line-color\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"pointerLineColor\":[513,\"pointer-line-color\"],\"pointerLineStyle\":[513,\"pointer-line-style\"],\"showChartName\":[516,\"show-chart-name\"],\"showDatapointLabels\":[516,\"show-datapoint-labels\"],\"showGradient\":[516,\"show-gradient\"],\"hoverDataPoint\":[64]},null,{\"data\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"lineColor\":[\"propsUpdates\"],\"pointerLineColor\":[\"propsUpdates\"],\"pointerLineStyle\":[\"propsUpdates\"],\"areaColor\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"],\"dataNamesWidth\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"hideNameAxisLabels\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"offsetDataValues\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"showDatapointLabels\":[\"propsUpdates\"],\"showGradient\":[\"propsUpdates\"],\"gridLines\":[\"propsUpdates\"],\"gridPadding\":[\"propsUpdates\"]}]]],[\"q2-chart-bar.cjs\",[[1,\"q2-chart-bar\",{\"alignChartName\":[513,\"align-chart-name\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"color\":[513],\"data\":[16],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"gridPadding\":[16],\"hideBarLabels\":[516,\"hide-bar-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"orientation\":[513],\"showChartName\":[516,\"show-chart-name\"],\"sort\":[516]},null,{\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"color\":[\"propsUpdates\"],\"hideBarLabels\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"orientation\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"sort\":[\"propsUpdates\"],\"data\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"],\"gridPadding\":[\"propsUpdates\"]}]]],[\"q2-currency.cjs\",[[1,\"q2-currency\",{\"amount\":[514],\"currency\":[513],\"locale\":[513],\"signDisplay\":[513,\"sign-display\"],\"size\":[513],\"slotSize\":[513,\"slot-size\"],\"displayedMessageValue\":[64]},null,{\"amount\":[\"propsUpdated\"],\"currency\":[\"propsUpdated\"],\"locale\":[\"propsUpdated\"],\"size\":[\"propsUpdated\"],\"slotSize\":[\"propsUpdated\"],\"signDisplay\":[\"propsUpdated\"]}]]],[\"q2-detail.cjs\",[[1,\"q2-detail\",{\"alignment\":[513],\"description\":[513],\"label\":[513],\"size\":[513],\"stacked\":[516]}]]],[\"q2-example.cjs\",[[1,\"q2-example\",{\"content\":[1],\"disabled\":[4],\"type\":[1],\"isValidated\":[32],\"status\":[32],\"close\":[64],\"openMenu\":[64]},[[0,\"click\",\"onClick\"],[1,\"drag\",\"onDrag\"]],{\"content\":[\"contentChanged\"],\"status\":[\"statusChanged\"]}]]],[\"q2-formatted-text.cjs\",[[1,\"q2-formatted-text\",{\"value\":[514],\"locale\":[513],\"minimumIntegerDigits\":[2,\"minimum-integer-digits\"],\"minimumFractionDigits\":[2,\"minimum-fraction-digits\"],\"maximumFractionDigits\":[2,\"maximum-fraction-digits\"],\"signDisplay\":[513,\"sign-display\"],\"size\":[513],\"slotSize\":[513,\"slot-size\"]},null,{\"value\":[\"propsUpdated\"],\"locale\":[\"propsUpdated\"],\"size\":[\"propsUpdated\"],\"slotSize\":[\"propsUpdated\"],\"signDisplay\":[\"propsUpdated\"]}]]],[\"q2-loading-element.cjs\",[[0,\"q2-loading-element\",{\"borderRadius\":[513,\"border-radius\"],\"height\":[513],\"shape\":[513],\"width\":[513]}]]],[\"q2-loc.cjs\",[[1,\"q2-loc\",{\"substitutions\":[16],\"value\":[1537],\"displayValue\":[32]},null,{\"value\":[\"propHandler\"],\"substitutions\":[\"propHandler\"]}]]],[\"q2-radio.cjs\",[[1,\"q2-radio\",{\"ariaLabel\":[1537,\"aria-label\"],\"checked\":[1540],\"disabled\":[516],\"groupDisabled\":[4,\"group-disabled\"],\"groupReadonly\":[4,\"group-readonly\"],\"groupTileLayout\":[4,\"group-tile-layout\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[1537],\"name\":[513],\"readonly\":[516],\"tabIndex\":[2,\"tab-index\"],\"value\":[513]},[[0,\"click\",\"onHostClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"checked\":[\"checkedObserver\"]}]]],[\"q2-relative-time.cjs\",[[1,\"q2-relative-time\",{\"baseDate\":[513,\"base-date\"],\"date\":[513],\"locale\":[513],\"messageFormat\":[513,\"message-format\"],\"numeric\":[513],\"sync\":[1540],\"unit\":[513],\"displayedMessage\":[32],\"displayedMessageValue\":[64],\"validBaseDateProp\":[64],\"validDateProp\":[64]},null,{\"messageFormat\":[\"updateMessage\"],\"locale\":[\"updateMessage\"],\"date\":[\"updateMessage\"],\"baseDate\":[\"updateMessage\"],\"numeric\":[\"updateMessage\"],\"unit\":[\"updateMessage\"],\"sync\":[\"syncUpdated\"]}]]],[\"q2-stepper-pane.cjs\",[[1,\"q2-stepper-pane\",{\"description\":[513],\"isActive\":[516,\"is-active\"],\"label\":[513],\"showWithChildren\":[516,\"show-with-children\"],\"status\":[513],\"isChildActive\":[32]},[[0,\"activeChange\",\"checkForActiveChildren\"]],{\"isActive\":[\"isActiveChanged\"],\"label\":[\"labelOrDescriptionChanged\"],\"description\":[\"labelOrDescriptionChanged\"],\"showWithChildren\":[\"checkForActiveChildren\"],\"status\":[\"statusChanged\"]}]]],[\"q2-tooltip.cjs\",[[1,\"q2-tooltip\",{\"block\":[516],\"focusable\":[516],\"immediate\":[516],\"label\":[513],\"multiline\":[516],\"persistent\":[516],\"position\":[513],\"focusClass\":[32]},[[2,\"focus\",\"focusCaptureHandler\"],[0,\"focus\",\"focusHandler\"],[0,\"focusout\",\"focusOutHandler\"],[0,\"keyup\",\"keyUpHandler\"]]]]],[\"tecton-tab-pane.cjs\",[[1,\"tecton-tab-pane\",{\"authPayload\":[16],\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeStatus\":[513,\"badge-status\"],\"badgeTheme\":[513,\"badge-theme\"],\"guid\":[2],\"index\":[2],\"label\":[513],\"minHeight\":[513,\"min-height\"],\"moduleId\":[513,\"module-id\"],\"name\":[513],\"provided\":[516],\"selected\":[516],\"showForm\":[4,\"show-form\"],\"url\":[513],\"value\":[513],\"_showForm\":[32]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"],\"selected\":[\"selectedObserver\"]}]]],[\"q2-legend.cjs\",[[1,\"q2-legend\",{\"data\":[16],\"format\":[513],\"hoveredItemId\":[513,\"hovered-item-id\"],\"selectedItemId\":[513,\"selected-item-id\"],\"hoveredItemIndex\":[32],\"selectedItemIndex\":[32]},null,{\"hoveredItemId\":[\"watchHoveredItemId\"],\"selectedItemId\":[\"watchSelectedItemId\"]}]]],[\"q2-optgroup.cjs\",[[1,\"q2-optgroup\",{\"disabled\":[516],\"label\":[513],\"hidden\":[32]},null,{\"disabled\":[\"disabledWatcher\"]}]]],[\"q2-resize-observer.cjs\",[[1,\"q2-resize-observer\",{\"disabled\":[516],\"getCurrentResizeEntries\":[64]},null,{\"disabled\":[\"disabledUpdated\"]}]]],[\"q2-badge_7.cjs\",[[1,\"q2-tab-container\",{\"color\":[513],\"name\":[513],\"noPrint\":[516,\"no-print\"],\"type\":[513],\"value\":[1537],\"hasLeft\":[32],\"hasRight\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32],\"tabs\":[32],\"selectTab\":[64]},[[0,\"badge\",\"onBadge\"],[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"onFocus\"],[9,\"resize\",\"onResize\"]],{\"name\":[\"nameObserver\"],\"value\":[\"valueObserver\"]}],[1,\"q2-tab-pane\",{\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeStatus\":[513,\"badge-status\"],\"badgeTheme\":[513,\"badge-theme\"],\"guid\":[2],\"index\":[2],\"label\":[513],\"name\":[513],\"selected\":[516],\"value\":[513]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"]}],[1,\"q2-input\",{\"_preventEntry\":[1028,\"_prevent-entry\"],\"_role\":[1025],\"ariaActivedescendant\":[1,\"aria-activedescendant\"],\"ariaControls\":[1,\"aria-controls\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaHaspopup\":[1,\"aria-haspopup\"],\"ariaLabel\":[1537,\"aria-label\"],\"ariaOwns\":[1,\"aria-owns\"],\"autocapitalize\":[513],\"autocomplete\":[513],\"autocorrect\":[513],\"autofocus\":[516],\"badgeTheme\":[513,\"badge-theme\"],\"badgeValue\":[513,\"badge-value\"],\"clearable\":[516],\"current\":[1],\"disabled\":[516],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"hints\":[16],\"iconLeft\":[513,\"icon-left\"],\"iconRight\":[513,\"icon-right\"],\"label\":[1537],\"max\":[514],\"maxlength\":[1538],\"min\":[514],\"optional\":[516],\"pattern\":[1537],\"placeholder\":[513],\"pseudo\":[516],\"readonly\":[516],\"role\":[1],\"showCount\":[516,\"show-count\"],\"showVisibilityToggle\":[516,\"show-visibility-toggle\"],\"step\":[514],\"textHidden\":[1540,\"text-hidden\"],\"type\":[513],\"validity\":[1040],\"value\":[1025],\"checkSlotCount\":[32],\"formattedValueObject\":[32],\"hasFocus\":[32],\"isSmall\":[32],\"checkValidity\":[64],\"clearValue\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"clearable\":[\"manageClearableResizeObserver\"],\"errors\":[\"errorsObserver\"],\"formatModifier\":[\"formatModifierObserver\"],\"formattedValueObject\":[\"formattedValueObjectObserver\"],\"hints\":[\"hintsObserver\"],\"type\":[\"typeObserver\"],\"value\":[\"valueObserver\"]}],[1,\"q2-badge\",{\"maxLength\":[514,\"max-length\"],\"size\":[513],\"status\":[513],\"theme\":[513],\"value\":[514]}],[1,\"q2-btn\",{\"_role\":[513],\"active\":[516],\"ariaControls\":[1,\"aria-controls\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaHasPopup\":[1,\"aria-has-popup\"],\"ariaLabel\":[1537,\"aria-label\"],\"ariaPressed\":[1,\"aria-pressed\"],\"ariaSelected\":[1,\"aria-selected\"],\"badge\":[516],\"block\":[516],\"color\":[1537],\"description\":[1],\"disabled\":[516],\"fab\":[516],\"hideLabel\":[1540,\"hide-label\"],\"intent\":[1537],\"label\":[1537],\"loading\":[516],\"size\":[513],\"tabIndex\":[2,\"tab-index\"],\"type\":[513],\"iconPosition\":[32]},[[2,\"click\",\"handleClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"size\":[\"sizeObserver\"]}],[1,\"q2-loading\",{\"ariaLabel\":[1537,\"aria-label\"],\"counts\":[513],\"inline\":[516],\"label\":[1537],\"modifiers\":[513],\"shape\":[513],\"type\":[513]},null,{\"ariaLabel\":[\"ariaLabelObserver\"]}],[1,\"q2-icon\",{\"inline\":[516],\"label\":[513],\"type\":[513],\"iconClone\":[32]},null,{\"type\":[\"handleIcon\"]}]]],[\"q2-select.cjs\",[[1,\"q2-select\",{\"ariaLabel\":[1537,\"aria-label\"],\"clearable\":[516],\"disabled\":[516],\"errors\":[16],\"hideLabel\":[1540,\"hide-label\"],\"hoist\":[4],\"invalid\":[516],\"label\":[1537],\"listLabel\":[1,\"list-label\"],\"minRows\":[2,\"min-rows\"],\"multilineOptions\":[516,\"multiline-options\"],\"multiple\":[516],\"optional\":[516],\"placeholder\":[513],\"popDirection\":[513,\"pop-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"readonly\":[516],\"searchable\":[516],\"selectedOptions\":[1040],\"value\":[1025],\"hasCustomDisplay\":[32],\"hasPopoverBottom\":[32],\"hasPopoverTop\":[32],\"inputFocused\":[32],\"open\":[32],\"prioritizeSearch\":[32],\"searchText\":[32],\"showSelected\":[32],\"statusMessage\":[32],\"structuredSelectedOptions\":[32],\"closePopover\":[64],\"openPopover\":[64],\"searchOptions\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"clear\",\"onClearHandler\"],[0,\"displayChanged\",\"handleSelectedDisplay\"],[0,\"focus\",\"delegateFocus\"],[0,\"focusout\",\"handleFocusout\"],[0,\"input\",\"onHostElementInput\"],[0,\"keydown\",\"keydownHandler\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"multilineOptions\":[\"handleMultilineOptionsUpdate\"],\"open\":[\"openChanged\"],\"value\":[\"buildStructuredSelectedOptions\",\"valueUpdated\"],\"selectedOptions\":[\"buildStructuredSelectedOptions\"]}]]],[\"q2-avatar.cjs\",[[1,\"q2-avatar\",{\"icon\":[1],\"initials\":[513],\"name\":[513],\"src\":[513],\"badSrc\":[32],\"isLoaded\":[32]},null,{\"src\":[\"srcDidUpdate\"]}]]],[\"q2-checkbox.cjs\",[[1,\"q2-checkbox\",{\"alignment\":[513],\"ariaLabel\":[1537,\"aria-label\"],\"checked\":[1540],\"description\":[513],\"disabled\":[516],\"groupDisabled\":[516,\"group-disabled\"],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"indeterminate\":[516],\"label\":[1537],\"name\":[513],\"readonly\":[516],\"slotReadonly\":[516,\"slot-readonly\"],\"type\":[513],\"value\":[513]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-dropdown-item.cjs\",[[1,\"q2-dropdown-item\",{\"ariaLabel\":[1537,\"aria-label\"],\"disabled\":[516],\"label\":[1537],\"removable\":[516],\"separator\":[516],\"value\":[513],\"q2LocValue\":[32]},[[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-message.cjs\",[[1,\"q2-message\",{\"appearance\":[513],\"description\":[516],\"type\":[513],\"presentToggle\":[32],\"present\":[64]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-option.cjs\",[[1,\"q2-option\",{\"_multiSelectHidden\":[516,\"_multiselecthidden\"],\"active\":[516],\"disabled\":[516],\"disabledGroup\":[516,\"disabled-group\"],\"display\":[1537],\"multiline\":[516],\"role\":[513],\"selected\":[516],\"value\":[513]},null,{\"display\":[\"displayChangedHandler\"]}]]],[\"q2-item_3.cjs\",[[1,\"q2-link\",{\"disabled\":[516],\"href\":[513],\"label\":[513],\"referrerpolicy\":[513],\"target\":[513],\"tctTitle\":[513,\"tct-title\"],\"variant\":[513],\"clickLink\":[64]}],[1,\"q2-item\",{\"clickable\":[516],\"renderTrigger\":[32]},[[0,\"focus\",\"delegateFocus\"]]],[1,\"q2-list\",{\"bordered\":[1540],\"label\":[513],\"renderTrigger\":[32]}]]],[\"q2-option-list.cjs\",[[1,\"q2-option-list\",{\"align\":[513],\"customSearch\":[516,\"custom-search\"],\"disabled\":[516],\"label\":[1],\"multiple\":[516],\"noSelect\":[516,\"no-select\"],\"selectedOptions\":[1040],\"showSelected\":[1540,\"show-selected\"],\"type\":[1],\"hasOptions\":[32],\"getContents\":[64],\"getOptions\":[64],\"handleExternalKeydown\":[64],\"setActiveElement\":[64],\"setDefaultActiveElement\":[64]},[[0,\"click\",\"handleClick\"],[0,\"focus\",\"delegateFocus\"]],{\"selectedOptions\":[\"selectedOptionsUpdated\"],\"showSelected\":[\"showSelectedUpdated\"]}]]],[\"click-elsewhere_2.cjs\",[[1,\"q2-popover\",{\"align\":[513],\"block\":[516],\"controlElement\":[16],\"direction\":[513],\"maxHeight\":[2,\"max-height\"],\"minHeight\":[2,\"min-height\"],\"mode\":[1],\"open\":[1540],\"currentDirection\":[32],\"show\":[32],\"scrollContainerTo\":[64],\"toggle\":[64]},[[0,\"popoverState\",\"popoverStateHandler\"]],{\"minHeight\":[\"minHeightProvided\"],\"open\":[\"openChanged\"]}],[0,\"click-elsewhere\"]]]]"), options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -66,6 +66,7 @@ const Q2Textarea = class {
66
66
  };
67
67
  this.onMouseUp = () => {
68
68
  document.removeEventListener('mousemove', this.onMouseMove);
69
+ document.removeEventListener('mouseup', this.onMouseUp);
69
70
  this.downParams = null;
70
71
  };
71
72
  this.onTextareaBlur = () => {
@@ -296,7 +297,7 @@ const Q2Textarea = class {
296
297
  ]))));
297
298
  }
298
299
  render() {
299
- return (index.h("div", { key: '067ef076d53ad1ae2f7fec1bd1a86f7c51b7fd4f', class: this.wrapperClasses }, index$1.renderLabel(this), index.h("div", { key: 'ae1a0bd1e5595447ddcb049bdf241702558d9074', class: "content-container", ref: el => (this.contentContainer = el) }, this.renderInput(), this.maxlength ? this.renderMaxLength() : '', index$1.renderMessages(this))));
300
+ return (index.h("div", { key: 'acde776086d487dbf4af1b54d5a5839217d71b06', class: this.wrapperClasses }, index$1.renderLabel(this), index.h("div", { key: 'e50f150613c0b0432f1cc40dfa5fe40e73303d9d', class: "content-container", ref: el => (this.contentContainer = el) }, this.renderInput(), this.maxlength ? this.renderMaxLength() : '', index$1.renderMessages(this))));
300
301
  }
301
302
  get hostElement() { return index.getElement(this); }
302
303
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"q2-textarea.entry.cjs.js","mappings":"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","names":["debounce","createGuid","setMessageHeight","overrideFocus","isEventFromElement","h","loc","Fragment","renderLabel","renderMessages"],"sources":["src/components/q2-textarea/q2-textarea.scss?tag=q2-textarea&encapsulation=shadow","src/components/q2-textarea/q2-textarea.tsx"],"sourcesContent":["@import '../../styles/host';\n@import '../../styles/functions';\n\n:host {\n --comp-default-margin: #{var-list(var-prefixer(textarea-margin-top), --app-scale-6x, 30px)} 0 #{var-list(\n var-prefixer(textarea-margin-bottom),\n --app-scale-6x,\n 30px\n )};\n display: block;\n margin: var-list(--tct-textarea-margin, --comp-default-margin);\n font-size: var-list(var-prefixer(textarea-font-size), --app-font-size, inherit);\n}\n\n:host([hidden]) {\n display: none;\n}\n\nlabel {\n --comp-label-padding: #{var-list(\n --tct-textarea-label-padding,\n unquote(\n '0 #{var-list(var-prefixer(textarea-label-padding-right), 0)} 0 #{var-list(var-prefixer(textarea-label-padding-left), 0)}'\n )\n )};\n --comp-label-margin: #{var-list(\n --tct-textarea-label-margin,\n unquote(\n '#{var-list(var-prefixer(textarea-label-margin-top), 0)} 0 #{var-list(var-prefixer(textarea-label-margin-bottom), --tct-scale-1x, --app-scale-1x, 5px)}'\n )\n )};\n display: block;\n padding: var(--comp-label-padding);\n margin: var(--comp-label-margin);\n color: var-list(var-prefixer(textarea-label-font-color), inherit);\n font-size: var-list(var-prefixer(textarea-label-font-size), inherit);\n font-weight: var-list(var-prefixer(textarea-label-font-weight), 600);\n text-transform: var-list(var-prefixer(textarea-label-text-transform), none);\n letter-spacing: var-list(var-prefixer(textarea-label-letter-spacing), normal);\n transition: color var-list(var-prefixer(textarea-tween), --tct-tween-2, --app-tween-2, unquote('0.4s ease'));\n\n .has-error & {\n color: var-list(var-prefixer(textarea-error-label-font-color), --tct-textarea-label-font-color, inherit);\n }\n\n :hover & {\n color: var-list(--tct-textarea-hover-label-font-color, var-prefixer(textarea-label-font-color), inherit);\n .has-error & {\n color: var-list(\n --tct-textarea-error-hover-label-font-color,\n var-prefixer(textarea-error-label-font-color),\n --tct-textarea-hover-label-font-color,\n --tct-textarea-label-font-color,\n inherit\n );\n }\n }\n\n :host(:focus-within) & {\n color: var-list(--tct-textarea-focus-label-font-color, var-prefixer(textarea-label-font-color), inherit);\n }\n\n :host(:focus-within) .has-error & {\n color: var-list(\n --tct-textarea-error-focus-label-font-color,\n var-prefixer(textarea-error-label-font-color),\n --tct-textarea-focus-label-font-color,\n var-prefixer(textarea-label-font-color),\n inherit\n );\n }\n}\n\n.optional-tag {\n --comp-label-optional-margin: #{var-list(\n --tct-textarea-label-optional-margin,\n unquote(\n '0 0 0 #{var-list(var-prefixer(textarea-label-optional-margin-left), --tct-scale-1x, --app-scale-1x, 5px)}'\n )\n )};\n margin: var(--comp-label-optional-margin);\n color: var-list(\n var-prefixer(textarea-label-optional-font-color),\n --t-textA,\n --t-a11y-gray-color,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var-list(var-prefixer(textarea-label-optional-font-size), 12px);\n font-weight: var-list(var-prefixer(textarea-label-optional-font-weight), 400);\n}\n\n.input-container {\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n height: 100%;\n --comp-default-border-radius: #{var-list(--tct-border-radius-1, --app-border-radius-1, 4px)};\n --comp-textarea-border-top-left-radius: #{var-list(\n var-prefixer(textarea-border-top-left-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-top-right-radius: #{var-list(\n var-prefixer(textarea-border-top-right-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-bottom-right-radius: #{var-list(\n var-prefixer(textarea-border-bottom-right-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-bottom-left-radius: #{var-list(\n var-prefixer(textarea-border-bottom-left-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-radius: var(--comp-textarea-border-top-left-radius)\n var(--comp-textarea-border-top-right-radius) var(--comp-textarea-border-bottom-right-radius)\n var(--comp-textarea-border-bottom-left-radius);\n --comp-textarea-border-width: #{var-list(var-prefixer(textarea-border-top-width), 1px)\n var-list(var-prefixer(textarea-border-right-width), 1px)\n var-list(var-prefixer(textarea-border-bottom-width), 1px)\n var-list(var-prefixer(textarea-border-left-width), 1px)};\n --comp-textarea-icon-clearance: 34px;\n\n :host([disabled]) & {\n cursor: not-allowed;\n opacity: var-list(var-prefixer(textarea-disabled-opacity), --tct-disabled-opacity, --app-disabled-opacity, 0.4);\n }\n}\n\n.content-container {\n --comp-textarea-min-height: 46px;\n --comp-textarea-min-width: 150px;\n position: relative;\n display: inline-block;\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n min-width: var-list(var-prefixer(textarea-min-width) --comp-textarea-min-width);\n\n :host(:not([cols])) & {\n width: 100%;\n }\n}\n\ntextarea {\n --comp-textarea-padding: #{var-list(\n --tct-textarea-padding,\n unquote(\n '#{var-list(var-prefixer(textarea-vertical-padding), --tct-scale-2x, --app-scale-2x, 10px)} #{var-list(var-prefixer(textarea-horizontal-padding), --tct-scale-2x, --app-scale-2x, 10px)}'\n )\n )};\n --comp-textarea-border-color: #{var-list(\n var-prefixer(textarea-border-color),\n var-prefixer(input-border-color),\n --t-a11y-gray-color-AA,\n #949494\n )};\n --comp-textarea-background: #{var-list(\n --tct-textarea-background,\n var-prefixer(textarea-bg),\n --tct-input-background,\n var-prefixer(input-bg),\n --t-gray-14,\n #fcfcfd\n )};\n --comp-textarea-hover-ring-color: var(--tct-textarea-hover-ring-color);\n --comp-textarea-hover-ring: #{0 0 0 2px var(--t-base), 0 0 0 4px var(--comp-textarea-hover-ring-color),\n var-list(--tct-textarea-hover-box-shadow, unquote('0 0 transparent'))};\n\n resize: none;\n height: 100%;\n -webkit-appearance: none;\n appearance: none;\n display: block;\n box-sizing: border-box;\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n padding: var(--comp-textarea-padding);\n background: var(--comp-textarea-background);\n color: var-list(var-prefixer(textarea-font-color), --t-input-font-color, inherit);\n border-width: var(--comp-textarea-border-width);\n border-style: solid;\n border-color: var(--comp-textarea-border-color);\n border-radius: var(--comp-textarea-border-radius);\n box-shadow: var-list(var-prefixer(textarea-box-shadow), none);\n scrollbar-width: thin;\n scrollbar-color: var(--t-a11y-gray-color) transparent;\n --comp-textarea-tween: #{var-list(var-prefixer(textarea-tween), --tct-tween-2, --app-tween-2, unquote('0.4s ease'))};\n transition:\n border-width var(--comp-textarea-tween),\n border-color var(--comp-textarea-tween),\n box-shadow var(--comp-textarea-tween);\n\n &::-webkit-scrollbar {\n width: var(--app-scale-1x);\n height: var(--app-scale-1x);\n margin: var(--app-scale-1x);\n }\n\n &::-webkit-scrollbar-thumb {\n background: var(--t-a11y-gray-color);\n border-radius: 2px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &:not([cols]) {\n width: 100%;\n }\n\n .has-error & {\n padding-right: var(--comp-textarea-icon-clearance);\n border-color: var-list(var-prefixer(textarea-error-border-color), --const-stoplight-alert, #d20a0a);\n background: var-list(--tct-textarea-error-background, --comp-textarea-background);\n }\n\n &:hover {\n border-color: var-list(--tct-textarea-hover-border-color, --comp-textarea-border-color);\n background: var-list(--tct-textarea-hover-background, --comp-textarea-background);\n box-shadow: var-list(--tct-textarea-hover-box-shadow, --comp-textarea-hover-ring);\n\n .has-error & {\n border-color: var-list(\n --tct-textarea-error-hover-border-color,\n var-prefixer(textarea-error-border-color),\n --const-stoplight-alert,\n #d20a0a\n );\n background: var-list(\n --tct-textarea-error-hover-background,\n --tct-textarea-error-background,\n --comp-textarea-background\n );\n box-shadow: var-list(\n --tct-textarea-error-hover-box-shadow,\n --tct-textarea-error-box-shadow,\n --tct-textarea-hover-box-shadow,\n --comp-textarea-hover-ring\n );\n }\n }\n\n &:focus {\n border-color: var-list(--tct-textarea-focus-border-color, --comp-textarea-border-color);\n background: var-list(--tct-textarea-focus-background, --comp-textarea-background);\n box-shadow: var-list(--tct-textarea-focus-box-shadow, --const-double-focus-ring);\n\n .has-error & {\n border-color: var-list(\n --tct-textarea-error-focus-border-color,\n --tct-textarea-error-border-color,\n --const-stoplight-alert,\n #d20a0a\n );\n background: var-list(\n --tct-textarea-error-focus-background,\n --tct-textarea-error-background,\n --tct-textarea-focus-background,\n --comp-textarea-background\n );\n box-shadow: var-list(\n --tct-textarea-error-focus-box-shadow,\n --tct-textarea-error-box-shadow,\n --tct-textarea-focus-box-shadow,\n --const-double-focus-ring\n );\n }\n }\n\n &::placeholder {\n color: var-list(\n var-prefixer(textarea-placeholder-font-color),\n --t-input-placeholder-font-color,\n --tct-gray-7,\n --app-gray-7,\n --tct-gray-d1,\n --app-gray-d1,\n #666666\n );\n }\n\n &[disabled] {\n cursor: not-allowed;\n }\n\n &.resize-vertical-auto {\n overflow: hidden;\n }\n\n .has-error & {\n padding-right: var(--comp-textarea-icon-clearance);\n\n &:not(:focus) {\n border-color: var-list(var-prefixer(textarea-error-border-color), --const-stoplight-alert, #d20a0a);\n }\n }\n}\n\nq2-icon {\n margin-top: calc(#{var-list(var-prefixer(textarea-border-top-width), 1px)} / 2);\n margin-bottom: calc(#{var-list(var-prefixer(textarea-border-bottom-width), 1px)} / 2);\n pointer-events: none;\n position: absolute;\n top: var-list(var-prefixer(textarea-vertical-padding), --tct-scale-2x, --app-scale-2x, 10px);\n color: var-list(var-prefixer(textarea-icon-stroke-primary), --app-gray-9, --tct-gray, --app-gray, #999999);\n right: 0;\n margin-right: var-list(--tct-scale-2x, --app-scale-2x, 10px);\n --tct-icon-stroke-primary: #{var-list(\n var-prefixer(textarea-icon-stroke-primary),\n var-prefixer(gray-9),\n --tct-gray,\n --app-gray,\n #999999\n )};\n --t-icon-stroke-primary: #{var-list(\n var-prefixer(textarea-icon-stroke-primary),\n var-prefixer(gray-9),\n --tct-gray,\n --app-gray,\n #999999\n )};\n}\n\n.icon-error {\n color: var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a);\n --tct-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a)};\n --t-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a)};\n}\n\n.messages-container {\n height: 0px;\n overflow: hidden;\n background: var-list(\n --tct-message-background,\n --tct-message-bg,\n var-prefixer(gray-14),\n --tct-gray-l3,\n --app-gray-l3,\n #f2f2f2\n );\n box-shadow: var-list(\n var-prefixer(textarea-message-box-shadow),\n --tct-box-shadow-1,\n --app-shadow-1,\n unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\")\n );\n transition: height\n var-list(var-prefixer(textarea-messages-tween), --tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n margin-top: 2px;\n z-index: 1;\n position: absolute;\n width: 100%;\n color: var-list(var-prefixer(textarea-messages-font-color), inherit);\n}\n\n.max-length {\n color: var-list(var-prefixer(textarea-max-length-color), --t-textA, rgba(77, 77, 77, 0.77));\n font-size: var-list(\n var-prefixer(textarea-max-length-font-size),\n --tct-font-size-small,\n --app-font-size-small,\n 12px\n );\n position: absolute;\n right: 0;\n}\n\n.btn-resize {\n --tct-textarea-resize-icon-padding: calc(\n calc(\n #{var-list(var-prefixer(textarea-resize-btn-width), --tct-btn-icon-width, 44px)} - #{var-list(\n var-prefixer(textarea-resize-icon-size),\n 12px\n )}\n ) / 2\n );\n width: var-list(var-prefixer(textarea-resize-btn-width), --tct-btn-icon-width, 44px);\n height: var-list(var-prefixer(textarea-resize-btn-height), --tct-btn-icon-height, 44px);\n background: var-list(var-prefixer(textarea-resize-btn-background), transparent);\n stroke: var-list(var-prefixer(textarea-resize-color), --t-textA, rgba(77, 77, 77, 0.77));\n border: 0;\n position: absolute;\n right: calc(#{var-list(var-prefixer(textarea-resize-icon-padding))} * -1 + 2px);\n bottom: calc(#{var-list(var-prefixer(textarea-resize-icon-padding))} * -1 + 2px);\n display: block;\n padding: var-list(var-prefixer(textarea-resize-icon-padding));\n font-size: 0;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n\n :host([resize='both']) & {\n cursor: se-resize;\n }\n\n :host([resize='vertical']) &,\n :host([resize='vertical-auto']) & {\n cursor: s-resize;\n }\n\n :host([resize='horizontal']) & {\n cursor: e-resize;\n }\n}\n","import {\n Component,\n EventEmitter,\n Prop,\n Event,\n Element,\n Fragment,\n State,\n h,\n Watch,\n Listen,\n Method,\n} from '@stencil/core';\nimport { IDict } from 'src/util';\nimport {\n createGuid,\n debounce,\n isEventFromElement,\n renderLabel,\n loc,\n renderMessages,\n overrideFocus,\n setMessageHeight,\n} from 'src/utils';\n\n@Component({ tag: 'q2-textarea', shadow: true, styleUrl: 'q2-textarea.scss' })\nexport class Q2Textarea {\n // #region Own Properties\n\n contentContainer?: HTMLDivElement;\n debouncedScreenReaderCharacterCount = debounce(() => {\n this.updateScreenReaderCharacterCount();\n }, 2000);\n describeByScreenReaderCharacterCount = true;\n guid = createGuid();\n scheduledAfterRender: (() => void)[] = [];\n textareaField?: HTMLTextAreaElement;\n valueOnFocus: string;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n downParams: IDict<number>;\n\n @State()\n hasFocus: boolean;\n\n @State()\n screenReaderCharacterCount: number;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Defines the number of columns displayed in the field.\n * If not set, the field will be full-width and respond to the window size.\n */\n @Prop({ reflect: true })\n cols: number;\n\n /** Indicates the field cannot be focused or interacted with. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Each item in the `errors` array will appear below the input field when the field is focused.\n * @localizable\n */\n @Prop()\n errors: string[];\n\n /**\n * Hide's the field's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true })\n hideLabel: boolean;\n\n /**\n * When `true` and the input field has an active validation error, the field shows the error state without displaying associated error messages below the field (from the errors array above).\n * Primarily used for dropdown selects and date pickers whose controls appear below the input field (where the error messages, if displayed, would also appear).\n */\n @Prop({ reflect: true })\n hideMessages: boolean;\n\n /**\n * Each item in the `hints` array will appear below the input field when the field is focused.\n * @info\n * The `errors` array takes precedence over the `hints` array. If an input field has both hints and errors, only the errors will display.\n * Once all errors are resolved, the hints display the next time the field is focused.\n * @localizable\n */\n @Prop()\n hints: string[];\n\n /**\n * The label that appears above the field. This is announced by screen readers when the field is focused.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /**\n * Defines the maximum allowed input length in characters. Formatting characters (e.g. `.`, `-`, etc) are included in the `maxlength` comparison.\n * Make sure you account for them when setting the `maxlength` value.\n * @info\n * Please set the `rows` attribute in correlation with `maxlength` to show as much text as possible in the field viewport.\n */\n @Prop({ reflect: true, mutable: true })\n maxlength: number;\n\n /** Appends \"(optional)\" to the field label, and sets `aria-required` on the nested input tag to `false`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /**\n * Text that appears within the field when it is blurred and empty.\n * Placeholder text disappears when the user focuses on the field and provides input.\n * @info\n * Primarily used for rare cases in which a visible form label is not expected (e.g., search fields).\n * @localizable\n */\n @Prop({ reflect: true })\n placeholder: string;\n\n /**\n * Appends \"(read only)\" to the field label, and field becomes unusable, but remains focusable.\n * Takes priority over `optional` if both are `true`.\n */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** Indicates how the field is resizable. */\n @Prop({ reflect: true })\n resize: 'none' | 'vertical' | 'horizontal' | 'both' | 'vertical-auto' = 'vertical';\n\n /** Defines the number of rows displayed in the field. */\n @Prop({ reflect: true })\n rows: number;\n\n /** Determines whether the field is subject to spell-checking by the underlying browser or OS. */\n @Prop({ reflect: true })\n spellcheck: boolean;\n\n /** The value of the field. */\n @Prop({ mutable: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the field loses focus after the value has been changed.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the field value is updated.\n * @legacyEvent\n */\n @Event()\n input: EventEmitter<{ value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n if (isNaN(this.maxlength)) {\n this.maxlength = undefined;\n }\n\n if (this.maxlength) {\n this.updateScreenReaderCharacterCount();\n }\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.push(this.checkRows, this.checkCols, this.increaseHeightIfOverflowing);\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n\n @Listen('focus')\n onHostElementFocus(event: Event) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.textareaField.focus();\n }\n\n @Listen('input')\n onHostElementInput(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.oninput) {\n this.value = event.detail.value;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates focusing the `<textarea>`, centering the provided value, and emitting an `input` event.\n *\n * This method leaves the focus on the `<textarea>` and as a result does not trigger the `change` event. If you want\n * to trigger the `change` event, move the focus to another element after calling this method.\n *\n * @testOnly\n */\n @Method()\n setValue(value: string) {\n const { textareaField } = this;\n textareaField.focus();\n textareaField.value = value;\n textareaField.dispatchEvent(new InputEvent('input'));\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('cols')\n colsObserver() {\n this.contentContainer.style.width = null;\n }\n\n @Watch('errors')\n errorsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n @Watch('hints')\n hintsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n @Watch('maxlength')\n maxlengthObserver() {\n if (this.maxlength) {\n this.updateScreenReaderCharacterCount();\n }\n }\n\n @Watch('rows')\n rowsObserver() {\n this.contentContainer.style.height = null;\n }\n\n @Watch('value')\n valueObserver() {\n const { maxlength, value = '' } = this;\n if (!maxlength) return;\n\n const truncatedValue = value.substr(0, maxlength);\n if (truncatedValue === value) return;\n\n this.change.emit({ value: truncatedValue });\n }\n\n // #endregion\n // #region Local Methods\n\n get hasError() {\n return Array.isArray(this.errors) && this.errors.length > 0;\n }\n\n get inputDescribedBy() {\n let describedBy = undefined;\n\n if (this.showMessages) {\n describedBy = `${this.inputId}-description`;\n }\n\n // Remove screen reader character count from described by after typing\n // starts to avoid double announcement. It's needed on focus to announce\n // the character count when field gains focus.\n if (this.maxlength && this.describeByScreenReaderCharacterCount) {\n describedBy = describedBy ? `${describedBy} ${this.inputId}-max-length` : `${this.inputId}-max-length`;\n }\n\n return describedBy;\n }\n\n get inputId() {\n return `input-guid-${this.guid}`;\n }\n\n get messages(): string[] {\n return (\n (this.errors && this.errors.length > 0 && this.errors) ||\n (this.hints && this.hints.length > 0 && this.hints) ||\n []\n );\n }\n\n get showMessages() {\n return this.messages.length > 0 && !this.hideMessages;\n }\n\n get showResize() {\n const { resize } = this;\n return resize && resize !== 'none';\n }\n\n get wrapperClasses() {\n const errorClass = this.hasError ? ' has-error' : '';\n const valueClass = !!this.value ? ' has-value' : '';\n const focusClass = this.hasFocus ? ' has-focus' : '';\n\n return `field-container${errorClass}${valueClass}${focusClass}`;\n }\n\n checkCols = () => {\n const { contentContainer, cols, textareaField, resize } = this;\n\n if (!cols || ['none', 'vertical'].includes(resize)) return;\n contentContainer.style.width = `${contentContainer.offsetWidth}px`;\n textareaField.removeAttribute('cols');\n };\n\n checkRows = () => {\n const { contentContainer, rows, textareaField, resize } = this;\n\n if (!rows || ['none', 'horizontal'].includes(resize)) return;\n contentContainer.style.height = `${contentContainer.offsetHeight}px`;\n textareaField.removeAttribute('rows');\n };\n\n getBorderOffset = () => {\n const computedStyle = window.getComputedStyle(this.textareaField);\n\n return parseInt(computedStyle.borderTopWidth, 10) + parseInt(computedStyle.borderBottomWidth, 10);\n };\n\n increaseHeightIfOverflowing = () => {\n const { scrollHeight } = this.textareaField;\n if (this.resize === 'vertical-auto' && this.isOverflowingVertically()) {\n // need to account for border width because scrollHeight does not include it\n const newHeight = scrollHeight + this.getBorderOffset();\n this.contentContainer.style.height = `${newHeight}px`;\n }\n };\n\n isOverflowingVertically = () => {\n const { clientHeight, scrollHeight } = this.textareaField;\n\n return scrollHeight > clientHeight;\n };\n\n onMouseDown = (event: MouseEvent) => {\n const { contentContainer } = this;\n this.downParams = {\n width: contentContainer.offsetWidth,\n height: contentContainer.offsetHeight,\n x: event.clientX,\n y: event.clientY,\n };\n document.addEventListener('mousemove', this.onMouseMove);\n document.addEventListener('mouseup', this.onMouseUp);\n };\n\n onMouseMove = (event: MouseEvent) => {\n this.setHeight(event);\n this.setWidth(event);\n };\n\n onMouseUp = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n this.downParams = null;\n };\n\n onTextareaBlur = () => {\n const {\n valueOnFocus,\n textareaField: { value },\n } = this;\n this.describeByScreenReaderCharacterCount = true;\n this.hasFocus = false;\n setMessageHeight(this);\n if (valueOnFocus !== value) this.change.emit({ value });\n };\n\n onTextareaChange = (event: InputEvent) => {\n event.stopPropagation();\n const value = (event.target as HTMLTextAreaElement).value;\n\n this.change.emit({ value });\n };\n\n onTextareaFocus = () => {\n this.hasFocus = true;\n this.valueOnFocus = this.value;\n setMessageHeight(this);\n };\n\n onTextareaInput = (event: InputEvent) => {\n event.stopPropagation();\n const value = (event.target as HTMLTextAreaElement).value;\n this.describeByScreenReaderCharacterCount = false;\n this.increaseHeightIfOverflowing();\n if (this.maxlength) this.debouncedScreenReaderCharacterCount();\n this.input.emit({ value });\n };\n\n onTouchMove = (event: TouchEvent) => {\n this.setHeight(event);\n this.setWidth(event);\n };\n\n onTouchStart = (event: TouchEvent) => {\n if (event.touches.length !== 1) return;\n\n event.preventDefault();\n\n const { contentContainer } = this;\n const firstTouch = event.touches[0];\n\n this.downParams = {\n width: contentContainer.offsetWidth,\n height: contentContainer.offsetHeight,\n x: firstTouch.pageX,\n y: firstTouch.pageY,\n };\n\n document.addEventListener('touchmove', this.onTouchMove);\n document.addEventListener('touchend', this.onTouchMove);\n };\n\n setHeight(event: MouseEvent | TouchEvent) {\n const {\n contentContainer,\n resize,\n downParams: { height, y },\n } = this;\n const resizeY = ['both', 'vertical', 'vertical-auto'].includes(resize);\n\n if (!resizeY) return;\n\n const eventY = event instanceof MouseEvent ? event.clientY : event.touches[0]?.pageY ?? 0;\n const newHeight = height - (y - eventY);\n // If 'vertical-auto', change height if the new height is greater\n // than the current height or the textarea is not overflowing.\n // Otherwise, change height regardless of the new height.\n if (\n resize !== 'vertical-auto' ||\n newHeight > height ||\n (resize === 'vertical-auto' && !this.isOverflowingVertically())\n ) {\n contentContainer.style.height = `${newHeight}px`;\n }\n }\n\n setWidth(event: MouseEvent | TouchEvent) {\n const {\n contentContainer,\n resize,\n downParams: { width, x },\n } = this;\n\n const resizeX = ['both', 'horizontal'].includes(resize);\n\n if (!resizeX) return;\n const eventX = event instanceof MouseEvent ? event.clientX : event.touches[0]?.pageX ?? 0;\n const newWidth = width - (x - eventX);\n contentContainer.style.width = `${newWidth}px`;\n }\n\n updateScreenReaderCharacterCount = () => {\n this.screenReaderCharacterCount = this.value?.length || 0;\n };\n\n // #endregion\n // #region Render Methods\n\n renderInput() {\n const textareaClasses = this.resize === 'vertical-auto' ? 'resize-vertical-auto' : '';\n\n return (\n <div class=\"input-container\">\n <textarea\n id={this.inputId}\n class={textareaClasses}\n placeholder={(this.placeholder && loc(this.placeholder)) || undefined}\n test-id=\"inputField\"\n maxLength={this.maxlength}\n aria-describedby={this.inputDescribedBy}\n aria-invalid={`${this.hasError}`}\n aria-required={`${!this.optional}`}\n aria-label={this.hideLabel && this.label}\n spellcheck={this.spellcheck}\n rows={this.rows || 3}\n cols={this.cols}\n value={this.value}\n ref={el => (this.textareaField = el)}\n readonly={!!this.readonly}\n disabled={!!this.disabled}\n maxlength={this.maxlength}\n onInput={this.onTextareaInput}\n onChange={this.onTextareaChange}\n onFocus={this.onTextareaFocus}\n onBlur={this.onTextareaBlur}\n ></textarea>\n {this.hasError ? (\n <q2-icon\n type=\"error\"\n class=\"icon-error\"\n />\n ) : (\n ''\n )}\n {this.showResize && (\n <button\n onMouseDown={this.onMouseDown}\n onTouchStart={this.onTouchStart}\n class=\"btn-resize\"\n aria-label={loc('tecton.element.input.resize')}\n tabIndex={-1}\n >\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.5 11.5l3-3m-7 3l7-7m-11 7l11-11\"\n fill=\"none\"\n stroke-stroke-linecap=\"square\"\n />\n </svg>\n </button>\n )}\n </div>\n );\n }\n\n renderMaxLength() {\n return (\n <Fragment>\n <div\n class=\"max-length\"\n aria-hidden=\"true\"\n >\n {this.value?.length || 0}/{this.maxlength}\n </div>\n <div\n aria-live=\"polite\"\n class=\"sr\"\n id={`${this.inputId}-max-length`}\n test-id=\"max-length-sr\"\n >\n {loc('tecton.element.textarea.characterCount.screenReader', [\n this.screenReaderCharacterCount,\n this.maxlength,\n ])}\n </div>\n </Fragment>\n );\n }\n\n render() {\n return (\n <div class={this.wrapperClasses}>\n {renderLabel(this)}\n <div\n class=\"content-container\"\n ref={el => (this.contentContainer = el)}\n >\n {this.renderInput()}\n {this.maxlength ? this.renderMaxLength() : ''}\n {renderMessages(this)}\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"],"version":3}
1
+ {"file":"q2-textarea.entry.cjs.js","mappings":"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","names":["debounce","createGuid","setMessageHeight","overrideFocus","isEventFromElement","h","loc","Fragment","renderLabel","renderMessages"],"sources":["src/components/q2-textarea/q2-textarea.scss?tag=q2-textarea&encapsulation=shadow","src/components/q2-textarea/q2-textarea.tsx"],"sourcesContent":["@import '../../styles/host';\n@import '../../styles/functions';\n\n:host {\n --comp-default-margin: #{var-list(var-prefixer(textarea-margin-top), --app-scale-6x, 30px)} 0 #{var-list(\n var-prefixer(textarea-margin-bottom),\n --app-scale-6x,\n 30px\n )};\n display: block;\n margin: var-list(--tct-textarea-margin, --comp-default-margin);\n font-size: var-list(var-prefixer(textarea-font-size), --app-font-size, inherit);\n}\n\n:host([hidden]) {\n display: none;\n}\n\nlabel {\n --comp-label-padding: #{var-list(\n --tct-textarea-label-padding,\n unquote(\n '0 #{var-list(var-prefixer(textarea-label-padding-right), 0)} 0 #{var-list(var-prefixer(textarea-label-padding-left), 0)}'\n )\n )};\n --comp-label-margin: #{var-list(\n --tct-textarea-label-margin,\n unquote(\n '#{var-list(var-prefixer(textarea-label-margin-top), 0)} 0 #{var-list(var-prefixer(textarea-label-margin-bottom), --tct-scale-1x, --app-scale-1x, 5px)}'\n )\n )};\n display: block;\n padding: var(--comp-label-padding);\n margin: var(--comp-label-margin);\n color: var-list(var-prefixer(textarea-label-font-color), inherit);\n font-size: var-list(var-prefixer(textarea-label-font-size), inherit);\n font-weight: var-list(var-prefixer(textarea-label-font-weight), 600);\n text-transform: var-list(var-prefixer(textarea-label-text-transform), none);\n letter-spacing: var-list(var-prefixer(textarea-label-letter-spacing), normal);\n transition: color var-list(var-prefixer(textarea-tween), --tct-tween-2, --app-tween-2, unquote('0.4s ease'));\n\n .has-error & {\n color: var-list(var-prefixer(textarea-error-label-font-color), --tct-textarea-label-font-color, inherit);\n }\n\n :hover & {\n color: var-list(--tct-textarea-hover-label-font-color, var-prefixer(textarea-label-font-color), inherit);\n .has-error & {\n color: var-list(\n --tct-textarea-error-hover-label-font-color,\n var-prefixer(textarea-error-label-font-color),\n --tct-textarea-hover-label-font-color,\n --tct-textarea-label-font-color,\n inherit\n );\n }\n }\n\n :host(:focus-within) & {\n color: var-list(--tct-textarea-focus-label-font-color, var-prefixer(textarea-label-font-color), inherit);\n }\n\n :host(:focus-within) .has-error & {\n color: var-list(\n --tct-textarea-error-focus-label-font-color,\n var-prefixer(textarea-error-label-font-color),\n --tct-textarea-focus-label-font-color,\n var-prefixer(textarea-label-font-color),\n inherit\n );\n }\n}\n\n.optional-tag {\n --comp-label-optional-margin: #{var-list(\n --tct-textarea-label-optional-margin,\n unquote(\n '0 0 0 #{var-list(var-prefixer(textarea-label-optional-margin-left), --tct-scale-1x, --app-scale-1x, 5px)}'\n )\n )};\n margin: var(--comp-label-optional-margin);\n color: var-list(\n var-prefixer(textarea-label-optional-font-color),\n --t-textA,\n --t-a11y-gray-color,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var-list(var-prefixer(textarea-label-optional-font-size), 12px);\n font-weight: var-list(var-prefixer(textarea-label-optional-font-weight), 400);\n}\n\n.input-container {\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n height: 100%;\n --comp-default-border-radius: #{var-list(--tct-border-radius-1, --app-border-radius-1, 4px)};\n --comp-textarea-border-top-left-radius: #{var-list(\n var-prefixer(textarea-border-top-left-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-top-right-radius: #{var-list(\n var-prefixer(textarea-border-top-right-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-bottom-right-radius: #{var-list(\n var-prefixer(textarea-border-bottom-right-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-bottom-left-radius: #{var-list(\n var-prefixer(textarea-border-bottom-left-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-radius: var(--comp-textarea-border-top-left-radius)\n var(--comp-textarea-border-top-right-radius) var(--comp-textarea-border-bottom-right-radius)\n var(--comp-textarea-border-bottom-left-radius);\n --comp-textarea-border-width: #{var-list(var-prefixer(textarea-border-top-width), 1px)\n var-list(var-prefixer(textarea-border-right-width), 1px)\n var-list(var-prefixer(textarea-border-bottom-width), 1px)\n var-list(var-prefixer(textarea-border-left-width), 1px)};\n --comp-textarea-icon-clearance: 34px;\n\n :host([disabled]) & {\n cursor: not-allowed;\n opacity: var-list(var-prefixer(textarea-disabled-opacity), --tct-disabled-opacity, --app-disabled-opacity, 0.4);\n }\n}\n\n.content-container {\n --comp-textarea-min-height: 46px;\n --comp-textarea-min-width: 150px;\n position: relative;\n display: inline-block;\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n min-width: var-list(var-prefixer(textarea-min-width) --comp-textarea-min-width);\n\n :host(:not([cols])) & {\n width: 100%;\n }\n}\n\ntextarea {\n --comp-textarea-padding: #{var-list(\n --tct-textarea-padding,\n unquote(\n '#{var-list(var-prefixer(textarea-vertical-padding), --tct-scale-2x, --app-scale-2x, 10px)} #{var-list(var-prefixer(textarea-horizontal-padding), --tct-scale-2x, --app-scale-2x, 10px)}'\n )\n )};\n --comp-textarea-border-color: #{var-list(\n var-prefixer(textarea-border-color),\n var-prefixer(input-border-color),\n --t-a11y-gray-color-AA,\n #949494\n )};\n --comp-textarea-background: #{var-list(\n --tct-textarea-background,\n var-prefixer(textarea-bg),\n --tct-input-background,\n var-prefixer(input-bg),\n --t-gray-14,\n #fcfcfd\n )};\n --comp-textarea-hover-ring-color: var(--tct-textarea-hover-ring-color);\n --comp-textarea-hover-ring: #{0 0 0 2px var(--t-base), 0 0 0 4px var(--comp-textarea-hover-ring-color),\n var-list(--tct-textarea-hover-box-shadow, unquote('0 0 transparent'))};\n\n resize: none;\n height: 100%;\n -webkit-appearance: none;\n appearance: none;\n display: block;\n box-sizing: border-box;\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n padding: var(--comp-textarea-padding);\n background: var(--comp-textarea-background);\n color: var-list(var-prefixer(textarea-font-color), --t-input-font-color, inherit);\n border-width: var(--comp-textarea-border-width);\n border-style: solid;\n border-color: var(--comp-textarea-border-color);\n border-radius: var(--comp-textarea-border-radius);\n box-shadow: var-list(var-prefixer(textarea-box-shadow), none);\n scrollbar-width: thin;\n scrollbar-color: var(--t-a11y-gray-color) transparent;\n --comp-textarea-tween: #{var-list(var-prefixer(textarea-tween), --tct-tween-2, --app-tween-2, unquote('0.4s ease'))};\n transition:\n border-width var(--comp-textarea-tween),\n border-color var(--comp-textarea-tween),\n box-shadow var(--comp-textarea-tween);\n\n &::-webkit-scrollbar {\n width: var(--app-scale-1x);\n height: var(--app-scale-1x);\n margin: var(--app-scale-1x);\n }\n\n &::-webkit-scrollbar-thumb {\n background: var(--t-a11y-gray-color);\n border-radius: 2px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &:not([cols]) {\n width: 100%;\n }\n\n .has-error & {\n padding-right: var(--comp-textarea-icon-clearance);\n border-color: var-list(var-prefixer(textarea-error-border-color), --const-stoplight-alert, #d20a0a);\n background: var-list(--tct-textarea-error-background, --comp-textarea-background);\n }\n\n &:hover {\n border-color: var-list(--tct-textarea-hover-border-color, --comp-textarea-border-color);\n background: var-list(--tct-textarea-hover-background, --comp-textarea-background);\n box-shadow: var-list(--tct-textarea-hover-box-shadow, --comp-textarea-hover-ring);\n\n .has-error & {\n border-color: var-list(\n --tct-textarea-error-hover-border-color,\n var-prefixer(textarea-error-border-color),\n --const-stoplight-alert,\n #d20a0a\n );\n background: var-list(\n --tct-textarea-error-hover-background,\n --tct-textarea-error-background,\n --comp-textarea-background\n );\n box-shadow: var-list(\n --tct-textarea-error-hover-box-shadow,\n --tct-textarea-error-box-shadow,\n --tct-textarea-hover-box-shadow,\n --comp-textarea-hover-ring\n );\n }\n }\n\n &:focus {\n border-color: var-list(--tct-textarea-focus-border-color, --comp-textarea-border-color);\n background: var-list(--tct-textarea-focus-background, --comp-textarea-background);\n box-shadow: var-list(--tct-textarea-focus-box-shadow, --const-double-focus-ring);\n\n .has-error & {\n border-color: var-list(\n --tct-textarea-error-focus-border-color,\n --tct-textarea-error-border-color,\n --const-stoplight-alert,\n #d20a0a\n );\n background: var-list(\n --tct-textarea-error-focus-background,\n --tct-textarea-error-background,\n --tct-textarea-focus-background,\n --comp-textarea-background\n );\n box-shadow: var-list(\n --tct-textarea-error-focus-box-shadow,\n --tct-textarea-error-box-shadow,\n --tct-textarea-focus-box-shadow,\n --const-double-focus-ring\n );\n }\n }\n\n &::placeholder {\n color: var-list(\n var-prefixer(textarea-placeholder-font-color),\n --t-input-placeholder-font-color,\n --tct-gray-7,\n --app-gray-7,\n --tct-gray-d1,\n --app-gray-d1,\n #666666\n );\n }\n\n &[disabled] {\n cursor: not-allowed;\n }\n\n &.resize-vertical-auto {\n overflow: hidden;\n }\n\n .has-error & {\n padding-right: var(--comp-textarea-icon-clearance);\n\n &:not(:focus) {\n border-color: var-list(var-prefixer(textarea-error-border-color), --const-stoplight-alert, #d20a0a);\n }\n }\n}\n\nq2-icon {\n margin-top: calc(#{var-list(var-prefixer(textarea-border-top-width), 1px)} / 2);\n margin-bottom: calc(#{var-list(var-prefixer(textarea-border-bottom-width), 1px)} / 2);\n pointer-events: none;\n position: absolute;\n top: var-list(var-prefixer(textarea-vertical-padding), --tct-scale-2x, --app-scale-2x, 10px);\n color: var-list(var-prefixer(textarea-icon-stroke-primary), --app-gray-9, --tct-gray, --app-gray, #999999);\n right: 0;\n margin-right: var-list(--tct-scale-2x, --app-scale-2x, 10px);\n --tct-icon-stroke-primary: #{var-list(\n var-prefixer(textarea-icon-stroke-primary),\n var-prefixer(gray-9),\n --tct-gray,\n --app-gray,\n #999999\n )};\n --t-icon-stroke-primary: #{var-list(\n var-prefixer(textarea-icon-stroke-primary),\n var-prefixer(gray-9),\n --tct-gray,\n --app-gray,\n #999999\n )};\n}\n\n.icon-error {\n color: var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a);\n --tct-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a)};\n --t-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a)};\n}\n\n.messages-container {\n height: 0px;\n overflow: hidden;\n background: var-list(\n --tct-message-background,\n --tct-message-bg,\n var-prefixer(gray-14),\n --tct-gray-l3,\n --app-gray-l3,\n #f2f2f2\n );\n box-shadow: var-list(\n var-prefixer(textarea-message-box-shadow),\n --tct-box-shadow-1,\n --app-shadow-1,\n unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\")\n );\n transition: height\n var-list(var-prefixer(textarea-messages-tween), --tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n margin-top: 2px;\n z-index: 1;\n position: absolute;\n width: 100%;\n color: var-list(var-prefixer(textarea-messages-font-color), inherit);\n}\n\n.max-length {\n color: var-list(var-prefixer(textarea-max-length-color), --t-textA, rgba(77, 77, 77, 0.77));\n font-size: var-list(\n var-prefixer(textarea-max-length-font-size),\n --tct-font-size-small,\n --app-font-size-small,\n 12px\n );\n position: absolute;\n right: 0;\n}\n\n.btn-resize {\n --tct-textarea-resize-icon-padding: calc(\n calc(\n #{var-list(var-prefixer(textarea-resize-btn-width), --tct-btn-icon-width, 44px)} - #{var-list(\n var-prefixer(textarea-resize-icon-size),\n 12px\n )}\n ) / 2\n );\n width: var-list(var-prefixer(textarea-resize-btn-width), --tct-btn-icon-width, 44px);\n height: var-list(var-prefixer(textarea-resize-btn-height), --tct-btn-icon-height, 44px);\n background: var-list(var-prefixer(textarea-resize-btn-background), transparent);\n stroke: var-list(var-prefixer(textarea-resize-color), --t-textA, rgba(77, 77, 77, 0.77));\n border: 0;\n position: absolute;\n right: calc(#{var-list(var-prefixer(textarea-resize-icon-padding))} * -1 + 2px);\n bottom: calc(#{var-list(var-prefixer(textarea-resize-icon-padding))} * -1 + 2px);\n display: block;\n padding: var-list(var-prefixer(textarea-resize-icon-padding));\n font-size: 0;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n\n :host([resize='both']) & {\n cursor: se-resize;\n }\n\n :host([resize='vertical']) &,\n :host([resize='vertical-auto']) & {\n cursor: s-resize;\n }\n\n :host([resize='horizontal']) & {\n cursor: e-resize;\n }\n}\n","import {\n Component,\n EventEmitter,\n Prop,\n Event,\n Element,\n Fragment,\n State,\n h,\n Watch,\n Listen,\n Method,\n} from '@stencil/core';\nimport { IDict } from 'src/util';\nimport {\n createGuid,\n debounce,\n isEventFromElement,\n renderLabel,\n loc,\n renderMessages,\n overrideFocus,\n setMessageHeight,\n} from 'src/utils';\n\n@Component({ tag: 'q2-textarea', shadow: true, styleUrl: 'q2-textarea.scss' })\nexport class Q2Textarea {\n // #region Own Properties\n\n contentContainer?: HTMLDivElement;\n debouncedScreenReaderCharacterCount = debounce(() => {\n this.updateScreenReaderCharacterCount();\n }, 2000);\n describeByScreenReaderCharacterCount = true;\n guid = createGuid();\n scheduledAfterRender: (() => void)[] = [];\n textareaField?: HTMLTextAreaElement;\n valueOnFocus: string;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n downParams: IDict<number>;\n\n @State()\n hasFocus: boolean;\n\n @State()\n screenReaderCharacterCount: number;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Defines the number of columns displayed in the field.\n * If not set, the field will be full-width and respond to the window size.\n */\n @Prop({ reflect: true })\n cols: number;\n\n /** Indicates the field cannot be focused or interacted with. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Each item in the `errors` array will appear below the input field when the field is focused.\n * @localizable\n */\n @Prop()\n errors: string[];\n\n /**\n * Hide's the field's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true })\n hideLabel: boolean;\n\n /**\n * When `true` and the input field has an active validation error, the field shows the error state without displaying associated error messages below the field (from the errors array above).\n * Primarily used for dropdown selects and date pickers whose controls appear below the input field (where the error messages, if displayed, would also appear).\n */\n @Prop({ reflect: true })\n hideMessages: boolean;\n\n /**\n * Each item in the `hints` array will appear below the input field when the field is focused.\n * @info\n * The `errors` array takes precedence over the `hints` array. If an input field has both hints and errors, only the errors will display.\n * Once all errors are resolved, the hints display the next time the field is focused.\n * @localizable\n */\n @Prop()\n hints: string[];\n\n /**\n * The label that appears above the field. This is announced by screen readers when the field is focused.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /**\n * Defines the maximum allowed input length in characters. Formatting characters (e.g. `.`, `-`, etc) are included in the `maxlength` comparison.\n * Make sure you account for them when setting the `maxlength` value.\n * @info\n * Please set the `rows` attribute in correlation with `maxlength` to show as much text as possible in the field viewport.\n */\n @Prop({ reflect: true, mutable: true })\n maxlength: number;\n\n /** Appends \"(optional)\" to the field label, and sets `aria-required` on the nested input tag to `false`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /**\n * Text that appears within the field when it is blurred and empty.\n * Placeholder text disappears when the user focuses on the field and provides input.\n * @info\n * Primarily used for rare cases in which a visible form label is not expected (e.g., search fields).\n * @localizable\n */\n @Prop({ reflect: true })\n placeholder: string;\n\n /**\n * Appends \"(read only)\" to the field label, and field becomes unusable, but remains focusable.\n * Takes priority over `optional` if both are `true`.\n */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** Indicates how the field is resizable. */\n @Prop({ reflect: true })\n resize: 'none' | 'vertical' | 'horizontal' | 'both' | 'vertical-auto' = 'vertical';\n\n /** Defines the number of rows displayed in the field. */\n @Prop({ reflect: true })\n rows: number;\n\n /** Determines whether the field is subject to spell-checking by the underlying browser or OS. */\n @Prop({ reflect: true })\n spellcheck: boolean;\n\n /** The value of the field. */\n @Prop({ mutable: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the field loses focus after the value has been changed.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the field value is updated.\n * @legacyEvent\n */\n @Event()\n input: EventEmitter<{ value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n if (isNaN(this.maxlength)) {\n this.maxlength = undefined;\n }\n\n if (this.maxlength) {\n this.updateScreenReaderCharacterCount();\n }\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.push(this.checkRows, this.checkCols, this.increaseHeightIfOverflowing);\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n\n @Listen('focus')\n onHostElementFocus(event: Event) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.textareaField.focus();\n }\n\n @Listen('input')\n onHostElementInput(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.oninput) {\n this.value = event.detail.value;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates focusing the `<textarea>`, centering the provided value, and emitting an `input` event.\n *\n * This method leaves the focus on the `<textarea>` and as a result does not trigger the `change` event. If you want\n * to trigger the `change` event, move the focus to another element after calling this method.\n *\n * @testOnly\n */\n @Method()\n setValue(value: string) {\n const { textareaField } = this;\n textareaField.focus();\n textareaField.value = value;\n textareaField.dispatchEvent(new InputEvent('input'));\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('cols')\n colsObserver() {\n this.contentContainer.style.width = null;\n }\n\n @Watch('errors')\n errorsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n @Watch('hints')\n hintsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n @Watch('maxlength')\n maxlengthObserver() {\n if (this.maxlength) {\n this.updateScreenReaderCharacterCount();\n }\n }\n\n @Watch('rows')\n rowsObserver() {\n this.contentContainer.style.height = null;\n }\n\n @Watch('value')\n valueObserver() {\n const { maxlength, value = '' } = this;\n if (!maxlength) return;\n\n const truncatedValue = value.substr(0, maxlength);\n if (truncatedValue === value) return;\n\n this.change.emit({ value: truncatedValue });\n }\n\n // #endregion\n // #region Local Methods\n\n get hasError() {\n return Array.isArray(this.errors) && this.errors.length > 0;\n }\n\n get inputDescribedBy() {\n let describedBy = undefined;\n\n if (this.showMessages) {\n describedBy = `${this.inputId}-description`;\n }\n\n // Remove screen reader character count from described by after typing\n // starts to avoid double announcement. It's needed on focus to announce\n // the character count when field gains focus.\n if (this.maxlength && this.describeByScreenReaderCharacterCount) {\n describedBy = describedBy ? `${describedBy} ${this.inputId}-max-length` : `${this.inputId}-max-length`;\n }\n\n return describedBy;\n }\n\n get inputId() {\n return `input-guid-${this.guid}`;\n }\n\n get messages(): string[] {\n return (\n (this.errors && this.errors.length > 0 && this.errors) ||\n (this.hints && this.hints.length > 0 && this.hints) ||\n []\n );\n }\n\n get showMessages() {\n return this.messages.length > 0 && !this.hideMessages;\n }\n\n get showResize() {\n const { resize } = this;\n return resize && resize !== 'none';\n }\n\n get wrapperClasses() {\n const errorClass = this.hasError ? ' has-error' : '';\n const valueClass = !!this.value ? ' has-value' : '';\n const focusClass = this.hasFocus ? ' has-focus' : '';\n\n return `field-container${errorClass}${valueClass}${focusClass}`;\n }\n\n checkCols = () => {\n const { contentContainer, cols, textareaField, resize } = this;\n\n if (!cols || ['none', 'vertical'].includes(resize)) return;\n contentContainer.style.width = `${contentContainer.offsetWidth}px`;\n textareaField.removeAttribute('cols');\n };\n\n checkRows = () => {\n const { contentContainer, rows, textareaField, resize } = this;\n\n if (!rows || ['none', 'horizontal'].includes(resize)) return;\n contentContainer.style.height = `${contentContainer.offsetHeight}px`;\n textareaField.removeAttribute('rows');\n };\n\n getBorderOffset = () => {\n const computedStyle = window.getComputedStyle(this.textareaField);\n\n return parseInt(computedStyle.borderTopWidth, 10) + parseInt(computedStyle.borderBottomWidth, 10);\n };\n\n increaseHeightIfOverflowing = () => {\n const { scrollHeight } = this.textareaField;\n if (this.resize === 'vertical-auto' && this.isOverflowingVertically()) {\n // need to account for border width because scrollHeight does not include it\n const newHeight = scrollHeight + this.getBorderOffset();\n this.contentContainer.style.height = `${newHeight}px`;\n }\n };\n\n isOverflowingVertically = () => {\n const { clientHeight, scrollHeight } = this.textareaField;\n\n return scrollHeight > clientHeight;\n };\n\n onMouseDown = (event: MouseEvent) => {\n const { contentContainer } = this;\n this.downParams = {\n width: contentContainer.offsetWidth,\n height: contentContainer.offsetHeight,\n x: event.clientX,\n y: event.clientY,\n };\n document.addEventListener('mousemove', this.onMouseMove);\n document.addEventListener('mouseup', this.onMouseUp);\n };\n\n onMouseMove = (event: MouseEvent) => {\n this.setHeight(event);\n this.setWidth(event);\n };\n\n onMouseUp = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n document.removeEventListener('mouseup', this.onMouseUp);\n this.downParams = null;\n };\n\n onTextareaBlur = () => {\n const {\n valueOnFocus,\n textareaField: { value },\n } = this;\n this.describeByScreenReaderCharacterCount = true;\n this.hasFocus = false;\n setMessageHeight(this);\n if (valueOnFocus !== value) this.change.emit({ value });\n };\n\n onTextareaChange = (event: InputEvent) => {\n event.stopPropagation();\n const value = (event.target as HTMLTextAreaElement).value;\n\n this.change.emit({ value });\n };\n\n onTextareaFocus = () => {\n this.hasFocus = true;\n this.valueOnFocus = this.value;\n setMessageHeight(this);\n };\n\n onTextareaInput = (event: InputEvent) => {\n event.stopPropagation();\n const value = (event.target as HTMLTextAreaElement).value;\n this.describeByScreenReaderCharacterCount = false;\n this.increaseHeightIfOverflowing();\n if (this.maxlength) this.debouncedScreenReaderCharacterCount();\n this.input.emit({ value });\n };\n\n onTouchMove = (event: TouchEvent) => {\n this.setHeight(event);\n this.setWidth(event);\n };\n\n onTouchStart = (event: TouchEvent) => {\n if (event.touches.length !== 1) return;\n\n event.preventDefault();\n\n const { contentContainer } = this;\n const firstTouch = event.touches[0];\n\n this.downParams = {\n width: contentContainer.offsetWidth,\n height: contentContainer.offsetHeight,\n x: firstTouch.pageX,\n y: firstTouch.pageY,\n };\n\n document.addEventListener('touchmove', this.onTouchMove);\n document.addEventListener('touchend', this.onTouchMove);\n };\n\n setHeight(event: MouseEvent | TouchEvent) {\n const {\n contentContainer,\n resize,\n downParams: { height, y },\n } = this;\n const resizeY = ['both', 'vertical', 'vertical-auto'].includes(resize);\n\n if (!resizeY) return;\n\n const eventY = event instanceof MouseEvent ? event.clientY : event.touches[0]?.pageY ?? 0;\n const newHeight = height - (y - eventY);\n // If 'vertical-auto', change height if the new height is greater\n // than the current height or the textarea is not overflowing.\n // Otherwise, change height regardless of the new height.\n if (\n resize !== 'vertical-auto' ||\n newHeight > height ||\n (resize === 'vertical-auto' && !this.isOverflowingVertically())\n ) {\n contentContainer.style.height = `${newHeight}px`;\n }\n }\n\n setWidth(event: MouseEvent | TouchEvent) {\n const {\n contentContainer,\n resize,\n downParams: { width, x },\n } = this;\n\n const resizeX = ['both', 'horizontal'].includes(resize);\n\n if (!resizeX) return;\n const eventX = event instanceof MouseEvent ? event.clientX : event.touches[0]?.pageX ?? 0;\n const newWidth = width - (x - eventX);\n contentContainer.style.width = `${newWidth}px`;\n }\n\n updateScreenReaderCharacterCount = () => {\n this.screenReaderCharacterCount = this.value?.length || 0;\n };\n\n // #endregion\n // #region Render Methods\n\n renderInput() {\n const textareaClasses = this.resize === 'vertical-auto' ? 'resize-vertical-auto' : '';\n\n return (\n <div class=\"input-container\">\n <textarea\n id={this.inputId}\n class={textareaClasses}\n placeholder={(this.placeholder && loc(this.placeholder)) || undefined}\n test-id=\"inputField\"\n maxLength={this.maxlength}\n aria-describedby={this.inputDescribedBy}\n aria-invalid={`${this.hasError}`}\n aria-required={`${!this.optional}`}\n aria-label={this.hideLabel && this.label}\n spellcheck={this.spellcheck}\n rows={this.rows || 3}\n cols={this.cols}\n value={this.value}\n ref={el => (this.textareaField = el)}\n readonly={!!this.readonly}\n disabled={!!this.disabled}\n maxlength={this.maxlength}\n onInput={this.onTextareaInput}\n onChange={this.onTextareaChange}\n onFocus={this.onTextareaFocus}\n onBlur={this.onTextareaBlur}\n ></textarea>\n {this.hasError ? (\n <q2-icon\n type=\"error\"\n class=\"icon-error\"\n />\n ) : (\n ''\n )}\n {this.showResize && (\n <button\n onMouseDown={this.onMouseDown}\n onTouchStart={this.onTouchStart}\n class=\"btn-resize\"\n aria-label={loc('tecton.element.input.resize')}\n tabIndex={-1}\n >\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.5 11.5l3-3m-7 3l7-7m-11 7l11-11\"\n fill=\"none\"\n stroke-stroke-linecap=\"square\"\n />\n </svg>\n </button>\n )}\n </div>\n );\n }\n\n renderMaxLength() {\n return (\n <Fragment>\n <div\n class=\"max-length\"\n aria-hidden=\"true\"\n >\n {this.value?.length || 0}/{this.maxlength}\n </div>\n <div\n aria-live=\"polite\"\n class=\"sr\"\n id={`${this.inputId}-max-length`}\n test-id=\"max-length-sr\"\n >\n {loc('tecton.element.textarea.characterCount.screenReader', [\n this.screenReaderCharacterCount,\n this.maxlength,\n ])}\n </div>\n </Fragment>\n );\n }\n\n render() {\n return (\n <div class={this.wrapperClasses}>\n {renderLabel(this)}\n <div\n class=\"content-container\"\n ref={el => (this.contentContainer = el)}\n >\n {this.renderInput()}\n {this.maxlength ? this.renderMaxLength() : ''}\n {renderMessages(this)}\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"],"version":3}
@@ -2,6 +2,7 @@
2
2
  "entries": [
3
3
  "components/q2-btn/q2-btn.js",
4
4
  "components/q2-data-table/q2-data-table.js",
5
+ "components/q2-file-picker/q2-file-picker.js",
5
6
  "components/q2-badge/q2-badge.js",
6
7
  "components/q2-icon/q2-icon.js",
7
8
  "components/q2-option-list/q2-option-list.js",
@@ -82,6 +82,10 @@ export class Q2Btn {
82
82
  this.handleButtonSize();
83
83
  overrideFocus(this.hostElement);
84
84
  }
85
+ disconnectedCallback() {
86
+ this.primaryBtn = null;
87
+ this.primaryBtnWrapper = null;
88
+ }
85
89
  // #endregion
86
90
  // #region Listeners
87
91
  handleClick(event) {