q2-tecton-elements 1.36.0 → 1.37.0

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 (312) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +1 -1
  2. package/dist/cjs/{index-f6545293.js → index-6f9f259c.js} +12 -9
  3. package/dist/cjs/index-6f9f259c.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js.map +1 -1
  7. package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
  8. package/dist/cjs/q2-calendar.cjs.entry.js +46 -3
  9. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
  12. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  14. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  15. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  16. package/dist/cjs/q2-chart-bar.cjs.entry.js.map +1 -1
  17. package/dist/cjs/q2-chart-donut.cjs.entry.js +12 -8
  18. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  19. package/dist/cjs/q2-checkbox-group.cjs.entry.js +25 -6
  20. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  21. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  22. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  23. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-editable-field.cjs.entry.js +34 -6
  27. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  28. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-input.cjs.entry.js +17 -10
  30. package/dist/cjs/q2-input.cjs.entry.js.map +1 -1
  31. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-message.cjs.entry.js +14 -13
  33. package/dist/cjs/q2-message.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-optgroup_2.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-option-list.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-pill.cjs.entry.js +3 -3
  39. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  40. package/dist/cjs/q2-radio-group.cjs.entry.js +9 -1
  41. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  42. package/dist/cjs/q2-radio.cjs.entry.js +12 -3
  43. package/dist/cjs/q2-radio.cjs.entry.js.map +1 -1
  44. package/dist/cjs/q2-section.cjs.entry.js +1 -1
  45. package/dist/cjs/q2-select.cjs.entry.js +54 -5
  46. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  47. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  48. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
  49. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  50. package/dist/cjs/q2-tab-container.cjs.entry.js +1 -1
  51. package/dist/cjs/q2-tag.cjs.entry.js +1 -1
  52. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  53. package/dist/cjs/q2-textarea.cjs.entry.js +13 -1
  54. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  55. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  56. package/dist/collection/components/q2-action-sheet/styles.css +0 -8
  57. package/dist/collection/components/q2-calendar/index.js +120 -2
  58. package/dist/collection/components/q2-calendar/index.js.map +1 -1
  59. package/dist/collection/components/q2-chart-area/index.js +1 -1
  60. package/dist/collection/components/q2-chart-area/index.js.map +1 -1
  61. package/dist/collection/components/q2-chart-bar/index.js +1 -1
  62. package/dist/collection/components/q2-chart-bar/index.js.map +1 -1
  63. package/dist/collection/components/q2-chart-donut/index.js +11 -7
  64. package/dist/collection/components/q2-chart-donut/index.js.map +1 -1
  65. package/dist/collection/components/q2-checkbox-group/index.js +45 -5
  66. package/dist/collection/components/q2-checkbox-group/index.js.map +1 -1
  67. package/dist/collection/components/q2-data-table/styles.css +37 -36
  68. package/dist/collection/components/q2-editable-field/index.js +96 -6
  69. package/dist/collection/components/q2-editable-field/index.js.map +1 -1
  70. package/dist/collection/components/q2-input/index.js +48 -10
  71. package/dist/collection/components/q2-input/index.js.map +1 -1
  72. package/dist/collection/components/q2-message/index.js +14 -13
  73. package/dist/collection/components/q2-message/index.js.map +1 -1
  74. package/dist/collection/components/q2-pill/index.js +2 -2
  75. package/dist/collection/components/q2-pill/index.js.map +1 -1
  76. package/dist/collection/components/q2-radio/index.js +29 -3
  77. package/dist/collection/components/q2-radio/index.js.map +1 -1
  78. package/dist/collection/components/q2-radio-group/index.js +27 -0
  79. package/dist/collection/components/q2-radio-group/index.js.map +1 -1
  80. package/dist/collection/components/q2-select/index.js +127 -5
  81. package/dist/collection/components/q2-select/index.js.map +1 -1
  82. package/dist/collection/components/q2-textarea/index.js +37 -0
  83. package/dist/collection/components/q2-textarea/index.js.map +1 -1
  84. package/dist/collection/utils/index.js +8 -6
  85. package/dist/collection/utils/index.js.map +1 -1
  86. package/dist/components/index11.js +14 -13
  87. package/dist/components/index11.js.map +1 -1
  88. package/dist/components/index16.js +11 -8
  89. package/dist/components/index16.js.map +1 -1
  90. package/dist/components/index9.js +19 -10
  91. package/dist/components/index9.js.map +1 -1
  92. package/dist/components/q2-action-sheet.js +1 -1
  93. package/dist/components/q2-action-sheet.js.map +1 -1
  94. package/dist/components/q2-calendar.js +51 -4
  95. package/dist/components/q2-calendar.js.map +1 -1
  96. package/dist/components/q2-chart-area.js +1 -1
  97. package/dist/components/q2-chart-area.js.map +1 -1
  98. package/dist/components/q2-chart-bar.js +1 -1
  99. package/dist/components/q2-chart-bar.js.map +1 -1
  100. package/dist/components/q2-chart-donut.js +11 -7
  101. package/dist/components/q2-chart-donut.js.map +1 -1
  102. package/dist/components/q2-checkbox-group.js +26 -6
  103. package/dist/components/q2-checkbox-group.js.map +1 -1
  104. package/dist/components/q2-data-table.js +1 -1
  105. package/dist/components/q2-data-table.js.map +1 -1
  106. package/dist/components/q2-editable-field.js +39 -7
  107. package/dist/components/q2-editable-field.js.map +1 -1
  108. package/dist/components/q2-pill.js +2 -2
  109. package/dist/components/q2-pill.js.map +1 -1
  110. package/dist/components/q2-radio-group.js +10 -1
  111. package/dist/components/q2-radio-group.js.map +1 -1
  112. package/dist/components/q2-radio.js +13 -3
  113. package/dist/components/q2-radio.js.map +1 -1
  114. package/dist/components/q2-select.js +59 -6
  115. package/dist/components/q2-select.js.map +1 -1
  116. package/dist/components/q2-textarea.js +15 -2
  117. package/dist/components/q2-textarea.js.map +1 -1
  118. package/dist/docs.json +224 -9
  119. package/dist/esm/click-elsewhere_2.entry.js +1 -1
  120. package/dist/esm/{index-35ff2881.js → index-74a659a5.js} +12 -9
  121. package/dist/esm/index-74a659a5.js.map +1 -0
  122. package/dist/esm/loader.js +1 -1
  123. package/dist/esm/q2-action-sheet.entry.js +2 -2
  124. package/dist/esm/q2-action-sheet.entry.js.map +1 -1
  125. package/dist/esm/q2-btn_2.entry.js +1 -1
  126. package/dist/esm/q2-calendar.entry.js +46 -3
  127. package/dist/esm/q2-calendar.entry.js.map +1 -1
  128. package/dist/esm/q2-card.entry.js +1 -1
  129. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  130. package/dist/esm/q2-carousel.entry.js +1 -1
  131. package/dist/esm/q2-chart-area.entry.js +2 -2
  132. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  133. package/dist/esm/q2-chart-bar.entry.js +2 -2
  134. package/dist/esm/q2-chart-bar.entry.js.map +1 -1
  135. package/dist/esm/q2-chart-donut.entry.js +12 -8
  136. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  137. package/dist/esm/q2-checkbox-group.entry.js +25 -6
  138. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  139. package/dist/esm/q2-checkbox.entry.js +1 -1
  140. package/dist/esm/q2-data-table.entry.js +2 -2
  141. package/dist/esm/q2-data-table.entry.js.map +1 -1
  142. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  143. package/dist/esm/q2-dropdown.entry.js +1 -1
  144. package/dist/esm/q2-editable-field.entry.js +34 -6
  145. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  146. package/dist/esm/q2-icon.entry.js +1 -1
  147. package/dist/esm/q2-input.entry.js +17 -10
  148. package/dist/esm/q2-input.entry.js.map +1 -1
  149. package/dist/esm/q2-loc.entry.js +1 -1
  150. package/dist/esm/q2-message.entry.js +14 -13
  151. package/dist/esm/q2-message.entry.js.map +1 -1
  152. package/dist/esm/q2-month-picker.entry.js +1 -1
  153. package/dist/esm/q2-optgroup_2.entry.js +1 -1
  154. package/dist/esm/q2-option-list.entry.js +1 -1
  155. package/dist/esm/q2-pagination.entry.js +1 -1
  156. package/dist/esm/q2-pill.entry.js +3 -3
  157. package/dist/esm/q2-pill.entry.js.map +1 -1
  158. package/dist/esm/q2-radio-group.entry.js +9 -1
  159. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  160. package/dist/esm/q2-radio.entry.js +12 -3
  161. package/dist/esm/q2-radio.entry.js.map +1 -1
  162. package/dist/esm/q2-section.entry.js +1 -1
  163. package/dist/esm/q2-select.entry.js +54 -5
  164. package/dist/esm/q2-select.entry.js.map +1 -1
  165. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  166. package/dist/esm/q2-stepper-vertical.entry.js +1 -1
  167. package/dist/esm/q2-stepper.entry.js +1 -1
  168. package/dist/esm/q2-tab-container.entry.js +1 -1
  169. package/dist/esm/q2-tag.entry.js +1 -1
  170. package/dist/esm/q2-tecton-elements.js +1 -1
  171. package/dist/esm/q2-textarea.entry.js +13 -1
  172. package/dist/esm/q2-textarea.entry.js.map +1 -1
  173. package/dist/esm/q2-tooltip.entry.js +1 -1
  174. package/dist/q2-tecton-elements/{p-2b91b34e.entry.js → p-077107c1.entry.js} +2 -2
  175. package/dist/q2-tecton-elements/p-09d4b3d3.entry.js +2 -0
  176. package/dist/q2-tecton-elements/p-09d4b3d3.entry.js.map +1 -0
  177. package/dist/q2-tecton-elements/{p-b73e7870.entry.js → p-0d4aec6e.entry.js} +2 -2
  178. package/dist/q2-tecton-elements/p-1c993698.entry.js +2 -0
  179. package/dist/q2-tecton-elements/p-1c993698.entry.js.map +1 -0
  180. package/dist/q2-tecton-elements/{p-0c1b74e9.entry.js → p-252889b7.entry.js} +2 -2
  181. package/dist/q2-tecton-elements/p-252889b7.entry.js.map +1 -0
  182. package/dist/q2-tecton-elements/{p-d4da72f0.entry.js → p-25bd1b18.entry.js} +2 -2
  183. package/dist/q2-tecton-elements/p-25bd1b18.entry.js.map +1 -0
  184. package/dist/q2-tecton-elements/p-2a975246.entry.js +2 -0
  185. package/dist/q2-tecton-elements/p-2a975246.entry.js.map +1 -0
  186. package/dist/q2-tecton-elements/{p-55deaceb.entry.js → p-30facf35.entry.js} +2 -2
  187. package/dist/q2-tecton-elements/p-3798ad96.entry.js +2 -0
  188. package/dist/q2-tecton-elements/p-3798ad96.entry.js.map +1 -0
  189. package/dist/q2-tecton-elements/{p-2325975a.entry.js → p-46287c02.entry.js} +2 -2
  190. package/dist/q2-tecton-elements/{p-2bf5a3bc.entry.js → p-47c60d4a.entry.js} +2 -2
  191. package/dist/q2-tecton-elements/{p-6cc730db.entry.js → p-4abbd0b1.entry.js} +2 -2
  192. package/dist/q2-tecton-elements/{p-dafdb018.entry.js → p-570c1d3d.entry.js} +2 -2
  193. package/dist/q2-tecton-elements/p-570c1d3d.entry.js.map +1 -0
  194. package/dist/q2-tecton-elements/{p-4fb81d03.entry.js → p-578e3f98.entry.js} +2 -2
  195. package/dist/q2-tecton-elements/p-58cdb9c7.entry.js +2 -0
  196. package/dist/q2-tecton-elements/p-58cdb9c7.entry.js.map +1 -0
  197. package/dist/q2-tecton-elements/{p-c3650c2e.entry.js → p-597f8656.entry.js} +2 -2
  198. package/dist/q2-tecton-elements/{p-ce27270b.entry.js → p-59d34a17.entry.js} +2 -2
  199. package/dist/q2-tecton-elements/{p-3c0d391b.entry.js → p-5bc4d94c.entry.js} +2 -2
  200. package/dist/q2-tecton-elements/{p-70a59bf1.entry.js → p-67f33354.entry.js} +2 -2
  201. package/dist/q2-tecton-elements/p-67f33354.entry.js.map +1 -0
  202. package/dist/q2-tecton-elements/{p-c9f32e51.entry.js → p-6cacc879.entry.js} +2 -2
  203. package/dist/q2-tecton-elements/{p-f637136f.entry.js → p-7366d36d.entry.js} +2 -2
  204. package/dist/q2-tecton-elements/{p-e5a8f7ff.entry.js → p-75fd6df5.entry.js} +2 -2
  205. package/dist/q2-tecton-elements/{p-e5a8f7ff.entry.js.map → p-75fd6df5.entry.js.map} +1 -1
  206. package/dist/q2-tecton-elements/{p-68371e6d.entry.js → p-8e7b762a.entry.js} +2 -2
  207. package/dist/q2-tecton-elements/{p-ece07c0d.entry.js → p-9a28b93a.entry.js} +2 -2
  208. package/dist/q2-tecton-elements/{p-d3827468.entry.js → p-9c9a2550.entry.js} +2 -2
  209. package/dist/q2-tecton-elements/{p-15ca5c98.entry.js → p-9d743327.entry.js} +2 -2
  210. package/dist/q2-tecton-elements/{p-8c6f8d06.entry.js → p-9ef2829e.entry.js} +2 -2
  211. package/dist/q2-tecton-elements/{p-8c6f8d06.entry.js.map → p-9ef2829e.entry.js.map} +1 -1
  212. package/dist/q2-tecton-elements/{p-3fd4f83d.entry.js → p-a52371cf.entry.js} +2 -2
  213. package/dist/q2-tecton-elements/{p-f11326c2.entry.js → p-a53e9f1e.entry.js} +2 -2
  214. package/dist/q2-tecton-elements/{p-586c8654.entry.js → p-a60f82c0.entry.js} +2 -2
  215. package/dist/q2-tecton-elements/p-a60f82c0.entry.js.map +1 -0
  216. package/dist/q2-tecton-elements/{p-6e6b160d.entry.js → p-ac82ea35.entry.js} +2 -2
  217. package/dist/q2-tecton-elements/{p-8e8a40ca.entry.js → p-bfd69d42.entry.js} +2 -2
  218. package/dist/q2-tecton-elements/{p-82bda2ff.entry.js → p-db6921fb.entry.js} +2 -2
  219. package/dist/q2-tecton-elements/{p-cfbd2cb1.entry.js → p-e45856f7.entry.js} +2 -2
  220. package/dist/q2-tecton-elements/p-e45856f7.entry.js.map +1 -0
  221. package/dist/q2-tecton-elements/{p-654987bf.entry.js → p-e8858d0d.entry.js} +2 -2
  222. package/dist/q2-tecton-elements/p-e8858d0d.entry.js.map +1 -0
  223. package/dist/q2-tecton-elements/{p-99ab3236.js → p-ef856249.js} +2 -2
  224. package/dist/q2-tecton-elements/p-ef856249.js.map +1 -0
  225. package/dist/q2-tecton-elements/{p-073df9e2.entry.js → p-efbe6c17.entry.js} +2 -2
  226. package/dist/q2-tecton-elements/p-efbe6c17.entry.js.map +1 -0
  227. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  228. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  229. package/dist/test/elements/q2-calendar-test.e2e.js +177 -0
  230. package/dist/test/elements/q2-calendar-test.e2e.js.map +1 -1
  231. package/dist/test/elements/q2-chart-area-test.e2e.js +30 -1
  232. package/dist/test/elements/q2-chart-area-test.e2e.js.map +1 -1
  233. package/dist/test/elements/q2-chart-bar-test.e2e.js +30 -1
  234. package/dist/test/elements/q2-chart-bar-test.e2e.js.map +1 -1
  235. package/dist/test/elements/q2-chart-donut-test.e2e.js +21 -18
  236. package/dist/test/elements/q2-chart-donut-test.e2e.js.map +1 -1
  237. package/dist/test/elements/q2-checkbox-group-test.e2e.js +138 -18
  238. package/dist/test/elements/q2-checkbox-group-test.e2e.js.map +1 -1
  239. package/dist/test/elements/q2-checkbox-test.e2e.js +143 -115
  240. package/dist/test/elements/q2-checkbox-test.e2e.js.map +1 -1
  241. package/dist/test/elements/q2-editable-field-test.e2e.js +149 -28
  242. package/dist/test/elements/q2-editable-field-test.e2e.js.map +1 -1
  243. package/dist/test/elements/q2-input-test.e2e.js +150 -9
  244. package/dist/test/elements/q2-input-test.e2e.js.map +1 -1
  245. package/dist/test/elements/q2-message-test.e2e.js +38 -1
  246. package/dist/test/elements/q2-message-test.e2e.js.map +1 -1
  247. package/dist/test/elements/q2-pill-test.e2e.js +37 -1
  248. package/dist/test/elements/q2-pill-test.e2e.js.map +1 -1
  249. package/dist/test/elements/q2-radio-group-test.e2e.js +148 -186
  250. package/dist/test/elements/q2-radio-group-test.e2e.js.map +1 -1
  251. package/dist/test/elements/q2-radio-test.e2e.js +100 -15
  252. package/dist/test/elements/q2-radio-test.e2e.js.map +1 -1
  253. package/dist/test/elements/q2-select-test.e2e.js +203 -0
  254. package/dist/test/elements/q2-select-test.e2e.js.map +1 -1
  255. package/dist/test/elements/q2-tag-test.e2e.js +5 -0
  256. package/dist/test/elements/q2-tag-test.e2e.js.map +1 -1
  257. package/dist/test/elements/q2-textarea-test.e2e.js +33 -1
  258. package/dist/test/elements/q2-textarea-test.e2e.js.map +1 -1
  259. package/dist/types/components/q2-calendar/index.d.ts +8 -1
  260. package/dist/types/components/q2-chart-donut/index.d.ts +1 -1
  261. package/dist/types/components/q2-checkbox-group/index.d.ts +3 -0
  262. package/dist/types/components/q2-editable-field/index.d.ts +10 -2
  263. package/dist/types/components/q2-input/index.d.ts +2 -0
  264. package/dist/types/components/q2-message/index.d.ts +1 -0
  265. package/dist/types/components/q2-radio/index.d.ts +1 -0
  266. package/dist/types/components/q2-radio-group/index.d.ts +1 -0
  267. package/dist/types/components/q2-select/index.d.ts +9 -1
  268. package/dist/types/components/q2-textarea/index.d.ts +2 -0
  269. package/dist/types/components.d.ts +19 -0
  270. package/package.json +3 -3
  271. package/dist/cjs/index-f6545293.js.map +0 -1
  272. package/dist/esm/index-35ff2881.js.map +0 -1
  273. package/dist/q2-tecton-elements/p-073df9e2.entry.js.map +0 -1
  274. package/dist/q2-tecton-elements/p-0c1b74e9.entry.js.map +0 -1
  275. package/dist/q2-tecton-elements/p-215d5ab4.entry.js +0 -2
  276. package/dist/q2-tecton-elements/p-215d5ab4.entry.js.map +0 -1
  277. package/dist/q2-tecton-elements/p-2987498c.entry.js +0 -2
  278. package/dist/q2-tecton-elements/p-2987498c.entry.js.map +0 -1
  279. package/dist/q2-tecton-elements/p-586c8654.entry.js.map +0 -1
  280. package/dist/q2-tecton-elements/p-654987bf.entry.js.map +0 -1
  281. package/dist/q2-tecton-elements/p-70a59bf1.entry.js.map +0 -1
  282. package/dist/q2-tecton-elements/p-7a6e33d4.entry.js +0 -2
  283. package/dist/q2-tecton-elements/p-7a6e33d4.entry.js.map +0 -1
  284. package/dist/q2-tecton-elements/p-99ab3236.js.map +0 -1
  285. package/dist/q2-tecton-elements/p-ae2fa966.entry.js +0 -2
  286. package/dist/q2-tecton-elements/p-ae2fa966.entry.js.map +0 -1
  287. package/dist/q2-tecton-elements/p-b8d1c16f.entry.js +0 -2
  288. package/dist/q2-tecton-elements/p-b8d1c16f.entry.js.map +0 -1
  289. package/dist/q2-tecton-elements/p-cfbd2cb1.entry.js.map +0 -1
  290. package/dist/q2-tecton-elements/p-d4da72f0.entry.js.map +0 -1
  291. package/dist/q2-tecton-elements/p-dafdb018.entry.js.map +0 -1
  292. /package/dist/q2-tecton-elements/{p-2b91b34e.entry.js.map → p-077107c1.entry.js.map} +0 -0
  293. /package/dist/q2-tecton-elements/{p-b73e7870.entry.js.map → p-0d4aec6e.entry.js.map} +0 -0
  294. /package/dist/q2-tecton-elements/{p-55deaceb.entry.js.map → p-30facf35.entry.js.map} +0 -0
  295. /package/dist/q2-tecton-elements/{p-2325975a.entry.js.map → p-46287c02.entry.js.map} +0 -0
  296. /package/dist/q2-tecton-elements/{p-2bf5a3bc.entry.js.map → p-47c60d4a.entry.js.map} +0 -0
  297. /package/dist/q2-tecton-elements/{p-6cc730db.entry.js.map → p-4abbd0b1.entry.js.map} +0 -0
  298. /package/dist/q2-tecton-elements/{p-4fb81d03.entry.js.map → p-578e3f98.entry.js.map} +0 -0
  299. /package/dist/q2-tecton-elements/{p-c3650c2e.entry.js.map → p-597f8656.entry.js.map} +0 -0
  300. /package/dist/q2-tecton-elements/{p-ce27270b.entry.js.map → p-59d34a17.entry.js.map} +0 -0
  301. /package/dist/q2-tecton-elements/{p-3c0d391b.entry.js.map → p-5bc4d94c.entry.js.map} +0 -0
  302. /package/dist/q2-tecton-elements/{p-c9f32e51.entry.js.map → p-6cacc879.entry.js.map} +0 -0
  303. /package/dist/q2-tecton-elements/{p-f637136f.entry.js.map → p-7366d36d.entry.js.map} +0 -0
  304. /package/dist/q2-tecton-elements/{p-68371e6d.entry.js.map → p-8e7b762a.entry.js.map} +0 -0
  305. /package/dist/q2-tecton-elements/{p-ece07c0d.entry.js.map → p-9a28b93a.entry.js.map} +0 -0
  306. /package/dist/q2-tecton-elements/{p-d3827468.entry.js.map → p-9c9a2550.entry.js.map} +0 -0
  307. /package/dist/q2-tecton-elements/{p-15ca5c98.entry.js.map → p-9d743327.entry.js.map} +0 -0
  308. /package/dist/q2-tecton-elements/{p-3fd4f83d.entry.js.map → p-a52371cf.entry.js.map} +0 -0
  309. /package/dist/q2-tecton-elements/{p-f11326c2.entry.js.map → p-a53e9f1e.entry.js.map} +0 -0
  310. /package/dist/q2-tecton-elements/{p-6e6b160d.entry.js.map → p-ac82ea35.entry.js.map} +0 -0
  311. /package/dist/q2-tecton-elements/{p-8e8a40ca.entry.js.map → p-bfd69d42.entry.js.map} +0 -0
  312. /package/dist/q2-tecton-elements/{p-82bda2ff.entry.js.map → p-db6921fb.entry.js.map} +0 -0
@@ -5,6 +5,7 @@ export declare class Q2Radio implements ComponentInterface {
5
5
  value: string;
6
6
  disabled: boolean;
7
7
  checked: boolean;
8
+ readonly: boolean;
8
9
  tabIndex: number;
9
10
  /**
10
11
  * Used by q2-radio-group to apply a name to all options in the group
@@ -26,6 +26,7 @@ export declare class Q2RadioGroup implements ComponentInterface {
26
26
  readonlyUpdated(): void;
27
27
  handleDeprecatedTilelayout(tilelayout: boolean): void;
28
28
  tileLayoutUpdated(tileLayout: boolean): void;
29
+ setValue(value: string): void;
29
30
  change: EventEmitter;
30
31
  onHostElementChange(event: CustomEvent): void;
31
32
  delegateFocus(event: FocusEvent): void;
@@ -41,7 +41,7 @@ export declare class Q2Select implements ComponentInterface {
41
41
  componentDidLoad(): void;
42
42
  componentDidRender(): void;
43
43
  disconnectedCallback(): void;
44
- get innerInputField(): HTMLElement;
44
+ get innerInputField(): HTMLInputElement | HTMLButtonElement;
45
45
  get badgeValue(): string;
46
46
  get popoverMinHeight(): number;
47
47
  get selectedDisplay(): string;
@@ -60,6 +60,13 @@ export declare class Q2Select implements ComponentInterface {
60
60
  selectedOptions: string[];
61
61
  }>;
62
62
  input: EventEmitter;
63
+ _togglePopover(): void;
64
+ openPopover(): Promise<void>;
65
+ closePopover(): Promise<void>;
66
+ setValue(values: string | string[], options?: {
67
+ closePopover?: boolean;
68
+ }): Promise<void>;
69
+ searchOptions(query: string): void;
63
70
  keydownHandler(event: KeyboardEvent): void;
64
71
  onHostElementChange(event: CustomEvent<{
65
72
  value: string;
@@ -108,6 +115,7 @@ export declare class Q2Select implements ComponentInterface {
108
115
  clickedElsewhere: (event: CustomEvent) => void;
109
116
  onCustomDisplayClick: (event: MouseEvent) => void;
110
117
  renderCustomDisplay(): any;
118
+ onOptionListSlotChange: () => Promise<void>;
111
119
  render(): any;
112
120
  optionsDropdown(): any;
113
121
  visibilityToggle(): any;
@@ -43,8 +43,10 @@ export declare class Q2Textarea {
43
43
  errorsObserver(): void;
44
44
  onHostElementFocus(event: Event): void;
45
45
  onHostElementChange(event: CustomEvent): void;
46
+ onHostElementInput(event: CustomEvent): void;
46
47
  input: EventEmitter<any>;
47
48
  change: EventEmitter<any>;
49
+ setValue(value: string): void;
48
50
  onTextareaFocus: () => void;
49
51
  onTextareaBlur: () => void;
50
52
  onTextareaInput: (event: InputEvent) => void;
@@ -98,6 +98,7 @@ export namespace Components {
98
98
  "buttonLabel": string;
99
99
  "calendarLabel": string;
100
100
  "clearable": boolean;
101
+ "closePopover": () => Promise<void>;
101
102
  "cutoffTime": string;
102
103
  "daysOfWeekChecksum": number;
103
104
  "disabled": boolean;
@@ -116,6 +117,7 @@ export namespace Components {
116
117
  */
117
118
  "onsuccess": (e: CustomEvent) => void;
118
119
  "open": boolean;
120
+ "openPopover": () => Promise<void>;
119
121
  "optional": boolean;
120
122
  "placeholder": string;
121
123
  /**
@@ -126,7 +128,9 @@ export namespace Components {
126
128
  "popoverDirection": 'up' | 'down';
127
129
  "popoverMinHeight": number;
128
130
  "readonly": boolean;
131
+ "setValue": (value: string | Date) => Promise<void>;
129
132
  "startDate": string;
133
+ "typeValue": (value: string | Date) => Promise<void>;
130
134
  "typeable": boolean;
131
135
  "validDates": string[];
132
136
  "value": string | { toDate(): Date };
@@ -262,6 +266,7 @@ export namespace Components {
262
266
  "label": string;
263
267
  "optional": boolean;
264
268
  "readonly": boolean;
269
+ "setValue": (values: string | string[]) => Promise<void>;
265
270
  "value": object;
266
271
  }
267
272
  interface Q2DataTable {
@@ -324,6 +329,9 @@ export namespace Components {
324
329
  */
325
330
  "ariaLabel": string;
326
331
  "block": boolean;
332
+ "clickCancel": () => Promise<void>;
333
+ "clickEdit": () => Promise<void>;
334
+ "clickSave": () => Promise<void>;
327
335
  "disabled": boolean;
328
336
  "editing": boolean;
329
337
  "errors": string[];
@@ -333,6 +341,7 @@ export namespace Components {
333
341
  "label": string;
334
342
  "maxlength": number;
335
343
  "persistentLabel": boolean;
344
+ "setValue": (value: string, options?: { clickSave?: boolean; }) => Promise<void>;
336
345
  "truncated": boolean;
337
346
  "type": Q2Input['type'];
338
347
  "value": string;
@@ -358,6 +367,7 @@ export namespace Components {
358
367
  "autofocus": boolean;
359
368
  "badgeTheme": Q2Badge['theme'];
360
369
  "badgeValue": string;
370
+ "clearValue": () => Promise<void>;
361
371
  "clearable": boolean;
362
372
  "current": 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
363
373
  "disabled": boolean;
@@ -377,6 +387,7 @@ export namespace Components {
377
387
  "pseudo": boolean;
378
388
  "readonly": boolean;
379
389
  "role": string;
390
+ "setValue": (value: string) => Promise<void>;
380
391
  "showVisibilityToggle": boolean;
381
392
  "step": number;
382
393
  "textHidden": boolean;
@@ -537,6 +548,7 @@ export namespace Components {
537
548
  * @private
538
549
  */
539
550
  "name": string;
551
+ "readonly": boolean;
540
552
  "tabIndex": number;
541
553
  "value": string;
542
554
  }
@@ -547,6 +559,7 @@ export namespace Components {
547
559
  "name": string;
548
560
  "optional": boolean;
549
561
  "readonly": boolean;
562
+ "setValue": (value: string) => Promise<void>;
550
563
  "tileAlignment": 'left' | 'center' | 'right';
551
564
  "tileLayout": boolean;
552
565
  /**
@@ -566,6 +579,7 @@ export namespace Components {
566
579
  * @deprecated
567
580
  */
568
581
  "ariaLabel": string;
582
+ "closePopover": () => Promise<void>;
569
583
  "disabled": boolean;
570
584
  "errors": string[];
571
585
  "hideLabel": boolean;
@@ -576,12 +590,15 @@ export namespace Components {
576
590
  "minRows": number;
577
591
  "multilineOptions": boolean;
578
592
  "multiple": boolean;
593
+ "openPopover": () => Promise<void>;
579
594
  "optional": boolean;
580
595
  "placeholder": string;
581
596
  "popDirection": 'up' | 'down';
582
597
  "readonly": boolean;
598
+ "searchOptions": (query: string) => Promise<void>;
583
599
  "searchable": boolean;
584
600
  "selectedOptions": string[];
601
+ "setValue": (values: string | string[], options?: { closePopover?: boolean; }) => Promise<void>;
585
602
  "value": string;
586
603
  }
587
604
  interface Q2Stepper {
@@ -666,6 +683,7 @@ export namespace Components {
666
683
  "readonly": boolean;
667
684
  "resize": 'none' | 'vertical' | 'horizontal' | 'both';
668
685
  "rows": number;
686
+ "setValue": (value: string) => Promise<void>;
669
687
  "spellcheck": boolean;
670
688
  "value": string;
671
689
  }
@@ -1668,6 +1686,7 @@ declare namespace LocalJSX {
1668
1686
  */
1669
1687
  "name"?: string;
1670
1688
  "onChange"?: (event: Q2RadioCustomEvent<any>) => void;
1689
+ "readonly"?: boolean;
1671
1690
  "tabIndex"?: number;
1672
1691
  "value"?: string;
1673
1692
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "q2-tecton-elements",
3
- "version": "1.36.0",
3
+ "version": "1.37.0",
4
4
  "description": "Q2 Tecton Custom Elements",
5
5
  "license": "MIT",
6
6
  "author": "Q2 Tecton Team",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@stencil/core": "3.4.2",
38
- "q2-tecton-common": "1.36.0",
38
+ "q2-tecton-common": "1.37.0",
39
39
  "smoothscroll-polyfill": "^0.4.4",
40
40
  "swiper": "8.4.4"
41
41
  },
@@ -54,5 +54,5 @@
54
54
  "tslint-config-prettier": "^1.18.0",
55
55
  "typescript": "4.7.4"
56
56
  },
57
- "gitHead": "23b59d3c4c0ed69487f453c9630216137c289c50"
57
+ "gitHead": "b7e19ae123b7a7d5fdac3314fab6f6fc1a9f61e5"
58
58
  }
@@ -1 +0,0 @@
1
- {"file":"index-f6545293.js","mappings":"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","names":["smoothScroll","h"],"sources":["../../node_modules/smoothscroll-polyfill/dist/smoothscroll.js","./src/utils/index.tsx"],"sourcesContent":["/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict';\n\n // polyfill\n function polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if (\n 'scrollBehavior' in d.documentElement.style &&\n w.__forceSmoothScrollPolyfill__ !== true\n ) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now =\n w.performance && w.performance.now\n ? w.performance.now.bind(w.performance)\n : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (\n firstArg === null ||\n typeof firstArg !== 'object' ||\n firstArg.behavior === undefined ||\n firstArg.behavior === 'auto' ||\n firstArg.behavior === 'instant'\n ) {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError(\n 'behavior member of ScrollOptions ' +\n firstArg.behavior +\n ' is not a valid value for enumeration ScrollBehavior.'\n );\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed > 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object'\n ? arguments[0]\n : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined\n ? arguments[1]\n : w.scrollY || w.pageYOffset\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : w.scrollX || w.pageXOffset,\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : w.scrollY || w.pageYOffset\n );\n };\n\n // w.scrollBy\n w.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object' ? arguments[0] : 0,\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined ? arguments[1] : 0\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n ~~arguments[0].left + (w.scrollX || w.pageXOffset),\n ~~arguments[0].top + (w.scrollY || w.pageYOffset)\n );\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(\n this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\n );\n\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n this,\n this,\n typeof left === 'undefined' ? this.scrollLeft : ~~left,\n typeof top === 'undefined' ? this.scrollTop : ~~top\n );\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(\n this,\n arguments[0].left !== undefined\n ? ~~arguments[0].left + this.scrollLeft\n : ~~arguments[0] + this.scrollLeft,\n arguments[0].top !== undefined\n ? ~~arguments[0].top + this.scrollTop\n : ~~arguments[1] + this.scrollTop\n );\n\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function() {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(\n this,\n arguments[0] === undefined ? true : arguments[0]\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(\n this,\n scrollableParent,\n scrollableParent.scrollLeft + clientRects.left - parentRects.left,\n scrollableParent.scrollTop + clientRects.top - parentRects.top\n );\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = { polyfill: polyfill };\n } else {\n // global\n polyfill();\n }\n\n}());\n","import { h } from '@stencil/core';\nimport { Q2Btn } from 'src/components/q2-btn';\nimport { Q2Calendar } from 'src/components/q2-calendar';\nimport { Q2Carousel } from 'src/components/q2-carousel';\nimport { Q2Checkbox } from 'src/components/q2-checkbox';\nimport { Q2Dropdown } from 'src/components/q2-dropdown';\nimport { Q2DropdownItem } from 'src/components/q2-dropdown-item';\nimport { Q2EditableField } from 'src/components/q2-editable-field';\nimport { Q2Input } from 'src/components/q2-input';\nimport { Q2Loading } from 'src/components/q2-loading';\nimport { Q2Radio } from 'src/components/q2-radio';\nimport { Q2Select } from 'src/components/q2-select';\nimport { FormFieldTypes, IDict } from 'src/util';\nimport smoothScroll from 'smoothscroll-polyfill';\n\nexport function isMobile(): boolean {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile|IEMobile|Windows Phone|Opera Mini/i.test(\n navigator.userAgent\n );\n}\n\nexport function isHostLosingFocus(event: FocusEvent, hostElement: HTMLElement) {\n const type = event.type;\n const focusInTypes = ['focusin', 'focus'];\n const isFocusIn = focusInTypes.includes(type);\n\n // on focusin: `target` is element losing focus, `relatedTarget` is element gaining focus\n // on focusout: `target` is element gaining focus, `relatedTarget` is element losing focus\n const elementGainingFocus = isFocusIn ? event.target : event.relatedTarget;\n\n const isElementNestedInHostElement = (element: HTMLElement) => {\n if (element === hostElement) return true;\n if (element.parentElement) {\n return isElementNestedInHostElement(element.parentElement);\n }\n return false;\n };\n\n if (!(elementGainingFocus instanceof HTMLElement)) return true;\n return !isElementNestedInHostElement(elementGainingFocus);\n}\n\nexport function isRelatedTargetWithinHost(event: FocusEvent, element: HTMLElement) {\n return event.relatedTarget !== element && !element.contains(event.relatedTarget as Node);\n}\n\nexport function isEventFromElement(event: Event, element: HTMLElement): boolean {\n return event.composedPath?.()[0] === element;\n}\n\nexport function overrideFocus(hostElement: HTMLElement) {\n hostElement.focus = () => hostElement?.dispatchEvent(new FocusEvent('focus', { bubbles: false }));\n}\n\nexport function addSmoothScrollPolyfill() {\n if (!isSafari()) return false;\n smoothScroll.polyfill();\n return (window.__forceSmoothScrollPolyfill__ = true);\n}\n\nexport function isFirefox() {\n const userAgent = navigator.userAgent.toLowerCase();\n return userAgent.includes('firefox');\n}\n\nexport function isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n}\n\nexport function isSafari() {\n const userAgent = navigator.userAgent.toLowerCase();\n return userAgent.includes('safari') && !userAgent.includes('chrome');\n}\n\nlet guid: number = 1000;\nexport function createGuid(): number {\n return guid++;\n}\n\nexport function nextPaint(fn: (value?: unknown) => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(fn);\n });\n}\n\nexport function waitForNextPaint() {\n return new Promise(resolve => nextPaint(resolve));\n}\n\nexport function capitalize(value: string) {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n}\n\nexport function pick(props: string[]): (obj: object) => object {\n return obj => {\n return props.reduce((memo, prop) => {\n return {\n ...memo,\n [prop]: obj[prop],\n };\n }, {});\n };\n}\n\nexport function loc(key: string, subs?: IDict<any> | string[]) {\n if (!key) return '';\n if (window.Tecton?.noStrings === true) {\n return key;\n }\n return window?.TectonElements?.loc(key, subs) ?? key;\n}\n\nexport function labelDOM(target: FormFieldTypes) {\n const { label, hideLabel } = target;\n if (!label || hideLabel) return;\n let helpText = '';\n if (target.optional) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.optional')}</span>;\n }\n if (target.readonly) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.readonly')}</span>;\n }\n return (\n <label\n htmlFor={target.inputId}\n class={target.readonly ? 'readonly-field' : ''}\n >\n {loc(target.label)}\n {helpText}\n </label>\n );\n}\n\nexport function handleAriaLabel(\n target:\n | Q2Input\n | Q2Select\n | Q2Radio\n | Q2Checkbox\n | Q2EditableField\n | Q2Dropdown\n | Q2DropdownItem\n | Q2Loading\n | Q2Carousel\n | Q2Calendar\n | Q2Btn\n) {\n const { ariaLabel } = target;\n if (!ariaLabel) return;\n\n // If empty ariaLabel prop is set to primitive symbol by framework wrapper, set ariaLabel to undefined and return\n const FW_WRAPPERS_EMPTY_PROP = Symbol().toString();\n if (ariaLabel === FW_WRAPPERS_EMPTY_PROP) {\n target.ariaLabel = undefined;\n return;\n }\n\n // If ariaLabel is set, set hideLabel to true and set label to ariaLabel\n if ('hideLabel' in target) target.hideLabel = true;\n target.label = loc(ariaLabel);\n target.ariaLabel = undefined;\n}\n\n/**\n * Handles when a prop has been renamed on a component without introducing a breaking change.\n */\nexport function handleRenamedProp(target: object, oldProp: string, newProp: string, removeOldProp?: boolean) {\n if (typeof target[oldProp] === 'undefined') return;\n\n // If old prop has value, aka set in component, call handleDeprecationWarning()\n if (target[oldProp]) {\n handleDeprecationWarning(target, oldProp, 'prop');\n }\n\n target[newProp] = target[oldProp];\n\n if (removeOldProp) {\n delete target[oldProp];\n }\n}\n\nexport function handleDeprecationWarning(\n target: object,\n deprecatedItemName: string,\n deprecatedItemType: 'function' | 'prop' | 'method' | 'event'\n) {\n if (window.location.hostname === 'localhost' || window.location.host === 'stack.q2developer.com') {\n if (target[deprecatedItemName] === 'undefined') return;\n\n const componentName = target.constructor.name.toLowerCase().slice(2);\n\n switch (deprecatedItemType) {\n case 'prop':\n if (deprecatedItemName === 'size' && componentName === 'btn') {\n console.warn(\n `The property of size in q2-btn should not be typeof number, or typeof string containing a number. This functionality will be deprecated in an upcoming relase. Instead please use typeof string with any of the following values: \"small\" / \"medium\" / \"large\" / \"none\" `\n );\n } else {\n console.warn(\n `The property ${deprecatedItemName} in q2-${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n }\n break;\n\n case 'function':\n console.warn(\n `The function ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n case 'method':\n console.warn(\n `The method ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n case 'event':\n console.warn(\n `The event ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n default:\n console.error(\n `handleDeprecationWarning --> No type found for desired deprecation: ${deprecatedItemName} in q2-${componentName}: deprecatedItemType = ${deprecatedItemName}`\n );\n }\n }\n}\n\nexport function messagesDOM(target: FormFieldTypes) {\n const type = target.hasError ? 'danger' : 'info';\n\n return (\n <div class=\"messages-container\">\n <q2-message\n appearance=\"minimal\"\n description\n type={type}\n test-id=\"message\"\n >\n <ul id={target.inputDescribedBy}>\n {target.messages.map(message => (\n <li test-id=\"messageListItem\">{loc(message)}</li>\n ))}\n </ul>\n </q2-message>\n </div>\n );\n}\n\nexport function setMessageHeight(target: FormFieldTypes) {\n const messageContainer = (target.hostElement.shadowRoot as ShadowRoot).querySelector<HTMLDivElement>(\n '.messages-container'\n );\n const q2Message = messageContainer.querySelector('q2-message');\n nextPaint(() => {\n const height = target.showMessages && target.hasFocus ? q2Message.getBoundingClientRect().height : 0;\n\n if (messageContainer.style.getPropertyValue('height') === `${height}px`) return;\n\n if (height === 0) {\n q2Message.classList.add('invisible');\n messageContainer.style.removeProperty('height');\n } else {\n q2Message.classList.remove('invisible');\n messageContainer.style.setProperty('height', `${height}px`);\n }\n });\n}\n\nexport const resizeIframe = () => {\n return window.TectonElements?.resizeIframe?.();\n};\n\n// Handling color attribute (deprecated)\nexport const handleColor = (target: Q2Btn) => {\n if (!target.intent && ['primary', 'secondary'].includes(target.color)) {\n target.intent = `workflow-${target.color}` as HTMLQ2BtnElement['intent'];\n target.color = undefined;\n }\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"index-35ff2881.js","mappings":"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","names":["smoothScroll"],"sources":["../../node_modules/smoothscroll-polyfill/dist/smoothscroll.js","./src/utils/index.tsx"],"sourcesContent":["/* smoothscroll v0.4.4 - 2019 - Dustan Kasten, Jeremias Menichelli - MIT License */\n(function () {\n 'use strict';\n\n // polyfill\n function polyfill() {\n // aliases\n var w = window;\n var d = document;\n\n // return if scroll behavior is supported and polyfill is not forced\n if (\n 'scrollBehavior' in d.documentElement.style &&\n w.__forceSmoothScrollPolyfill__ !== true\n ) {\n return;\n }\n\n // globals\n var Element = w.HTMLElement || w.Element;\n var SCROLL_TIME = 468;\n\n // object gathering original scroll methods\n var original = {\n scroll: w.scroll || w.scrollTo,\n scrollBy: w.scrollBy,\n elementScroll: Element.prototype.scroll || scrollElement,\n scrollIntoView: Element.prototype.scrollIntoView\n };\n\n // define timing method\n var now =\n w.performance && w.performance.now\n ? w.performance.now.bind(w.performance)\n : Date.now;\n\n /**\n * indicates if a the current browser is made by Microsoft\n * @method isMicrosoftBrowser\n * @param {String} userAgent\n * @returns {Boolean}\n */\n function isMicrosoftBrowser(userAgent) {\n var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];\n\n return new RegExp(userAgentPatterns.join('|')).test(userAgent);\n }\n\n /*\n * IE has rounding bug rounding down clientHeight and clientWidth and\n * rounding up scrollHeight and scrollWidth causing false positives\n * on hasScrollableSpace\n */\n var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;\n\n /**\n * changes scroll position inside an element\n * @method scrollElement\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function scrollElement(x, y) {\n this.scrollLeft = x;\n this.scrollTop = y;\n }\n\n /**\n * returns result of applying ease math function to a number\n * @method ease\n * @param {Number} k\n * @returns {Number}\n */\n function ease(k) {\n return 0.5 * (1 - Math.cos(Math.PI * k));\n }\n\n /**\n * indicates if a smooth behavior should be applied\n * @method shouldBailOut\n * @param {Number|Object} firstArg\n * @returns {Boolean}\n */\n function shouldBailOut(firstArg) {\n if (\n firstArg === null ||\n typeof firstArg !== 'object' ||\n firstArg.behavior === undefined ||\n firstArg.behavior === 'auto' ||\n firstArg.behavior === 'instant'\n ) {\n // first argument is not an object/null\n // or behavior is auto, instant or undefined\n return true;\n }\n\n if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {\n // first argument is an object and behavior is smooth\n return false;\n }\n\n // throw error when behavior is not supported\n throw new TypeError(\n 'behavior member of ScrollOptions ' +\n firstArg.behavior +\n ' is not a valid value for enumeration ScrollBehavior.'\n );\n }\n\n /**\n * indicates if an element has scrollable space in the provided axis\n * @method hasScrollableSpace\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function hasScrollableSpace(el, axis) {\n if (axis === 'Y') {\n return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;\n }\n\n if (axis === 'X') {\n return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;\n }\n }\n\n /**\n * indicates if an element has a scrollable overflow property in the axis\n * @method canOverflow\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function canOverflow(el, axis) {\n var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];\n\n return overflowValue === 'auto' || overflowValue === 'scroll';\n }\n\n /**\n * indicates if an element can be scrolled in either axis\n * @method isScrollable\n * @param {Node} el\n * @param {String} axis\n * @returns {Boolean}\n */\n function isScrollable(el) {\n var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');\n var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');\n\n return isScrollableY || isScrollableX;\n }\n\n /**\n * finds scrollable parent of an element\n * @method findScrollableParent\n * @param {Node} el\n * @returns {Node} el\n */\n function findScrollableParent(el) {\n while (el !== d.body && isScrollable(el) === false) {\n el = el.parentNode || el.host;\n }\n\n return el;\n }\n\n /**\n * self invoked function that, given a context, steps through scrolling\n * @method step\n * @param {Object} context\n * @returns {undefined}\n */\n function step(context) {\n var time = now();\n var value;\n var currentX;\n var currentY;\n var elapsed = (time - context.startTime) / SCROLL_TIME;\n\n // avoid elapsed times higher than one\n elapsed = elapsed > 1 ? 1 : elapsed;\n\n // apply easing to elapsed time\n value = ease(elapsed);\n\n currentX = context.startX + (context.x - context.startX) * value;\n currentY = context.startY + (context.y - context.startY) * value;\n\n context.method.call(context.scrollable, currentX, currentY);\n\n // scroll more if we have not reached our destination\n if (currentX !== context.x || currentY !== context.y) {\n w.requestAnimationFrame(step.bind(w, context));\n }\n }\n\n /**\n * scrolls window or element with a smooth behavior\n * @method smoothScroll\n * @param {Object|Node} el\n * @param {Number} x\n * @param {Number} y\n * @returns {undefined}\n */\n function smoothScroll(el, x, y) {\n var scrollable;\n var startX;\n var startY;\n var method;\n var startTime = now();\n\n // define scroll context\n if (el === d.body) {\n scrollable = w;\n startX = w.scrollX || w.pageXOffset;\n startY = w.scrollY || w.pageYOffset;\n method = original.scroll;\n } else {\n scrollable = el;\n startX = el.scrollLeft;\n startY = el.scrollTop;\n method = scrollElement;\n }\n\n // scroll looping over a frame\n step({\n scrollable: scrollable,\n method: method,\n startTime: startTime,\n startX: startX,\n startY: startY,\n x: x,\n y: y\n });\n }\n\n // ORIGINAL METHODS OVERRIDES\n // w.scroll and w.scrollTo\n w.scroll = w.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scroll.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object'\n ? arguments[0]\n : w.scrollX || w.pageXOffset,\n // use top prop, second argument if present or fallback to scrollY\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined\n ? arguments[1]\n : w.scrollY || w.pageYOffset\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : w.scrollX || w.pageXOffset,\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : w.scrollY || w.pageYOffset\n );\n };\n\n // w.scrollBy\n w.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0])) {\n original.scrollBy.call(\n w,\n arguments[0].left !== undefined\n ? arguments[0].left\n : typeof arguments[0] !== 'object' ? arguments[0] : 0,\n arguments[0].top !== undefined\n ? arguments[0].top\n : arguments[1] !== undefined ? arguments[1] : 0\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n w,\n d.body,\n ~~arguments[0].left + (w.scrollX || w.pageXOffset),\n ~~arguments[0].top + (w.scrollY || w.pageYOffset)\n );\n };\n\n // Element.prototype.scroll and Element.prototype.scrollTo\n Element.prototype.scroll = Element.prototype.scrollTo = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n // if one number is passed, throw error to match Firefox implementation\n if (typeof arguments[0] === 'number' && arguments[1] === undefined) {\n throw new SyntaxError('Value could not be converted');\n }\n\n original.elementScroll.call(\n this,\n // use left prop, first number argument or fallback to scrollLeft\n arguments[0].left !== undefined\n ? ~~arguments[0].left\n : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,\n // use top prop, second argument or fallback to scrollTop\n arguments[0].top !== undefined\n ? ~~arguments[0].top\n : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop\n );\n\n return;\n }\n\n var left = arguments[0].left;\n var top = arguments[0].top;\n\n // LET THE SMOOTHNESS BEGIN!\n smoothScroll.call(\n this,\n this,\n typeof left === 'undefined' ? this.scrollLeft : ~~left,\n typeof top === 'undefined' ? this.scrollTop : ~~top\n );\n };\n\n // Element.prototype.scrollBy\n Element.prototype.scrollBy = function() {\n // avoid action when no arguments are passed\n if (arguments[0] === undefined) {\n return;\n }\n\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.elementScroll.call(\n this,\n arguments[0].left !== undefined\n ? ~~arguments[0].left + this.scrollLeft\n : ~~arguments[0] + this.scrollLeft,\n arguments[0].top !== undefined\n ? ~~arguments[0].top + this.scrollTop\n : ~~arguments[1] + this.scrollTop\n );\n\n return;\n }\n\n this.scroll({\n left: ~~arguments[0].left + this.scrollLeft,\n top: ~~arguments[0].top + this.scrollTop,\n behavior: arguments[0].behavior\n });\n };\n\n // Element.prototype.scrollIntoView\n Element.prototype.scrollIntoView = function() {\n // avoid smooth behavior if not required\n if (shouldBailOut(arguments[0]) === true) {\n original.scrollIntoView.call(\n this,\n arguments[0] === undefined ? true : arguments[0]\n );\n\n return;\n }\n\n // LET THE SMOOTHNESS BEGIN!\n var scrollableParent = findScrollableParent(this);\n var parentRects = scrollableParent.getBoundingClientRect();\n var clientRects = this.getBoundingClientRect();\n\n if (scrollableParent !== d.body) {\n // reveal element inside parent\n smoothScroll.call(\n this,\n scrollableParent,\n scrollableParent.scrollLeft + clientRects.left - parentRects.left,\n scrollableParent.scrollTop + clientRects.top - parentRects.top\n );\n\n // reveal parent in viewport unless is fixed\n if (w.getComputedStyle(scrollableParent).position !== 'fixed') {\n w.scrollBy({\n left: parentRects.left,\n top: parentRects.top,\n behavior: 'smooth'\n });\n }\n } else {\n // reveal element in viewport\n w.scrollBy({\n left: clientRects.left,\n top: clientRects.top,\n behavior: 'smooth'\n });\n }\n };\n }\n\n if (typeof exports === 'object' && typeof module !== 'undefined') {\n // commonjs\n module.exports = { polyfill: polyfill };\n } else {\n // global\n polyfill();\n }\n\n}());\n","import { h } from '@stencil/core';\nimport { Q2Btn } from 'src/components/q2-btn';\nimport { Q2Calendar } from 'src/components/q2-calendar';\nimport { Q2Carousel } from 'src/components/q2-carousel';\nimport { Q2Checkbox } from 'src/components/q2-checkbox';\nimport { Q2Dropdown } from 'src/components/q2-dropdown';\nimport { Q2DropdownItem } from 'src/components/q2-dropdown-item';\nimport { Q2EditableField } from 'src/components/q2-editable-field';\nimport { Q2Input } from 'src/components/q2-input';\nimport { Q2Loading } from 'src/components/q2-loading';\nimport { Q2Radio } from 'src/components/q2-radio';\nimport { Q2Select } from 'src/components/q2-select';\nimport { FormFieldTypes, IDict } from 'src/util';\nimport smoothScroll from 'smoothscroll-polyfill';\n\nexport function isMobile(): boolean {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile|IEMobile|Windows Phone|Opera Mini/i.test(\n navigator.userAgent\n );\n}\n\nexport function isHostLosingFocus(event: FocusEvent, hostElement: HTMLElement) {\n const type = event.type;\n const focusInTypes = ['focusin', 'focus'];\n const isFocusIn = focusInTypes.includes(type);\n\n // on focusin: `target` is element losing focus, `relatedTarget` is element gaining focus\n // on focusout: `target` is element gaining focus, `relatedTarget` is element losing focus\n const elementGainingFocus = isFocusIn ? event.target : event.relatedTarget;\n\n const isElementNestedInHostElement = (element: HTMLElement) => {\n if (element === hostElement) return true;\n if (element.parentElement) {\n return isElementNestedInHostElement(element.parentElement);\n }\n return false;\n };\n\n if (!(elementGainingFocus instanceof HTMLElement)) return true;\n return !isElementNestedInHostElement(elementGainingFocus);\n}\n\nexport function isRelatedTargetWithinHost(event: FocusEvent, element: HTMLElement) {\n return event.relatedTarget !== element && !element.contains(event.relatedTarget as Node);\n}\n\nexport function isEventFromElement(event: Event, element: HTMLElement): boolean {\n return event.composedPath?.()[0] === element;\n}\n\nexport function overrideFocus(hostElement: HTMLElement) {\n hostElement.focus = () => hostElement?.dispatchEvent(new FocusEvent('focus', { bubbles: false }));\n}\n\nexport function addSmoothScrollPolyfill() {\n if (!isSafari()) return false;\n smoothScroll.polyfill();\n return (window.__forceSmoothScrollPolyfill__ = true);\n}\n\nexport function isFirefox() {\n const userAgent = navigator.userAgent.toLowerCase();\n return userAgent.includes('firefox');\n}\n\nexport function isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n}\n\nexport function isSafari() {\n const userAgent = navigator.userAgent.toLowerCase();\n return userAgent.includes('safari') && !userAgent.includes('chrome');\n}\n\nlet guid: number = 1000;\nexport function createGuid(): number {\n return guid++;\n}\n\nexport function nextPaint(fn: (value?: unknown) => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(fn);\n });\n}\n\nexport function waitForNextPaint() {\n return new Promise(resolve => nextPaint(resolve));\n}\n\nexport function capitalize(value: string) {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n}\n\nexport function pick(props: string[]): (obj: object) => object {\n return obj => {\n return props.reduce((memo, prop) => {\n return {\n ...memo,\n [prop]: obj[prop],\n };\n }, {});\n };\n}\n\nexport function loc(key: string, subs?: IDict<any> | string[]) {\n if (!key) return '';\n if (window.Tecton?.noStrings === true) {\n return key;\n }\n return window?.TectonElements?.loc(key, subs) ?? key;\n}\n\nexport function labelDOM(target: FormFieldTypes) {\n const { label, hideLabel } = target;\n if (!label || hideLabel) return;\n let helpText = '';\n if (target.optional) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.optional')}</span>;\n }\n if (target.readonly) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.readonly')}</span>;\n }\n return (\n <label\n htmlFor={target.inputId}\n class={target.readonly ? 'readonly-field' : ''}\n >\n {loc(target.label)}\n {helpText}\n </label>\n );\n}\n\nexport function handleAriaLabel(\n target:\n | Q2Input\n | Q2Select\n | Q2Radio\n | Q2Checkbox\n | Q2EditableField\n | Q2Dropdown\n | Q2DropdownItem\n | Q2Loading\n | Q2Carousel\n | Q2Calendar\n | Q2Btn\n) {\n const { ariaLabel } = target;\n if (!ariaLabel) return;\n\n // If empty ariaLabel prop is set to primitive symbol by framework wrapper, set ariaLabel to undefined and return\n const FW_WRAPPERS_EMPTY_PROP = Symbol().toString();\n if (ariaLabel === FW_WRAPPERS_EMPTY_PROP) {\n target.ariaLabel = undefined;\n return;\n }\n\n // If ariaLabel is set, set hideLabel to true and set label to ariaLabel\n if ('hideLabel' in target) target.hideLabel = true;\n target.label = loc(ariaLabel);\n target.ariaLabel = undefined;\n}\n\n/**\n * Handles when a prop has been renamed on a component without introducing a breaking change.\n */\nexport function handleRenamedProp(target: object, oldProp: string, newProp: string, removeOldProp?: boolean) {\n if (typeof target[oldProp] === 'undefined') return;\n\n // If old prop has value, aka set in component, call handleDeprecationWarning()\n if (target[oldProp]) {\n handleDeprecationWarning(target, oldProp, 'prop');\n }\n\n target[newProp] = target[oldProp];\n\n if (removeOldProp) {\n delete target[oldProp];\n }\n}\n\nexport function handleDeprecationWarning(\n target: object,\n deprecatedItemName: string,\n deprecatedItemType: 'function' | 'prop' | 'method' | 'event'\n) {\n if (window.location.hostname === 'localhost' || window.location.host === 'stack.q2developer.com') {\n if (target[deprecatedItemName] === 'undefined') return;\n\n const componentName = target.constructor.name.toLowerCase().slice(2);\n\n switch (deprecatedItemType) {\n case 'prop':\n if (deprecatedItemName === 'size' && componentName === 'btn') {\n console.warn(\n `The property of size in q2-btn should not be typeof number, or typeof string containing a number. This functionality will be deprecated in an upcoming relase. Instead please use typeof string with any of the following values: \"small\" / \"medium\" / \"large\" / \"none\" `\n );\n } else {\n console.warn(\n `The property ${deprecatedItemName} in q2-${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n }\n break;\n\n case 'function':\n console.warn(\n `The function ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n case 'method':\n console.warn(\n `The method ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n case 'event':\n console.warn(\n `The event ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n default:\n console.error(\n `handleDeprecationWarning --> No type found for desired deprecation: ${deprecatedItemName} in q2-${componentName}: deprecatedItemType = ${deprecatedItemName}`\n );\n }\n }\n}\n\nexport function messagesDOM(target: FormFieldTypes) {\n const type = target.hasError ? 'danger' : 'info';\n\n return (\n <div class=\"messages-container\">\n <q2-message\n appearance=\"minimal\"\n description\n type={type}\n test-id=\"message\"\n >\n <ul id={target.inputDescribedBy}>\n {target.messages.map(message => (\n <li test-id=\"messageListItem\">{loc(message)}</li>\n ))}\n </ul>\n </q2-message>\n </div>\n );\n}\n\nexport function setMessageHeight(target: FormFieldTypes) {\n const messageContainer = (target.hostElement.shadowRoot as ShadowRoot).querySelector<HTMLDivElement>(\n '.messages-container'\n );\n const q2Message = messageContainer.querySelector('q2-message');\n nextPaint(() => {\n const height = target.showMessages && target.hasFocus ? q2Message.getBoundingClientRect().height : 0;\n\n if (messageContainer.style.getPropertyValue('height') === `${height}px`) return;\n\n if (height === 0) {\n q2Message.classList.add('invisible');\n messageContainer.style.removeProperty('height');\n } else {\n q2Message.classList.remove('invisible');\n messageContainer.style.setProperty('height', `${height}px`);\n }\n });\n}\n\nexport const resizeIframe = () => {\n return window.TectonElements?.resizeIframe?.();\n};\n\n// Handling color attribute (deprecated)\nexport const handleColor = (target: Q2Btn) => {\n if (!target.intent && ['primary', 'secondary'].includes(target.color)) {\n target.intent = `workflow-${target.color}` as HTMLQ2BtnElement['intent'];\n target.color = undefined;\n }\n};\n"],"version":3}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","Q2RadioGroup","this","_id","createGuid","onMutationObserved","valueUpdated","value","nameUpdated","disabledUpdated","readonlyUpdated","tileLayoutUpdated","tileLayout","onInnerRadioChange","event","stopImmediatePropagation","readonly","change","emit","detail","checkedRadioExists","firstCheckedRadio","radioElements","find","radio","checked","undefined","length","tabIndex","Array","from","hostElement","querySelectorAll","componentWillLoad","handleDeprecatedTilelayout","tilelayout","componentDidLoad","observer","MutationObserver","observe","childList","mutationObserver","overrideFocus","newVal","forEach","removeAttribute","name","groupDisabled","disabled","groupReadonly","groupTileLayout","onHostElementChange","target","onchange","delegateFocus","isEventFromElement","querySelector","dispatchEvent","FocusEvent","keydownHandler","currentValue","getAttribute","index","findIndex","el","sign","key","Math","max","min","preventDefault","labelDOM","label","optional","helpText","h","class","loc","Fragment","render","showLabel","hasError","showLabelRow","type","onChange","inputDom","tileAlignment","alignment","includes"],"sources":["./src/components/q2-radio-group/styles.scss?tag=q2-radio-group&encapsulation=shadow","./src/components/q2-radio-group/index.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n margin-top: var-list(--tct-scale-2, --app-scale-2x, 10px);\n}\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n position: relative;\n}\n\n.label-row {\n display: grid;\n grid-template-columns: 1fr 24px;\n grid-template-areas: 'label icon';\n gap: var-list(--app-scale-1x, 5px);\n\n q2-icon {\n grid-area: icon;\n margin-top: -2px;\n margin-bottom: -2px;\n }\n}\n\n.group-legend {\n font-weight: 600;\n}\n\n.optional-tag {\n margin-left: var-list(var-prefixer(input-label-optional-margin-left), --tct-scale-1, --app-scale-1x, 5px);\n color: var-list(\n var-prefixer(input-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(input-label-optional-font-size), 12px);\n font-weight: var-list(var-prefixer(input-label-optional-font-weight), 400);\n}\n\n.tile-container {\n &,\n .options-container {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n flex-grow: 1;\n }\n}\n\n.options-container {\n --comp-default-margin: #{var-list(--app-scale-1x, 5px)} 0;\n --comp-options-margin: #{var-list(var-prefixer(radio-group-options-margin), --comp-default-margin, unquote('5px 0'))};\n margin: var(--comp-options-margin);\n padding: var-list(var-prefixer(radio-group-options-padding), --app-scale-1x, 5px);\n border-width: 1px;\n border-color: transparent;\n border-style: solid;\n border-radius: var-list(--tct-border-radius-1, --app-border-radius-1, 2px);\n\n :host([has-error]) & {\n border-color: var-list(--tct-input-error-border-color, --const-stoplight-alert, #c30000);\n }\n :host([has-error=\"false\"]) & {\n border-color: transparent;\n }\n}\n\n.tile-container {\n &.left {\n justify-content: start;\n }\n &.right {\n justify-content: end;\n }\n\n .options-container {\n gap: var-list(var-prefixer(radio-group-tile-gap), --app-scale-2x, 10px);\n justify-content: inherit;\n }\n}\n","import {\n Component,\n Prop,\n Element,\n h,\n Listen,\n EventEmitter,\n Event,\n ComponentInterface,\n Watch,\n Fragment,\n} from '@stencil/core';\nimport { createGuid, isEventFromElement, loc, overrideFocus } from 'src/utils';\n\n@Component({\n tag: 'q2-radio-group',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2RadioGroup implements ComponentInterface {\n @Prop({ reflect: true }) label: string;\n @Prop({ mutable: true }) value: string;\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ reflect: true }) name: string;\n @Prop({ reflect: true }) optional: boolean;\n @Prop({ reflect: true }) readonly: boolean;\n @Prop({ reflect: true, mutable: true }) tileLayout: boolean;\n @Prop({ reflect: true }) tileAlignment: 'left' | 'center' | 'right' = 'center';\n @Prop({ reflect: true }) hasError: boolean = false;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true }) tilelayout: boolean;\n\n @Element() hostElement: HTMLElement;\n _id: string = `radio-group-${createGuid()}`;\n mutationObserver: MutationObserver;\n\n get radioElements() {\n return Array.from(this.hostElement.querySelectorAll('q2-radio')) as HTMLQ2RadioElement[];\n }\n\n onMutationObserved = () => {\n this.valueUpdated(this.value);\n this.nameUpdated();\n this.disabledUpdated();\n this.readonlyUpdated();\n this.tileLayoutUpdated(this.tileLayout);\n };\n\n onInnerRadioChange = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n if (this.readonly) return;\n\n this.change.emit({ value: event.detail.value });\n };\n\n checkedRadioExists = () => {\n // Returns first checked individual q2-radio or undefined if none are set to checked={true}\n const firstCheckedRadio = this.radioElements.find(radio => radio.checked === true) || undefined;\n\n // Changes radio-group[\"value\"] if inital value is not set and if a any individual q2-radio is checked\n if (!this.value && !!firstCheckedRadio) {\n this.value = firstCheckedRadio.value;\n } else if (!this.value && !firstCheckedRadio) {\n // if no radios are meant to be checked, then assign first radio tabIndex of 0\n if (this.radioElements.length) this.radioElements[0].tabIndex = 0;\n }\n };\n\n /////// LIFECYCLE HOOK ///////\n componentWillLoad() {\n this.checkedRadioExists();\n this.onMutationObserved();\n this.handleDeprecatedTilelayout(this.tilelayout);\n }\n\n componentDidLoad() {\n const observer = new MutationObserver(this.onMutationObserved);\n observer.observe(this.hostElement, { childList: true });\n this.mutationObserver = observer;\n overrideFocus(this.hostElement);\n this.checkedRadioExists();\n }\n\n /////// OBSERVERS ///////\n\n @Watch('value')\n valueUpdated(newVal: string) {\n this.radioElements.forEach(radio => {\n radio.checked = newVal === radio.value;\n // Removes checked attribute from trailing radios, if multiple individual radio's are intially checked (checked={true}) at componentDidLoad\n if (!radio.checked) {\n radio.removeAttribute('checked');\n radio.tabIndex = -1;\n } else if (radio.checked) {\n radio.tabIndex = 0;\n }\n });\n }\n\n @Watch('name')\n nameUpdated() {\n this.radioElements.forEach(radio => {\n radio.name = this.name || this._id;\n });\n }\n\n @Watch('disabled')\n disabledUpdated() {\n this.radioElements.forEach(radio => {\n radio.groupDisabled = this.disabled;\n });\n }\n\n @Watch('readonly')\n readonlyUpdated() {\n const readonly = this.readonly;\n this.radioElements.forEach(radio => (radio.groupReadonly = readonly));\n }\n\n @Watch('tilelayout')\n handleDeprecatedTilelayout(tilelayout: boolean) {\n if (typeof tilelayout !== 'boolean') return;\n this.tileLayout = tilelayout;\n this.tilelayout = undefined;\n }\n\n @Watch('tileLayout')\n tileLayoutUpdated(tileLayout: boolean) {\n this.radioElements.forEach(radio => {\n radio.groupTileLayout = tileLayout;\n });\n }\n\n /////// HOST ELEMENT EVENTS ///////\n\n @Event() change: EventEmitter;\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (event.target === this.hostElement) {\n if (!this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n const radio = this.hostElement.querySelector('q2-radio[checked]') || this.hostElement.querySelector('q2-radio');\n radio?.dispatchEvent(new FocusEvent('focus'));\n }\n\n @Listen('keydown')\n keydownHandler(event: KeyboardEvent) {\n const currentValue = (event.target as HTMLElement).getAttribute('value') || this.value;\n let index = this.radioElements.findIndex(\n el => el === event.target || (el as HTMLElement).getAttribute('value') === currentValue\n );\n let sign = 0;\n switch (event.key) {\n case 'ArrowLeft':\n case 'ArrowUp':\n sign = -1;\n break;\n\n case 'ArrowRight':\n case 'ArrowDown':\n sign = 1;\n break;\n }\n\n if (index === -1 || sign === 0) {\n return;\n }\n index += sign;\n index = sign < 0 ? Math.max(0, index) : Math.min(this.radioElements.length - 1, index);\n event.preventDefault();\n if (!this.readonly) {\n this.value = this.radioElements[index].value;\n }\n this.radioElements[index].dispatchEvent(new FocusEvent('focus'));\n }\n\n labelDOM() {\n const { label, optional, readonly } = this;\n let helpText = '';\n if (readonly) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.readonly')}</span>;\n } else if (optional) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.optional')}</span>;\n }\n return (\n <Fragment>\n {label && loc(label)}\n {!!helpText && <span class=\"optional-tag\">{helpText}</span>}\n </Fragment>\n );\n }\n\n render() {\n const showLabel = this.label || this.optional || this.readonly;\n const { hasError } = this;\n const showLabelRow = showLabel || hasError;\n return (\n <Fragment>\n {showLabelRow && (\n <div class=\"label-row\">\n {showLabel && <div class=\"group-legend\">{this.labelDOM()}</div>}\n {hasError && (\n <q2-icon\n type=\"error\"\n test-id=\"iconError\"\n ></q2-icon>\n )}\n </div>\n )}\n <fieldset\n onChange={this.onInnerRadioChange}\n aria-invalid={`${this.hasError}`}\n >\n {showLabel && <legend class=\"sr\">{this.labelDOM()}</legend>}\n {this.inputDom()}\n </fieldset>\n </Fragment>\n );\n }\n\n inputDom() {\n if (this.tileLayout) {\n const { tileAlignment } = this;\n const alignment = ['left', 'center', 'right'].includes(tileAlignment) ? tileAlignment : 'center';\n return (\n <div class={`tile-container ${alignment}`}>\n <div class=\"options-container\">\n <slot />\n </div>\n </div>\n );\n } else {\n return (\n <div class=\"options-container\">\n <slot />\n </div>\n );\n }\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stylesCss","Q2Textarea","this","scheduledAfterRender","guid","createGuid","checkRows","contentContainer","rows","textareaField","resize","includes","style","height","offsetHeight","removeAttribute","checkCols","cols","width","offsetWidth","onTextareaFocus","hasFocus","valueOnFocus","value","setMessageHeight","onTextareaBlur","change","emit","onTextareaInput","event","stopPropagation","target","input","onTextareaChange","onMouseDown","downParams","x","clientX","y","clientY","document","addEventListener","onMouseMove","onMouseUp","setHeight","setWidth","onTouchStart","touches","length","preventDefault","firstTouch","pageX","pageY","onTouchMove","removeEventListener","componentWillLoad","isNaN","maxlength","undefined","componentDidRender","push","forEach","fn","componentDidLoad","overrideFocus","hostElement","hasError","Array","isArray","errors","messages","hints","showMessages","hideMessages","inputId","inputDescribedBy","wrapperClasses","errorClass","valueClass","focusClass","showResize","valueObserver","truncatedValue","substr","rowsObserver","colsObserver","hintsObserver","errorsObserver","onHostElementFocus","isEventFromElement","focus","onHostElementChange","onchange","detail","resizeX","eventX","MouseEvent","_b","_a","newWidth","resizeY","eventY","newHeight","render","h","class","labelDOM","ref","el","inputDOM","maxLengthDOM","messagesDOM","id","placeholder","loc","maxLength","optional","hideLabel","label","spellcheck","readonly","disabled","onInput","onChange","onFocus","onBlur","type","tabIndex","viewBox","xmlns","d","fill"],"sources":["./src/components/q2-textarea/styles.scss?tag=q2-textarea&encapsulation=shadow","./src/components/q2-textarea/index.tsx"],"sourcesContent":["@import '../../styles/host';\n@import '../../styles/functions';\n\n:host {\n display: block;\n margin: var-list(var-prefixer(textarea-margin-top), --app-scale-6x, 30px) 0\n var-list(var-prefixer(textarea-margin-bottom), --app-scale-6x, 30px);\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\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, 3px)};\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-focus-border-width: #{var-list(var-prefixer(textarea-focus-border-top-width), 1px)\n var-list(var-prefixer(textarea-focus-border-right-width), 1px)\n var-list(var-prefixer(textarea-focus-border-bottom-width), 1px)\n var-list(var-prefixer(textarea-focus-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: 44px;\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 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-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 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-list(\n var-prefixer(textarea-border-color),\n var-prefixer(input-border-color),\n --t-a11y-gray-color-AA,\n #949494\n );\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: border-width var(--comp-textarea-tween), 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 &:focus {\n border-width: var(--comp-textarea-focus-border-width, 1px);\n border-color: var-list(\n var-prefixer(textarea-focus-border-color),\n var-prefixer(input-focus-border-color),\n --t-a11y-active-gray-color-AA,\n #404040\n );\n box-shadow: var(--const-double-focus-ring),\n var-list(var-prefixer(textarea-focus-box-shadow), unquote('0 0 transparent'));\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 .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, #c30000);\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, #c30000);\n --tct-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #c30000)};\n --t-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #c30000)};\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('0 2px 4px rgba(0, 0, 0, 0.3)')\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.has-error label {\n color: var-list(var-prefixer(textarea-error-label-font-color), --tct-textarea-label-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 cursor: s-resize;\n }\n\n :host([resize='horizontal']) & {\n cursor: e-resize;\n }\n}\n","import { Component, EventEmitter, Prop, Event, Element, State, h, Watch, Listen } from '@stencil/core';\nimport { IDict } from 'src/util';\nimport { createGuid, isEventFromElement, labelDOM, loc, messagesDOM, overrideFocus, setMessageHeight } from 'src/utils';\n\n@Component({\n tag: 'q2-textarea',\n shadow: true,\n styleUrl: 'styles.scss',\n})\nexport class Q2Textarea {\n private textareaField?: HTMLTextAreaElement;\n private contentContainer?: HTMLDivElement;\n private valueOnFocus: string;\n private scheduledAfterRender: (() => void)[] = [];\n private guid = createGuid();\n\n @Prop({ mutable: true }) value: string;\n @Prop({ reflect: true }) label: string;\n @Prop({ reflect: true }) hideLabel: boolean;\n @Prop({ reflect: true }) hideMessages: boolean;\n @Prop({ reflect: true }) optional: boolean;\n @Prop({ reflect: true }) placeholder: string;\n @Prop({ reflect: true }) disabled: boolean;\n @Prop({ reflect: true }) readonly: boolean;\n @Prop({ reflect: true }) spellcheck: boolean;\n @Prop({ reflect: true, mutable: true }) maxlength: number;\n @Prop({ reflect: true }) rows: number;\n @Prop({ reflect: true }) cols: number;\n @Prop({ reflect: true }) resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical';\n @Prop() errors: string[];\n @Prop() hints: string[];\n\n @State() hasFocus: boolean;\n @State() downParams: IDict<number>;\n\n /////// LIFECYCLE HOOKS ////////\n\n componentWillLoad() {\n if (isNaN(this.maxlength)) {\n this.maxlength = undefined;\n }\n }\n\n componentDidRender() {\n this.scheduledAfterRender.push(this.checkRows, this.checkCols);\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\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 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 @Element() hostElement: HTMLElement;\n\n get hasError() {\n return Array.isArray(this.errors) && this.errors.length > 0;\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 inputId() {\n return `input-guid-${this.guid}`;\n }\n\n get inputDescribedBy() {\n return this.showMessages ? `${this.inputId}-description` : undefined;\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 get showResize() {\n const { resize } = this;\n return resize && resize !== 'none';\n }\n\n //////// OBSERVERS //////////\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 @Watch('rows')\n rowsObserver() {\n this.contentContainer.style.height = null;\n }\n\n @Watch('cols')\n colsObserver() {\n this.contentContainer.style.width = null;\n }\n\n @Watch('hints')\n hintsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n @Watch('errors')\n errorsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n ///////// HOST ELEMENT EVENTS //////\n @Listen('focus')\n onHostElementFocus(event: Event) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.textareaField.focus();\n }\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 ///////// Events /////////\n\n @Event() input: EventEmitter<any>;\n @Event() change: EventEmitter<any>;\n\n ///// ACTIONS ////////\n\n onTextareaFocus = () => {\n this.hasFocus = true;\n this.valueOnFocus = this.value;\n setMessageHeight(this);\n };\n\n onTextareaBlur = () => {\n const {\n valueOnFocus,\n textareaField: { value },\n } = this;\n this.hasFocus = false;\n setMessageHeight(this);\n if (valueOnFocus !== value) this.change.emit({ value });\n };\n\n onTextareaInput = (event: InputEvent) => {\n event.stopPropagation();\n const value = (event.target as HTMLTextAreaElement).value;\n\n this.input.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 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 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 onTouchMove = (event: TouchEvent) => {\n this.setHeight(event);\n this.setWidth(event);\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 setHeight(event: MouseEvent | TouchEvent) {\n const {\n contentContainer,\n resize,\n downParams: { height, y },\n } = this;\n\n const resizeY = ['both', 'vertical'].includes(resize);\n if (!resizeY) return;\n const eventY = event instanceof MouseEvent ? event.clientY : event.touches[0]?.pageY ?? 0;\n const newHeight = height - (y - eventY);\n contentContainer.style.height = `${newHeight}px`;\n }\n\n onMouseUp = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n this.downParams = null;\n };\n\n /////// VIEW METHODS ///////\n\n render() {\n return (\n <div class={this.wrapperClasses}>\n {labelDOM(this)}\n <div\n class=\"content-container\"\n ref={el => (this.contentContainer = el)}\n >\n {this.inputDOM()}\n {this.maxlength ? this.maxLengthDOM() : ''}\n {messagesDOM(this)}\n </div>\n </div>\n );\n }\n\n maxLengthDOM() {\n return (\n <div\n class=\"max-length\"\n aria-hidden=\"true\"\n >\n {this.value?.length || 0}/{this.maxlength}\n </div>\n );\n }\n\n inputDOM() {\n return (\n <div class=\"input-container\">\n <textarea\n id={this.inputId}\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"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as a,F as o,g as r}from"./p-277dc8cd.js";import{r as n,l}from"./p-99ab3236.js";const i="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}.container{--comp-cell-padding:var(--tct-table-cell-padding, var(--app-scale-3x, 15px));--comp-select-column-width:var(--tct-table-select-column-width, var(--tct-checkbox-size, 20px));--comp-dropdown-column-width:var(--tct-table-dropdown-column-width, var(--tct-btn-icon-width, 44px));--comp-expandable-row-control-column-width:var(--tct-table-expandable-row-control-column-width, var(--tct-btn-icon-width, 44px));overflow:auto;--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 3px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}.container::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.container::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.container::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}:host([shadowed]:not([shadowed=false])) .container{box-shadow:var(--tct-table-shadow, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3)))}:host([density=compact]) .container{--comp-cell-padding:var(--tct-table-cell-padding-compact, var(--app-scale-1x, 5px))}:host([density=comfortable]) .container{--comp-cell-padding:var(--tct-table-cell-padding-comfortable, var(--app-scale-5x, 25px))}table{table-layout:var(--tct-table-layout, auto);border-collapse:collapse;border-spacing:0;width:var(--tct-table-width);min-width:100%;background:var(--tct-table-background, var(--t-base, #ffffff));caption-side:var(--tct-table-caption-side, bottom)}thead{border-width:var(--tct-table-header-border-width, 0 0 2px 0);border-style:var(--tct-table-header-border-style, solid);border-color:var(--tct-table-header-border-color, var(--t-gray-9, #999999));background:var(--tct-table-header-background)}col.select-column{width:var(--comp-select-column-width)}col.expandable-row-control-column{width:var(--comp-expandable-row-control-column-width)}col.dropdown-column{width:var(--comp-dropdown-column-width)}td,th{padding:var(--comp-cell-padding);text-align:start}td.align-end,th.align-end{text-align:end}td.align-center,th.align-center{text-align:center}th .header-content{font-weight:var(--tct-table-header-font-weight, 400)}th.sorted .header-content{font-weight:var(--tct-table-header-sorted-font-weight, 600)}th .sorted-indicator{--comp-header-sortable-icon-size:var(--tct-table-header-sortable-icon-size, var(--app-scale-3x, 15px));--tct-icon-stroke-width:2;width:var(--comp-header-sortable-icon-size);height:var(--comp-header-sortable-icon-size)}th .sorted-indicator.direction-ASC{transform:rotate(180deg)}th q2-btn .header-content{display:flex;align-items:center;gap:var(--tct-table-header-content-gap, var(--app-scale-2x, 10px))}tr.expandable,tr.clickable{cursor:pointer}tr.expandable:focus,tr.clickable:focus{outline:none;box-shadow:none}tr.expandable:hover{background:var(--tct-table-expandable-row-hover-background, var(--t-gray-14, #f2f2f2))}tr.clickable:hover{background:var(--tct-table-clickable-row-hover-background, var(--t-gray-14, #f2f2f2))}tr.selected{background:var(--tct-table-selected-row-background, var(--t-gray-14, #f2f2f2))}tr.expanded{background:var(--tct-table-expanded-row-background, var(--t-gray-14, #f2f2f2))}tr.expanded .toggle-expandable-row{transform:rotate(180deg)}:host([bordered]:not([bordered=false])) tbody tr{border-width:var(--tct-table-row-border-width, 0 0 1px 0);border-style:var(--tct-table-row-border-style, solid);border-color:var(--tct-table-row-border-color, var(--t-gray-9, #999999))}tr.loading-row{background:var(--tct-table-loading-row-background, var(--t-base, #ffffff))}tr.loading-row td{text-align:center}tr.loading-row q2-loading{font-size:4em}tr.expandable-row{background:var(--tct-table-expanded-row-background, var(--t-gray-14, #f2f2f2))}td.clamped div{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:var(--comp-line-clamp-count, 1);-webkit-box-orient:vertical}td.expandable-row-control-column{--tct-btn-icon-hover-bg:transparent;padding:var(--tct-table-expandable-row-control-column-padding, 0 var(--app-scale-1x, 5px));text-align:center}td.dropdown-column{padding:var(--tct-table-dropdown-column-padding, 0 var(--app-scale-1x, 5px));text-align:center}td.click-column:not(.sr){padding:var(--tct-table-clickable-column-padding, 0 var(--app-scale-1x, 5px));text-align:center}caption{padding:var(--tct-table-caption-padding, var(--app-scale-2x, 10px));font-size:var(--tct-table-caption-font-size, inherit);font-weight:var(--tct-table-caption-font-weight, 600);text-align:var(--tct-table-caption-text-align, center);color:var(--tct-table-caption-color, inherit)}q2-checkbox{padding:0}";const s=class{constructor(a){e(this,a);this.select=t(this,"select",7);this.click=t(this,"click",7);this.toggle=t(this,"toggle",7);this.sort=t(this,"sort",7);this.checkSlots=()=>{var e,t,a,o;this.hasExpandableRows=!!((t=(e=this.hostElement)===null||e===void 0?void 0:e.querySelector(`[slot$="-expandable-content"]`))!==null&&t!==void 0?t:false);this.hasDropdowns=!!((o=(a=this.hostElement)===null||a===void 0?void 0:a.querySelector(`[slot$="-dropdown"]`))!==null&&o!==void 0?o:false);this.checkSlotCount+=1};this.onSort=e=>{const t=e.sorted==="ASC"?"DESC":"ASC";const a=e.key;const o=this.sort.emit({header:e,direction:t});if(o.defaultPrevented)return;this.serializedHeaders=this.serializedHeaders.map((e=>{const o=a===e.key?t:undefined;return Object.assign(Object.assign({},e),{sorted:o})}));this.serializedRows=this.sortRows(this.serializedRows,Object.assign(Object.assign({},e),{sorted:t}))};this.onSelectAllRows=e=>{e.stopPropagation();const{checked:t}=e.detail;const a=t?this.serializedRows.map((e=>Object.assign(Object.assign({},e),{selected:t}))):[];const o=this.select.emit({row:undefined,rows:a,allSelected:t});if(o.defaultPrevented)return;this.serializedRows=this.serializedRows.map((e=>{e.selected=t;return e}));this.allRowsSelected=t};this.onSelectRow=(e,t)=>{e.stopPropagation();const{selectMode:a,serializedRows:o,selectedRows:r}=this;const{checked:n}=e.detail;const l=Object.assign(Object.assign({},t),{selected:n});let i;if(a==="single"){i=n?[l]:[]}else{i=n?[...r,l]:r.filter((e=>e.id!==l.id))}const s=i.length===o.length;const c=this.select.emit({row:l,rows:i,allSelected:s});if(c.defaultPrevented)return;this.serializedRows=this.serializedRows.map((e=>e.id===l.id?l:e));this.allRowsSelected=s};this.onClickTableRow=(e,t)=>{if(this.clickable){this.onClickRow(e,t)}else if(this.hasExpandableRows){this.onToggleRow(e,t)}};this.onClickRow=(e,t)=>{e.stopPropagation();this.click.emit({row:t})};this.onToggleRow=(e,t)=>{e.stopPropagation();const a=Object.assign(Object.assign({},t),{expanded:!t.expanded});const o=this.toggle.emit({row:a});if(o.defaultPrevented)return;this.serializedRows=this.serializedRows.map((e=>{if(e.id===a.id)return a;else return Object.assign({},e)}))};this.onControlContainerClick=e=>{e.stopPropagation()};this.density=undefined;this.bordered=undefined;this.shadowed=undefined;this.selectable=undefined;this.clickable=undefined;this.loading=undefined;this.hideCaption=undefined;this.caption=undefined;this.selectMode="multiple";this.hideClickable=undefined;this.headers=undefined;this.rows=undefined;this.serializedHeaders=[];this.serializedRows=[];this.hasExpandableRows=false;this.hasDropdowns=false;this.allRowsSelected=false;this.checkSlotCount=0}componentWillLoad(){this.headersHandler(this.headers);this.rowsHandler(this.rows)}componentDidLoad(){if(typeof MutationObserver!=="undefined"){const e=new MutationObserver((()=>this.checkSlots()));e.observe(this.hostElement,{childList:true,subtree:true,attributes:true});this.mutationObserver=e}if(typeof ResizeObserver!=="undefined"){this.resizeObserver=new ResizeObserver((()=>n()));this.resizeObserver.observe(this.hostElement)}}disconnectedCallback(){if(this.mutationObserver){this.mutationObserver.disconnect();this.mutationObserver=null}if(this.resizeObserver){this.resizeObserver.disconnect();this.resizeObserver=null}}get selectedRows(){return this.serializedRows.filter((({selected:e})=>e))}get selectedRow(){return this.selectedRows.find((({selected:e})=>!!e))}get numberOfColumns(){var e,t;return((t=(e=this.serializedHeaders)===null||e===void 0?void 0:e.length)!==null&&t!==void 0?t:0)+(this.selectable?1:0)+(this.clickable?1:0)+(this.hasExpandableRows?1:0)+(this.hasDropdowns?1:0)}get mappedHeaders(){return this.serializedHeaders.reduce(((e,t)=>{e[t.key]=t;return e}),{})}sortRows(e,t){const{key:a,sorted:o}=t;const r=o||"ASC";const n=[...e].sort(((e,t)=>{const o=e.cells[a].value;const n=t.cells[a].value;if(o<n)return r==="ASC"?-1:1;if(o>n)return r==="ASC"?1:-1;return 0}));return n}headersHandler(e=[]){this.serializedHeaders=e.map((e=>{const{title:t}=e;let{key:a}=e;if(!a)a=t.toLowerCase().replace(/\s/g,"-");return Object.assign({key:a},e)}))}rowsHandler(e=[]){const{serializedHeaders:t,mappedHeaders:a}=this;const o={id:null,cells:{},selected:false,expanded:false};const r=e.map((({id:e,cells:t,selected:r,expanded:n})=>{const l=Object.entries(t).reduce(((e,[t,o])=>{const r=a[t]||{};const{align:n,type:l="text",lineClamp:i}=r;const s="type"in r&&r.type==="badge";const c={value:"",ariaLabel:undefined,type:l,align:n,lineClamp:i,badgeStatus:s?r.badgeStatus:undefined,badgeTheme:s?r.badgeTheme:undefined};const d=typeof o==="object"?Object.assign(Object.assign({},c),o):Object.assign(Object.assign({},c),{value:o});e[t]=d;return e}),{});return Object.assign(Object.assign({},o),{id:e,selected:!!r,expanded:!!n,cells:l})}));const n=t.find((({sorted:e})=>e));this.serializedRows=!!n?this.sortRows(r,n):r;this.checkSlots()}onClickListener(e){if(e instanceof PointerEvent)e.stopImmediatePropagation()}render(){const{caption:e}=this;return a("div",{class:"container"},a("table",null,e&&a("caption",{class:this.hideCaption?"sr":undefined},e),this.renderTableColGroup(),this.renderTableHeader(),this.renderTableRows()))}renderTableColGroup(){const{serializedHeaders:e,selectable:t,clickable:o,hasExpandableRows:r,hasDropdowns:n}=this;if(!e.length)return null;return a("colgroup",null,t&&a("col",{class:"select-column"}),e.map((({width:e,backgroundColor:t})=>a("col",{style:{width:e,backgroundColor:t}}))),o&&a("col",{class:"click-column"}),r&&a("col",{class:"expandable-row-control-column"}),n&&a("col",{class:"dropdown-column"}))}renderTableHeader(){const{serializedHeaders:e,selectable:t,clickable:o,hideClickable:r,selectMode:n,hasExpandableRows:i,hasDropdowns:s}=this;if(!e.length)return null;return a("thead",null,a("tr",null,t&&a("th",null,n==="multiple"&&a("q2-checkbox",{label:l("tecton.element.dataTable.selectAllRows"),"hide-label":true,onChange:this.onSelectAllRows,checked:this.allRowsSelected,disabled:this.loading,"test-id":"select-all-rows-control"})),e.map((e=>{const{align:t,sorted:o}=e;const r=[];if(t)r.push(`align-${t}`);if(!!o)r.push("sorted");return a("th",{class:r.join(" "),id:`header-${e.key}`},e.sortable?a("q2-btn",{onClick:()=>this.onSort(e),"test-id":"sort-control",disabled:this.loading},a("div",{class:"header-content","aria-label":e.ariaLabel||undefined},e.title,!!o?a("q2-icon",{class:`sorted-indicator direction-${o}`,type:"arrow-down",label:o==="ASC"?l("tecton.element.dataTable.sortedAscending"):l("tecton.element.dataTable.sortedDescending"),"test-id":"sorted-indicator"}):a("q2-icon",{class:`sorted-indicator`,type:"sort",label:l("tecton.element.dataTable.clickToSort"),"test-id":"sorted-indicator"}))):a("div",{class:"header-content","aria-label":e.ariaLabel||undefined},e.title))})),o&&a("th",{id:"click",class:r?"sr":undefined},a("span",{class:"sr"},l("tecton.element.dataTable.clickRow"))),i&&a("th",{id:"toggle"},a("span",{class:"sr"},l("tecton.element.dataTable.toggleRow"))),s&&a("th",null,a("span",{class:"sr"},l("tecton.element.dataTable.dropdown")))))}renderTableRows(){const{serializedHeaders:e,serializedRows:t,selectable:r,clickable:n,hideClickable:i,selectMode:s,hasExpandableRows:c,hasDropdowns:d,numberOfColumns:b,loading:h}=this;if(h){return a("tbody",null,a("tr",{class:"loading-row"},a("td",{colSpan:b},a("q2-loading",{inline:true}))))}if(!t.length)return;let p=false;let u;if(s==="single"){u=this.selectedRow;p=!!u}const f=[];if(n)f.push("click-column");if(i)f.push("sr");const w=f.join(" ");return a("tbody",null,t.map((t=>{const i=`row-${t.id}-cell`;const s=`row-${t.id}-expandable-content`;const h=`row-${t.id}-dropdown`;const f=c&&!!this.hostElement.querySelector(`[slot="${s}"]`);const g=d&&!!this.hostElement.querySelector(`[slot="${h}"]`);const v=[];if(f)v.push("expandable");if(n)v.push("clickable");if(t.expanded)v.push("expanded");if(t.selected)v.push("selected");const m=n||f;return a(o,null,a("tr",{id:`row-${t.id}`,class:v.join(" "),onClick:m&&(e=>this.onClickTableRow(e,t)),tabIndex:m?-1:undefined},r&&a("td",{class:"select-column",onClick:this.onControlContainerClick},a("q2-checkbox",{label:l("tecton.element.dataTable.selectRow"),"hide-label":true,checked:t.selected,disabled:p&&t!==u,onChange:e=>this.onSelectRow(e,t),"test-id":"select-row-control"})),e.map((({key:e})=>{const o=t.cells[e];const r=o===null||o===void 0?void 0:o.lineClamp;const n=o===null||o===void 0?void 0:o.align;const l=[];if(n)l.push(`align-${n}`);if(r)l.push("clamped");const s=r?{"--comp-line-clamp-count":`${r}`}:undefined;return a("td",{class:l.join(" "),style:s},a("slot",{name:`${i}-${e}`},this.renderCellContent(o)))})),n&&a("td",{class:w},a("q2-btn",{intent:"neutral",size:"small",onClick:e=>this.onClickRow(e,t),"test-id":"clickable-row-control"},l("tecton.element.dataTable.clickRow"))),c&&a("td",{class:"expandable-row-control-column",onClick:this.onControlContainerClick},f&&a("q2-btn",{onClick:e=>this.onToggleRow(e,t),ariaExpanded:`${t.expanded}`,ariaControls:s,ariaLabel:l("tecton.element.dataTable.toggleRow"),"test-id":"expandable-row-control"},a("q2-icon",{type:"chevron-down",class:"toggle-expandable-row"}))),d&&a("td",{class:"dropdown-column",onClick:this.onControlContainerClick},g&&a("slot",{name:h}))),f&&a("tr",{id:s,class:"expandable-row",hidden:!t.expanded,"aria-hidden":!t.expanded},a("td",{colSpan:b,headers:"toggle"},a("div",{class:"expandable-content"},a("slot",{name:s})))))})))}renderCellContent(e){if(!e)return;const{type:t,ariaLabel:o,value:r}=e;if([undefined,null].includes(r))return;switch(t){case"badge":let t;switch(typeof r){case"string":t=parseFloat(r);break;case"boolean":t=r?1:0;break;default:t=r;break}return a("q2-badge",{"aria-label":o,value:t,theme:e.badgeTheme,status:e.badgeStatus,size:"large"});case"icon":const n=typeof r==="string"?r:`${r}`;return a("q2-icon",{label:o,type:n});case"boolean":return!!r?a("q2-icon",{label:l("tecton.element.dataTable.booleanTrue"),type:"checkmark"}):a("div",{"aria-label":l("tecton.element.dataTable.booleanFalse")});case"code":return a("code",{"aria-label":o},r);default:return a("div",{"aria-label":o},r)}}get hostElement(){return r(this)}static get watchers(){return{headers:["headersHandler"],rows:["rowsHandler"]}}};s.style=i;export{s as q2_data_table};
2
- //# sourceMappingURL=p-215d5ab4.entry.js.map