q2-tecton-elements 1.51.0 → 1.52.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 (613) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +16 -5
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/{index-9aa4a776.js → index-07285783.js} +86 -2
  4. package/dist/cjs/index-07285783.js.map +1 -0
  5. package/dist/cjs/{index-14c3693c.js → index-e7e68b1e.js} +40 -5
  6. package/dist/cjs/index-e7e68b1e.js.map +1 -0
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/q2-action-group.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-action-sheet.cjs.entry.js +3 -3
  10. package/dist/cjs/q2-avatar.cjs.entry.js +2 -2
  11. package/dist/cjs/q2-badge_7.cjs.entry.js +49 -44
  12. package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-calendar.cjs.entry.js +17 -20
  14. package/dist/cjs/q2-calendar.cjs.entry.js.map +1 -1
  15. package/dist/cjs/q2-card.cjs.entry.js +4 -2
  16. package/dist/cjs/q2-card.cjs.entry.js.map +1 -1
  17. package/dist/cjs/q2-carousel-pane.cjs.entry.js +4 -4
  18. package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-chart-area.cjs.entry.js +16 -3
  20. package/dist/cjs/q2-chart-area.cjs.entry.js.map +1 -1
  21. package/dist/cjs/q2-chart-bar.cjs.entry.js +3 -3
  22. package/dist/cjs/q2-chart-donut.cjs.entry.js +19 -3
  23. package/dist/cjs/q2-chart-donut.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-checkbox-group.cjs.entry.js +6 -5
  25. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  26. package/dist/cjs/q2-checkbox.cjs.entry.js +2 -2
  27. package/dist/cjs/q2-currency.cjs.entry.js +14 -2
  28. package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
  29. package/dist/cjs/q2-data-table.cjs.entry.js +3 -3
  30. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  31. package/dist/cjs/q2-detail.cjs.entry.js +3 -3
  32. package/dist/cjs/q2-dropdown-item.cjs.entry.js +12 -14
  33. package/dist/cjs/q2-dropdown-item.cjs.entry.js.map +1 -1
  34. package/dist/cjs/q2-dropdown.cjs.entry.js +7 -5
  35. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  36. package/dist/cjs/q2-editable-field.cjs.entry.js +3 -3
  37. package/dist/cjs/q2-example.cjs.entry.js +145 -0
  38. package/dist/cjs/q2-example.cjs.entry.js.map +1 -0
  39. package/dist/cjs/q2-formatted-text.cjs.entry.js +2 -2
  40. package/dist/cjs/q2-item.cjs.entry.js +3 -3
  41. package/dist/cjs/q2-legend.cjs.entry.js +2 -2
  42. package/dist/cjs/q2-link.cjs.entry.js +4 -4
  43. package/dist/cjs/q2-link.cjs.entry.js.map +1 -1
  44. package/dist/cjs/q2-list.cjs.entry.js +6 -7
  45. package/dist/cjs/q2-list.cjs.entry.js.map +1 -1
  46. package/dist/cjs/q2-loading-element.cjs.entry.js +2 -2
  47. package/dist/cjs/q2-loc.cjs.entry.js +52 -3
  48. package/dist/cjs/q2-loc.cjs.entry.js.map +1 -1
  49. package/dist/cjs/q2-message.cjs.entry.js +3 -3
  50. package/dist/cjs/q2-month-picker.cjs.entry.js +4 -4
  51. package/dist/cjs/q2-optgroup.cjs.entry.js +5 -4
  52. package/dist/cjs/q2-optgroup.cjs.entry.js.map +1 -1
  53. package/dist/cjs/q2-option-list.cjs.entry.js +2 -2
  54. package/dist/cjs/q2-option.cjs.entry.js +50 -33
  55. package/dist/cjs/q2-option.cjs.entry.js.map +1 -1
  56. package/dist/cjs/q2-pagination.cjs.entry.js +11 -7
  57. package/dist/cjs/q2-pagination.cjs.entry.js.map +1 -1
  58. package/dist/cjs/q2-pill.cjs.entry.js +19 -18
  59. package/dist/cjs/q2-pill.cjs.entry.js.map +1 -1
  60. package/dist/cjs/q2-radio-group.cjs.entry.js +5 -5
  61. package/dist/cjs/q2-radio-group.cjs.entry.js.map +1 -1
  62. package/dist/cjs/q2-radio.cjs.entry.js +3 -3
  63. package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
  64. package/dist/cjs/q2-resize-observer.cjs.entry.js +2 -2
  65. package/dist/cjs/q2-section.cjs.entry.js +8 -6
  66. package/dist/cjs/q2-section.cjs.entry.js.map +1 -1
  67. package/dist/cjs/q2-select.cjs.entry.js +6 -5
  68. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  69. package/dist/cjs/q2-stepper-pane.cjs.entry.js +5 -4
  70. package/dist/cjs/q2-stepper-pane.cjs.entry.js.map +1 -1
  71. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +16 -4
  72. package/dist/cjs/q2-stepper-vertical.cjs.entry.js.map +1 -1
  73. package/dist/cjs/q2-stepper.cjs.entry.js +6 -4
  74. package/dist/cjs/q2-stepper.cjs.entry.js.map +1 -1
  75. package/dist/cjs/q2-tag.cjs.entry.js +6 -4
  76. package/dist/cjs/q2-tag.cjs.entry.js.map +1 -1
  77. package/dist/cjs/q2-tecton-elements.cjs.js +2 -2
  78. package/dist/cjs/q2-textarea.cjs.entry.js +3 -3
  79. package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
  80. package/dist/cjs/{shapes-be198cc0.js → shapes-5d45fc11.js} +2 -2
  81. package/dist/cjs/{shapes-be198cc0.js.map → shapes-5d45fc11.js.map} +1 -1
  82. package/dist/cjs/tecton-tab-pane.cjs.entry.js +3 -3
  83. package/dist/collection/collection-manifest.json +1 -0
  84. package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
  85. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  86. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  87. package/dist/collection/components/q2-calendar/q2-calendar.js +16 -18
  88. package/dist/collection/components/q2-calendar/q2-calendar.js.map +1 -1
  89. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  90. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js +27 -0
  91. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
  92. package/dist/collection/components/q2-card/q2-card.js +2 -0
  93. package/dist/collection/components/q2-card/q2-card.js.map +1 -1
  94. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  95. package/dist/collection/components/q2-chart-area/q2-chart-area.js +42 -1
  96. package/dist/collection/components/q2-chart-area/q2-chart-area.js.map +1 -1
  97. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js +15 -0
  98. package/dist/collection/components/q2-chart-area/test/q2-chart-area-test.e2e.js.map +1 -1
  99. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  100. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +41 -1
  101. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js.map +1 -1
  102. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js +11 -0
  103. package/dist/collection/components/q2-chart-donut/test/q2-chart-donut-test.e2e.js.map +1 -1
  104. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +30 -23
  105. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +4 -3
  106. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js.map +1 -1
  107. package/dist/collection/components/q2-currency/q2-currency.js +37 -1
  108. package/dist/collection/components/q2-currency/q2-currency.js.map +1 -1
  109. package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js +34 -23
  110. package/dist/collection/components/q2-currency/test/q2-currency-test.e2e.js.map +1 -1
  111. package/dist/collection/components/q2-data-table/q2-data-table.js +1 -1
  112. package/dist/collection/components/q2-data-table/q2-data-table.js.map +1 -1
  113. package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js +6 -4
  114. package/dist/collection/components/q2-data-table/test/q2-data-table-test.e2e.js.map +1 -1
  115. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  116. package/dist/collection/components/q2-dropdown/q2-dropdown.css +5 -0
  117. package/dist/collection/components/q2-dropdown/q2-dropdown.js +10 -4
  118. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  119. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +59 -14
  120. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
  121. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.css +29 -11
  122. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js +9 -11
  123. package/dist/collection/components/q2-dropdown-item/q2-dropdown-item.js.map +1 -1
  124. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js +108 -74
  125. package/dist/collection/components/q2-dropdown-item/test/q2-dropdown-item-test.e2e.js.map +1 -1
  126. package/dist/collection/components/q2-editable-field/q2-editable-field.js +1 -1
  127. package/dist/collection/components/q2-example/q2-example.css +66 -0
  128. package/dist/collection/components/q2-example/q2-example.js +312 -0
  129. package/dist/collection/components/q2-example/q2-example.js.map +1 -0
  130. package/dist/collection/components/q2-example/test/q2-example.e2e.js +27 -0
  131. package/dist/collection/components/q2-example/test/q2-example.e2e.js.map +1 -0
  132. package/dist/collection/components/q2-example/test/q2-example.spec.js +126 -0
  133. package/dist/collection/components/q2-example/test/q2-example.spec.js.map +1 -0
  134. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  135. package/dist/collection/components/q2-input/formatting/alpha.spec.js +10 -0
  136. package/dist/collection/components/q2-input/formatting/alpha.spec.js.map +1 -0
  137. package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js +7 -0
  138. package/dist/collection/components/q2-input/formatting/alphanumeric.spec.js.map +1 -0
  139. package/dist/collection/components/q2-input/formatting/currency.spec.js +20 -0
  140. package/dist/collection/components/q2-input/formatting/currency.spec.js.map +1 -0
  141. package/dist/collection/components/q2-input/formatting/date.js +1 -1
  142. package/dist/collection/components/q2-input/formatting/date.js.map +1 -1
  143. package/dist/collection/components/q2-input/formatting/date.spec.js +17 -0
  144. package/dist/collection/components/q2-input/formatting/date.spec.js.map +1 -0
  145. package/dist/collection/components/q2-input/formatting/numeric.spec.js +32 -0
  146. package/dist/collection/components/q2-input/formatting/numeric.spec.js.map +1 -0
  147. package/dist/collection/components/q2-input/formatting/phone.spec.js +16 -0
  148. package/dist/collection/components/q2-input/formatting/phone.spec.js.map +1 -0
  149. package/dist/collection/components/q2-input/formatting/postal.js +1 -1
  150. package/dist/collection/components/q2-input/formatting/postal.js.map +1 -1
  151. package/dist/collection/components/q2-input/formatting/postal.spec.js +28 -0
  152. package/dist/collection/components/q2-input/formatting/postal.spec.js.map +1 -0
  153. package/dist/collection/components/q2-input/formatting/ssn.spec.js +7 -0
  154. package/dist/collection/components/q2-input/formatting/ssn.spec.js.map +1 -0
  155. package/dist/collection/components/q2-input/formatting/tin.spec.js +7 -0
  156. package/dist/collection/components/q2-input/formatting/tin.spec.js.map +1 -0
  157. package/dist/collection/components/q2-input/q2-input.js +58 -44
  158. package/dist/collection/components/q2-input/q2-input.js.map +1 -1
  159. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js +259 -2106
  160. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
  161. package/dist/collection/components/q2-input/test/q2-input-test.spec.js +4035 -0
  162. package/dist/collection/components/q2-input/test/q2-input-test.spec.js.map +1 -0
  163. package/dist/collection/components/q2-item/q2-item.js +1 -1
  164. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  165. package/dist/collection/components/q2-link/q2-link.css +17 -20
  166. package/dist/collection/components/q2-link/q2-link.js +2 -2
  167. package/dist/collection/components/q2-link/q2-link.js.map +1 -1
  168. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js +6 -6
  169. package/dist/collection/components/q2-link/test/q2-link-test.e2e.js.map +1 -1
  170. package/dist/collection/components/q2-list/q2-list.js +4 -5
  171. package/dist/collection/components/q2-list/q2-list.js.map +1 -1
  172. package/dist/collection/components/q2-loc/q2-loc.js +66 -4
  173. package/dist/collection/components/q2-loc/q2-loc.js.map +1 -1
  174. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js +19 -30
  175. package/dist/collection/components/q2-loc/test/q2-loc-test.e2e.js.map +1 -1
  176. package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js +164 -0
  177. package/dist/collection/components/q2-loc/test/q2-loc-test.spec.js.map +1 -0
  178. package/dist/collection/components/q2-message/q2-message.js +1 -1
  179. package/dist/collection/components/q2-optgroup/q2-optgroup.js +3 -2
  180. package/dist/collection/components/q2-optgroup/q2-optgroup.js.map +1 -1
  181. package/dist/collection/components/q2-option/q2-option.css +1 -1
  182. package/dist/collection/components/q2-option/q2-option.js +57 -34
  183. package/dist/collection/components/q2-option/q2-option.js.map +1 -1
  184. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js +110 -106
  185. package/dist/collection/components/q2-option/test/q2-option-test.e2e.js.map +1 -1
  186. package/dist/collection/components/q2-option/test/q2-option-test.spec.js +532 -0
  187. package/dist/collection/components/q2-option/test/q2-option-test.spec.js.map +1 -0
  188. package/dist/collection/components/q2-pagination/q2-pagination.js +9 -5
  189. package/dist/collection/components/q2-pagination/q2-pagination.js.map +1 -1
  190. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js +18 -1
  191. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
  192. package/dist/collection/components/q2-pill/q2-pill.js +18 -17
  193. package/dist/collection/components/q2-pill/q2-pill.js.map +1 -1
  194. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js +128 -57
  195. package/dist/collection/components/q2-pill/test/q2-pill-test.e2e.js.map +1 -1
  196. package/dist/collection/components/q2-popover/q2-popover.js +17 -4
  197. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  198. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  199. package/dist/collection/components/q2-radio-group/q2-radio-group.css +19 -9
  200. package/dist/collection/components/q2-radio-group/q2-radio-group.js +2 -2
  201. package/dist/collection/components/q2-radio-group/q2-radio-group.js.map +1 -1
  202. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  203. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  204. package/dist/collection/components/q2-section/q2-section.js +6 -4
  205. package/dist/collection/components/q2-section/q2-section.js.map +1 -1
  206. package/dist/collection/components/q2-select/q2-select.js +5 -3
  207. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  208. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js +123 -62
  209. package/dist/collection/components/q2-select/test/q2-select-test.e2e.js.map +1 -1
  210. package/dist/collection/components/q2-stepper/q2-stepper.js +4 -2
  211. package/dist/collection/components/q2-stepper/q2-stepper.js.map +1 -1
  212. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -2
  213. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js.map +1 -1
  214. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +46 -2
  215. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js.map +1 -1
  216. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js +26 -0
  217. package/dist/collection/components/q2-stepper-vertical/test/q2-stepper-vertical-test.e2e.js.map +1 -1
  218. package/dist/collection/components/q2-tab-container/q2-tab-container.js +4 -3
  219. package/dist/collection/components/q2-tab-container/q2-tab-container.js.map +1 -1
  220. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  221. package/dist/collection/components/q2-tag/q2-tag.js +5 -2
  222. package/dist/collection/components/q2-tag/q2-tag.js.map +1 -1
  223. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +55 -4
  224. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
  225. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  226. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  227. package/dist/collection/utils/helpers.js +63 -41
  228. package/dist/collection/utils/helpers.js.map +1 -1
  229. package/dist/collection/utils/index.js +83 -0
  230. package/dist/collection/utils/index.js.map +1 -1
  231. package/dist/components/index.js +2 -0
  232. package/dist/components/index.js.map +1 -1
  233. package/dist/components/index2.js +84 -1
  234. package/dist/components/index2.js.map +1 -1
  235. package/dist/components/q2-action-group.js +1 -1
  236. package/dist/components/q2-action-sheet.js +1 -1
  237. package/dist/components/q2-avatar2.js +1 -1
  238. package/dist/components/q2-calendar.js +16 -18
  239. package/dist/components/q2-calendar.js.map +1 -1
  240. package/dist/components/q2-card.js +2 -0
  241. package/dist/components/q2-card.js.map +1 -1
  242. package/dist/components/q2-carousel-pane.js +2 -2
  243. package/dist/components/q2-chart-area.js +16 -2
  244. package/dist/components/q2-chart-area.js.map +1 -1
  245. package/dist/components/q2-chart-bar.js +1 -1
  246. package/dist/components/q2-chart-donut.js +19 -2
  247. package/dist/components/q2-chart-donut.js.map +1 -1
  248. package/dist/components/q2-checkbox-group.js +5 -4
  249. package/dist/components/q2-checkbox-group.js.map +1 -1
  250. package/dist/components/q2-currency.js +15 -2
  251. package/dist/components/q2-currency.js.map +1 -1
  252. package/dist/components/q2-data-table.js +1 -1
  253. package/dist/components/q2-data-table.js.map +1 -1
  254. package/dist/components/q2-detail.js +1 -1
  255. package/dist/components/q2-dropdown-item2.js +12 -26
  256. package/dist/components/q2-dropdown-item2.js.map +1 -1
  257. package/dist/components/q2-dropdown.js +6 -3
  258. package/dist/components/q2-dropdown.js.map +1 -1
  259. package/dist/components/q2-editable-field.js +1 -1
  260. package/dist/components/q2-example.d.ts +11 -0
  261. package/dist/components/q2-example.js +170 -0
  262. package/dist/components/q2-example.js.map +1 -0
  263. package/dist/components/q2-formatted-text.js +1 -1
  264. package/dist/components/q2-input2.js +41 -37
  265. package/dist/components/q2-input2.js.map +1 -1
  266. package/dist/components/q2-item.js +1 -1
  267. package/dist/components/q2-legend2.js +1 -1
  268. package/dist/components/q2-link.js +3 -3
  269. package/dist/components/q2-link.js.map +1 -1
  270. package/dist/components/q2-list.js +4 -5
  271. package/dist/components/q2-list.js.map +1 -1
  272. package/dist/components/q2-loc.js +55 -2
  273. package/dist/components/q2-loc.js.map +1 -1
  274. package/dist/components/q2-message2.js +1 -1
  275. package/dist/components/q2-month-picker.js +2 -2
  276. package/dist/components/q2-optgroup2.js +3 -2
  277. package/dist/components/q2-optgroup2.js.map +1 -1
  278. package/dist/components/q2-option-list2.js +1 -1
  279. package/dist/components/q2-option2.js +52 -33
  280. package/dist/components/q2-option2.js.map +1 -1
  281. package/dist/components/q2-pagination.js +9 -5
  282. package/dist/components/q2-pagination.js.map +1 -1
  283. package/dist/components/q2-pill.js +18 -17
  284. package/dist/components/q2-pill.js.map +1 -1
  285. package/dist/components/q2-popover2.js +16 -4
  286. package/dist/components/q2-popover2.js.map +1 -1
  287. package/dist/components/q2-radio-group.js +3 -3
  288. package/dist/components/q2-radio-group.js.map +1 -1
  289. package/dist/components/q2-radio.js +1 -1
  290. package/dist/components/q2-relative-time.js +1 -1
  291. package/dist/components/q2-resize-observer2.js +1 -1
  292. package/dist/components/q2-section.js +6 -4
  293. package/dist/components/q2-section.js.map +1 -1
  294. package/dist/components/q2-select2.js +6 -4
  295. package/dist/components/q2-select2.js.map +1 -1
  296. package/dist/components/q2-stepper-pane.js +3 -2
  297. package/dist/components/q2-stepper-pane.js.map +1 -1
  298. package/dist/components/q2-stepper-vertical.js +16 -3
  299. package/dist/components/q2-stepper-vertical.js.map +1 -1
  300. package/dist/components/q2-stepper.js +4 -2
  301. package/dist/components/q2-stepper.js.map +1 -1
  302. package/dist/components/q2-tab-container.js +4 -3
  303. package/dist/components/q2-tab-container.js.map +1 -1
  304. package/dist/components/q2-tab-pane.js +1 -1
  305. package/dist/components/q2-tag.js +5 -2
  306. package/dist/components/q2-tag.js.map +1 -1
  307. package/dist/components/q2-textarea.js +1 -1
  308. package/dist/components/tecton-tab-pane.js +2 -2
  309. package/dist/esm/click-elsewhere_2.entry.js +16 -5
  310. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  311. package/dist/esm/{index-1e1ce94e.js → index-7a5365e2.js} +40 -5
  312. package/dist/esm/index-7a5365e2.js.map +1 -0
  313. package/dist/esm/{index-844fc010.js → index-d18e2a20.js} +86 -3
  314. package/dist/esm/index-d18e2a20.js.map +1 -0
  315. package/dist/esm/loader.js +3 -3
  316. package/dist/esm/q2-action-group.entry.js +2 -2
  317. package/dist/esm/q2-action-sheet.entry.js +3 -3
  318. package/dist/esm/q2-avatar.entry.js +2 -2
  319. package/dist/esm/q2-badge_7.entry.js +49 -44
  320. package/dist/esm/q2-badge_7.entry.js.map +1 -1
  321. package/dist/esm/q2-calendar.entry.js +17 -20
  322. package/dist/esm/q2-calendar.entry.js.map +1 -1
  323. package/dist/esm/q2-card.entry.js +4 -2
  324. package/dist/esm/q2-card.entry.js.map +1 -1
  325. package/dist/esm/q2-carousel-pane.entry.js +4 -4
  326. package/dist/esm/q2-carousel.entry.js +2 -2
  327. package/dist/esm/q2-chart-area.entry.js +16 -3
  328. package/dist/esm/q2-chart-area.entry.js.map +1 -1
  329. package/dist/esm/q2-chart-bar.entry.js +3 -3
  330. package/dist/esm/q2-chart-donut.entry.js +19 -3
  331. package/dist/esm/q2-chart-donut.entry.js.map +1 -1
  332. package/dist/esm/q2-checkbox-group.entry.js +6 -5
  333. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  334. package/dist/esm/q2-checkbox.entry.js +2 -2
  335. package/dist/esm/q2-currency.entry.js +14 -2
  336. package/dist/esm/q2-currency.entry.js.map +1 -1
  337. package/dist/esm/q2-data-table.entry.js +3 -3
  338. package/dist/esm/q2-data-table.entry.js.map +1 -1
  339. package/dist/esm/q2-detail.entry.js +3 -3
  340. package/dist/esm/q2-dropdown-item.entry.js +12 -14
  341. package/dist/esm/q2-dropdown-item.entry.js.map +1 -1
  342. package/dist/esm/q2-dropdown.entry.js +7 -5
  343. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  344. package/dist/esm/q2-editable-field.entry.js +3 -3
  345. package/dist/esm/q2-example.entry.js +141 -0
  346. package/dist/esm/q2-example.entry.js.map +1 -0
  347. package/dist/esm/q2-formatted-text.entry.js +2 -2
  348. package/dist/esm/q2-item.entry.js +3 -3
  349. package/dist/esm/q2-legend.entry.js +2 -2
  350. package/dist/esm/q2-link.entry.js +4 -4
  351. package/dist/esm/q2-link.entry.js.map +1 -1
  352. package/dist/esm/q2-list.entry.js +6 -7
  353. package/dist/esm/q2-list.entry.js.map +1 -1
  354. package/dist/esm/q2-loading-element.entry.js +2 -2
  355. package/dist/esm/q2-loc.entry.js +52 -3
  356. package/dist/esm/q2-loc.entry.js.map +1 -1
  357. package/dist/esm/q2-message.entry.js +3 -3
  358. package/dist/esm/q2-month-picker.entry.js +4 -4
  359. package/dist/esm/q2-optgroup.entry.js +5 -4
  360. package/dist/esm/q2-optgroup.entry.js.map +1 -1
  361. package/dist/esm/q2-option-list.entry.js +2 -2
  362. package/dist/esm/q2-option.entry.js +50 -33
  363. package/dist/esm/q2-option.entry.js.map +1 -1
  364. package/dist/esm/q2-pagination.entry.js +11 -7
  365. package/dist/esm/q2-pagination.entry.js.map +1 -1
  366. package/dist/esm/q2-pill.entry.js +19 -18
  367. package/dist/esm/q2-pill.entry.js.map +1 -1
  368. package/dist/esm/q2-radio-group.entry.js +5 -5
  369. package/dist/esm/q2-radio-group.entry.js.map +1 -1
  370. package/dist/esm/q2-radio.entry.js +3 -3
  371. package/dist/esm/q2-relative-time.entry.js +3 -3
  372. package/dist/esm/q2-resize-observer.entry.js +2 -2
  373. package/dist/esm/q2-section.entry.js +8 -6
  374. package/dist/esm/q2-section.entry.js.map +1 -1
  375. package/dist/esm/q2-select.entry.js +6 -5
  376. package/dist/esm/q2-select.entry.js.map +1 -1
  377. package/dist/esm/q2-stepper-pane.entry.js +5 -4
  378. package/dist/esm/q2-stepper-pane.entry.js.map +1 -1
  379. package/dist/esm/q2-stepper-vertical.entry.js +16 -4
  380. package/dist/esm/q2-stepper-vertical.entry.js.map +1 -1
  381. package/dist/esm/q2-stepper.entry.js +6 -4
  382. package/dist/esm/q2-stepper.entry.js.map +1 -1
  383. package/dist/esm/q2-tag.entry.js +6 -4
  384. package/dist/esm/q2-tag.entry.js.map +1 -1
  385. package/dist/esm/q2-tecton-elements.js +3 -3
  386. package/dist/esm/q2-textarea.entry.js +3 -3
  387. package/dist/esm/q2-tooltip.entry.js +2 -2
  388. package/dist/esm/{shapes-36183b2a.js → shapes-c7e1a3fa.js} +2 -2
  389. package/dist/esm/{shapes-36183b2a.js.map → shapes-c7e1a3fa.js.map} +1 -1
  390. package/dist/esm/tecton-tab-pane.entry.js +3 -3
  391. package/dist/q2-tecton-elements/action-sheet-e64cb6f7.js +77 -0
  392. package/dist/q2-tecton-elements/{p-b7554a79.js.map → action-sheet-e64cb6f7.js.map} +1 -1
  393. package/dist/q2-tecton-elements/app-globals-0f993ce5.js +4 -0
  394. package/dist/q2-tecton-elements/{p-e1255160.js.map → app-globals-0f993ce5.js.map} +1 -1
  395. package/dist/q2-tecton-elements/charting-1abfb877.js +34872 -0
  396. package/dist/q2-tecton-elements/{p-2941aafa.js.map → charting-1abfb877.js.map} +1 -1
  397. package/dist/q2-tecton-elements/click-elsewhere_2.entry.js +410 -0
  398. package/dist/q2-tecton-elements/click-elsewhere_2.entry.js.map +1 -0
  399. package/dist/q2-tecton-elements/dataSample-7b62e101.js +2602 -0
  400. package/dist/q2-tecton-elements/{p-ad80aef0.js.map → dataSample-7b62e101.js.map} +1 -1
  401. package/dist/q2-tecton-elements/index-3184c760.js +18168 -0
  402. package/dist/q2-tecton-elements/{p-f1e887f5.js.map → index-3184c760.js.map} +1 -1
  403. package/dist/q2-tecton-elements/index-7a5365e2.js +1792 -0
  404. package/dist/q2-tecton-elements/index-7a5365e2.js.map +1 -0
  405. package/dist/q2-tecton-elements/index-d18e2a20.js +323 -0
  406. package/dist/q2-tecton-elements/index-d18e2a20.js.map +1 -0
  407. package/dist/q2-tecton-elements/q2-action-group.entry.js +56 -0
  408. package/dist/q2-tecton-elements/{p-5637c486.entry.js.map → q2-action-group.entry.js.map} +1 -1
  409. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +1480 -0
  410. package/dist/q2-tecton-elements/{p-188eb162.entry.js.map → q2-action-sheet.entry.js.map} +1 -1
  411. package/dist/q2-tecton-elements/q2-avatar.entry.js +101 -0
  412. package/dist/q2-tecton-elements/{p-07d1c3ae.entry.js.map → q2-avatar.entry.js.map} +1 -1
  413. package/dist/q2-tecton-elements/q2-badge_7.entry.js +5449 -0
  414. package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -0
  415. package/dist/q2-tecton-elements/q2-calendar.entry.js +1313 -0
  416. package/dist/q2-tecton-elements/q2-calendar.entry.js.map +1 -0
  417. package/dist/q2-tecton-elements/q2-card.entry.js +170 -0
  418. package/dist/q2-tecton-elements/q2-card.entry.js.map +1 -0
  419. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +130 -0
  420. package/dist/q2-tecton-elements/{p-7aef0c08.entry.js.map → q2-carousel-pane.entry.js.map} +1 -1
  421. package/dist/q2-tecton-elements/q2-carousel.entry.js +4613 -0
  422. package/dist/q2-tecton-elements/{p-e216ef3f.entry.js.map → q2-carousel.entry.js.map} +1 -1
  423. package/dist/q2-tecton-elements/q2-chart-area.entry.js +4330 -0
  424. package/dist/q2-tecton-elements/q2-chart-area.entry.js.map +1 -0
  425. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +1479 -0
  426. package/dist/q2-tecton-elements/{p-7906f49e.entry.js.map → q2-chart-bar.entry.js.map} +1 -1
  427. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +4537 -0
  428. package/dist/q2-tecton-elements/q2-chart-donut.entry.js.map +1 -0
  429. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +166 -0
  430. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -0
  431. package/dist/q2-tecton-elements/q2-checkbox.entry.js +223 -0
  432. package/dist/q2-tecton-elements/{p-b7de110e.entry.js.map → q2-checkbox.entry.js.map} +1 -1
  433. package/dist/q2-tecton-elements/q2-currency.entry.js +153 -0
  434. package/dist/q2-tecton-elements/q2-currency.entry.js.map +1 -0
  435. package/dist/q2-tecton-elements/q2-data-table.entry.js +622 -0
  436. package/dist/q2-tecton-elements/{p-7903cd15.entry.js.map → q2-data-table.entry.js.map} +1 -1
  437. package/dist/q2-tecton-elements/q2-detail.entry.js +128 -0
  438. package/dist/q2-tecton-elements/{p-f5f23659.entry.js.map → q2-detail.entry.js.map} +1 -1
  439. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +146 -0
  440. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js.map +1 -0
  441. package/dist/q2-tecton-elements/q2-dropdown.entry.js +432 -0
  442. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -0
  443. package/dist/q2-tecton-elements/q2-editable-field.entry.js +296 -0
  444. package/dist/q2-tecton-elements/{p-896c7008.entry.js.map → q2-editable-field.entry.js.map} +1 -1
  445. package/dist/q2-tecton-elements/q2-example.entry.js +152 -0
  446. package/dist/q2-tecton-elements/q2-example.entry.js.map +1 -0
  447. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +73 -0
  448. package/dist/q2-tecton-elements/{p-7c9f8b62.entry.js.map → q2-formatted-text.entry.js.map} +1 -1
  449. package/dist/q2-tecton-elements/q2-item.entry.js +158 -0
  450. package/dist/q2-tecton-elements/{p-7c9a0122.entry.js.map → q2-item.entry.js.map} +1 -1
  451. package/dist/q2-tecton-elements/q2-legend.entry.js +146 -0
  452. package/dist/q2-tecton-elements/{p-ff8f1a32.entry.js.map → q2-legend.entry.js.map} +1 -1
  453. package/dist/q2-tecton-elements/q2-link.entry.js +83 -0
  454. package/dist/q2-tecton-elements/q2-link.entry.js.map +1 -0
  455. package/dist/q2-tecton-elements/q2-list.entry.js +100 -0
  456. package/dist/q2-tecton-elements/q2-list.entry.js.map +1 -0
  457. package/dist/q2-tecton-elements/q2-loading-element.entry.js +36 -0
  458. package/dist/q2-tecton-elements/{p-a068c84c.entry.js.map → q2-loading-element.entry.js.map} +1 -1
  459. package/dist/q2-tecton-elements/q2-loc.entry.js +82 -0
  460. package/dist/q2-tecton-elements/q2-loc.entry.js.map +1 -0
  461. package/dist/q2-tecton-elements/q2-message.entry.js +99 -0
  462. package/dist/q2-tecton-elements/{p-8d2b02e1.entry.js.map → q2-message.entry.js.map} +1 -1
  463. package/dist/q2-tecton-elements/q2-month-picker.entry.js +198 -0
  464. package/dist/q2-tecton-elements/{p-8d07cf91.entry.js.map → q2-month-picker.entry.js.map} +1 -1
  465. package/dist/q2-tecton-elements/q2-optgroup.entry.js +88 -0
  466. package/dist/q2-tecton-elements/q2-optgroup.entry.js.map +1 -0
  467. package/dist/q2-tecton-elements/q2-option-list.entry.js +585 -0
  468. package/dist/q2-tecton-elements/{p-a5d0e252.entry.js.map → q2-option-list.entry.js.map} +1 -1
  469. package/dist/q2-tecton-elements/q2-option.entry.js +110 -0
  470. package/dist/q2-tecton-elements/q2-option.entry.js.map +1 -0
  471. package/dist/q2-tecton-elements/q2-pagination.entry.js +377 -0
  472. package/dist/q2-tecton-elements/q2-pagination.entry.js.map +1 -0
  473. package/dist/q2-tecton-elements/q2-pill.entry.js +434 -0
  474. package/dist/q2-tecton-elements/q2-pill.entry.js.map +1 -0
  475. package/dist/q2-tecton-elements/q2-radio-group.entry.js +227 -0
  476. package/dist/q2-tecton-elements/q2-radio-group.entry.js.map +1 -0
  477. package/dist/q2-tecton-elements/q2-radio.entry.js +144 -0
  478. package/dist/q2-tecton-elements/{p-c235ab3f.entry.js.map → q2-radio.entry.js.map} +1 -1
  479. package/dist/q2-tecton-elements/q2-relative-time.entry.js +162 -0
  480. package/dist/q2-tecton-elements/{p-95a7c042.entry.js.map → q2-relative-time.entry.js.map} +1 -1
  481. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +100 -0
  482. package/dist/q2-tecton-elements/{p-e2c800ef.entry.js.map → q2-resize-observer.entry.js.map} +1 -1
  483. package/dist/q2-tecton-elements/q2-section.entry.js +256 -0
  484. package/dist/q2-tecton-elements/q2-section.entry.js.map +1 -0
  485. package/dist/q2-tecton-elements/q2-select.entry.js +684 -0
  486. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -0
  487. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +124 -0
  488. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js.map +1 -0
  489. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +356 -0
  490. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js.map +1 -0
  491. package/dist/q2-tecton-elements/q2-stepper.entry.js +332 -0
  492. package/dist/q2-tecton-elements/q2-stepper.entry.js.map +1 -0
  493. package/dist/q2-tecton-elements/q2-tag.entry.js +213 -0
  494. package/dist/q2-tecton-elements/q2-tag.entry.js.map +1 -0
  495. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +21 -1
  496. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  497. package/dist/q2-tecton-elements/q2-textarea.entry.js +364 -0
  498. package/dist/q2-tecton-elements/{p-f135b265.entry.js.map → q2-textarea.entry.js.map} +1 -1
  499. package/dist/q2-tecton-elements/q2-tooltip.entry.js +105 -0
  500. package/dist/q2-tecton-elements/{p-c5667d5d.entry.js.map → q2-tooltip.entry.js.map} +1 -1
  501. package/dist/q2-tecton-elements/sectorHelper-183cedd0.js +949 -0
  502. package/dist/q2-tecton-elements/{p-eea5aa01.js.map → sectorHelper-183cedd0.js.map} +1 -1
  503. package/dist/q2-tecton-elements/shapes-c7e1a3fa.js +132 -0
  504. package/dist/q2-tecton-elements/{p-50b425de.js.map → shapes-c7e1a3fa.js.map} +1 -1
  505. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +134 -0
  506. package/dist/q2-tecton-elements/{p-96b1406c.entry.js.map → tecton-tab-pane.entry.js.map} +1 -1
  507. package/dist/types/components/q2-calendar/q2-calendar.d.ts +4 -5
  508. package/dist/types/components/q2-chart-area/q2-chart-area.d.ts +6 -0
  509. package/dist/types/components/q2-chart-donut/q2-chart-donut.d.ts +6 -0
  510. package/dist/types/components/q2-currency/q2-currency.d.ts +7 -0
  511. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +1 -1
  512. package/dist/types/components/q2-dropdown-item/q2-dropdown-item.d.ts +2 -2
  513. package/dist/types/components/q2-example/q2-example.d.ts +119 -0
  514. package/dist/types/components/q2-input/formatting/date.d.ts +22 -0
  515. package/dist/types/components/q2-input/formatting/postal.d.ts +197 -0
  516. package/dist/types/components/q2-input/q2-input.d.ts +15 -12
  517. package/dist/types/components/q2-loc/q2-loc.d.ts +15 -1
  518. package/dist/types/components/q2-option/q2-option.d.ts +11 -3
  519. package/dist/types/components/q2-pill/q2-pill.d.ts +3 -3
  520. package/dist/types/components/q2-popover/q2-popover.d.ts +1 -0
  521. package/dist/types/components/q2-select/q2-select.d.ts +1 -1
  522. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +6 -0
  523. package/dist/types/components/q2-tag/q2-tag.d.ts +1 -1
  524. package/dist/types/components.d.ts +104 -14
  525. package/dist/types/utils/helpers.d.ts +13 -0
  526. package/dist/types/utils/index.d.ts +11 -0
  527. package/package.json +7 -7
  528. package/dist/cjs/index-14c3693c.js.map +0 -1
  529. package/dist/cjs/index-9aa4a776.js.map +0 -1
  530. package/dist/esm/index-1e1ce94e.js.map +0 -1
  531. package/dist/esm/index-844fc010.js.map +0 -1
  532. package/dist/q2-tecton-elements/p-06701928.entry.js +0 -2
  533. package/dist/q2-tecton-elements/p-06701928.entry.js.map +0 -1
  534. package/dist/q2-tecton-elements/p-07d1c3ae.entry.js +0 -2
  535. package/dist/q2-tecton-elements/p-15ac45d6.js +0 -2
  536. package/dist/q2-tecton-elements/p-15ac45d6.js.map +0 -1
  537. package/dist/q2-tecton-elements/p-16910682.entry.js +0 -2
  538. package/dist/q2-tecton-elements/p-16910682.entry.js.map +0 -1
  539. package/dist/q2-tecton-elements/p-188eb162.entry.js +0 -3
  540. package/dist/q2-tecton-elements/p-1c760a89.entry.js +0 -2
  541. package/dist/q2-tecton-elements/p-1c760a89.entry.js.map +0 -1
  542. package/dist/q2-tecton-elements/p-1c88d057.entry.js +0 -2
  543. package/dist/q2-tecton-elements/p-1c88d057.entry.js.map +0 -1
  544. package/dist/q2-tecton-elements/p-20a3d6ed.entry.js +0 -2
  545. package/dist/q2-tecton-elements/p-20a3d6ed.entry.js.map +0 -1
  546. package/dist/q2-tecton-elements/p-2733583e.entry.js +0 -2
  547. package/dist/q2-tecton-elements/p-2733583e.entry.js.map +0 -1
  548. package/dist/q2-tecton-elements/p-2941aafa.js +0 -39
  549. package/dist/q2-tecton-elements/p-3e428290.entry.js +0 -2
  550. package/dist/q2-tecton-elements/p-3e428290.entry.js.map +0 -1
  551. package/dist/q2-tecton-elements/p-4774e5b3.entry.js +0 -2
  552. package/dist/q2-tecton-elements/p-4774e5b3.entry.js.map +0 -1
  553. package/dist/q2-tecton-elements/p-490ef8e5.entry.js +0 -2
  554. package/dist/q2-tecton-elements/p-490ef8e5.entry.js.map +0 -1
  555. package/dist/q2-tecton-elements/p-4e10550d.entry.js +0 -2
  556. package/dist/q2-tecton-elements/p-4e10550d.entry.js.map +0 -1
  557. package/dist/q2-tecton-elements/p-50b425de.js +0 -2
  558. package/dist/q2-tecton-elements/p-50f7328f.entry.js +0 -2
  559. package/dist/q2-tecton-elements/p-50f7328f.entry.js.map +0 -1
  560. package/dist/q2-tecton-elements/p-5637c486.entry.js +0 -2
  561. package/dist/q2-tecton-elements/p-56df21b0.entry.js +0 -2
  562. package/dist/q2-tecton-elements/p-56df21b0.entry.js.map +0 -1
  563. package/dist/q2-tecton-elements/p-5a834214.entry.js +0 -2
  564. package/dist/q2-tecton-elements/p-5a834214.entry.js.map +0 -1
  565. package/dist/q2-tecton-elements/p-5f99a4a8.entry.js +0 -2
  566. package/dist/q2-tecton-elements/p-5f99a4a8.entry.js.map +0 -1
  567. package/dist/q2-tecton-elements/p-72d948b4.entry.js +0 -2
  568. package/dist/q2-tecton-elements/p-72d948b4.entry.js.map +0 -1
  569. package/dist/q2-tecton-elements/p-7903cd15.entry.js +0 -2
  570. package/dist/q2-tecton-elements/p-7906f49e.entry.js +0 -2
  571. package/dist/q2-tecton-elements/p-7aef0c08.entry.js +0 -2
  572. package/dist/q2-tecton-elements/p-7c9a0122.entry.js +0 -2
  573. package/dist/q2-tecton-elements/p-7c9f8b62.entry.js +0 -2
  574. package/dist/q2-tecton-elements/p-81fbe718.entry.js +0 -2
  575. package/dist/q2-tecton-elements/p-81fbe718.entry.js.map +0 -1
  576. package/dist/q2-tecton-elements/p-896c7008.entry.js +0 -2
  577. package/dist/q2-tecton-elements/p-8d07cf91.entry.js +0 -2
  578. package/dist/q2-tecton-elements/p-8d2b02e1.entry.js +0 -2
  579. package/dist/q2-tecton-elements/p-95a7c042.entry.js +0 -2
  580. package/dist/q2-tecton-elements/p-96b1406c.entry.js +0 -2
  581. package/dist/q2-tecton-elements/p-a068c84c.entry.js +0 -2
  582. package/dist/q2-tecton-elements/p-a47597dd.entry.js +0 -2
  583. package/dist/q2-tecton-elements/p-a47597dd.entry.js.map +0 -1
  584. package/dist/q2-tecton-elements/p-a5d0e252.entry.js +0 -2
  585. package/dist/q2-tecton-elements/p-a5f18e27.js +0 -3
  586. package/dist/q2-tecton-elements/p-a5f18e27.js.map +0 -1
  587. package/dist/q2-tecton-elements/p-ac6aa392.entry.js +0 -2
  588. package/dist/q2-tecton-elements/p-ac6aa392.entry.js.map +0 -1
  589. package/dist/q2-tecton-elements/p-ad057d10.entry.js +0 -2
  590. package/dist/q2-tecton-elements/p-ad057d10.entry.js.map +0 -1
  591. package/dist/q2-tecton-elements/p-ad798287.entry.js +0 -2
  592. package/dist/q2-tecton-elements/p-ad798287.entry.js.map +0 -1
  593. package/dist/q2-tecton-elements/p-ad80aef0.js +0 -2
  594. package/dist/q2-tecton-elements/p-b0e5e9dc.entry.js +0 -2
  595. package/dist/q2-tecton-elements/p-b0e5e9dc.entry.js.map +0 -1
  596. package/dist/q2-tecton-elements/p-b1784be3.entry.js +0 -2
  597. package/dist/q2-tecton-elements/p-b1784be3.entry.js.map +0 -1
  598. package/dist/q2-tecton-elements/p-b7554a79.js +0 -2
  599. package/dist/q2-tecton-elements/p-b7de110e.entry.js +0 -2
  600. package/dist/q2-tecton-elements/p-c235ab3f.entry.js +0 -2
  601. package/dist/q2-tecton-elements/p-c5667d5d.entry.js +0 -2
  602. package/dist/q2-tecton-elements/p-e1255160.js +0 -2
  603. package/dist/q2-tecton-elements/p-e216ef3f.entry.js +0 -2
  604. package/dist/q2-tecton-elements/p-e2c800ef.entry.js +0 -2
  605. package/dist/q2-tecton-elements/p-eea5aa01.js +0 -2
  606. package/dist/q2-tecton-elements/p-f135b265.entry.js +0 -2
  607. package/dist/q2-tecton-elements/p-f1e887f5.js +0 -2
  608. package/dist/q2-tecton-elements/p-f5f23659.entry.js +0 -2
  609. package/dist/q2-tecton-elements/p-f7867f21.entry.js +0 -2
  610. package/dist/q2-tecton-elements/p-f7867f21.entry.js.map +0 -1
  611. package/dist/q2-tecton-elements/p-ff8f1a32.entry.js +0 -2
  612. package/dist/q2-tecton-elements/p-fff01dc1.entry.js +0 -2
  613. package/dist/q2-tecton-elements/p-fff01dc1.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["q2RelativeTimeCss","Q2RelativeTimeStyle0","Q2RelativeTime","this","syncTimer","trimSuffix","document","documentElement","lang","connectedCallback","syncUpdated","disconnectedCallback","window","clearInterval","componentWillLoad","updateMessage","displayedMessageValue","displayedMessage","validBaseDateProp","isValidBaseDate","validDateProp","isValidDate","isBaseDateProvided","dateObject","baseDateObject","locale","handleNumeric","messageFormat","isValidUnit","unit","sync","loc","message","intlFormatDistance","Date","localeMatcher","numeric","style","trimMessage","setInterval","baseDate","date","undefined","isValid","console","warn","includes","shouldShow","replace","render","h","Fragment","key","dateTime"],"sources":["src/components/q2-relative-time/q2-relative-time.scss?tag=q2-relative-time&encapsulation=shadow","src/components/q2-relative-time/q2-relative-time.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline;\n}\n","import { Component, Prop, State, Method, Watch, Element, h, ComponentInterface, Fragment } from '@stencil/core';\nimport { isValid as isValidDate, intlFormatDistance } from 'date-fns';\nimport { loc } from '../../utils';\n\n@Component({ tag: 'q2-relative-time', shadow: true, styleUrl: 'q2-relative-time.scss' })\nexport class Q2RelativeTime implements ComponentInterface {\n // #region Own Properties\n\n /**\n * @private\n * Used to manage the sync timer that updates the time since the component was connected to the DOM.\n * Will be set to null if a valid `baseDate` is provided.\n */\n syncTimer = null;\n /** @private Will be set to true if a valid `baseDate` is provided. */\n trimSuffix: boolean = false;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n displayedMessage: string;\n\n // #endregion\n // #region Public Property API\n\n /**\n * If you want to display the length of time between two specific dates, you can provide a valid `date` and `baseDate`, and the component will display the length of time between the two dates.\n *\n * If `baseDate` is not provided, the date and time at render will be used instead and - if `sync` is true - updated every second to reflect the time between the `date` value and the time at render.\n *\n * @warning\n * - Requires a valid `date` value.\n * - If the provided `baseDate` is invalid, the component will display \"Invalid Date\" and a warning message will be printed in the console.\n * - Providing a valid `baseDate` will disable `sync` and remove the \"in\"/\"ago\" suffixes in the time message.\n * - Must be a valid ISO date string.\n */\n @Prop({ reflect: true })\n baseDate: Date | string;\n\n /**\n * The date you want to calculate relative time from.\n *\n * @warning\n * - Must be a valid ISO date string.\n * - If the provided `date` is invalid, the component will display \"Invalid Date\" and a warning message will be printed in the console.\n */\n @Prop({ reflect: true })\n date: Date | string;\n\n /**\n * The language used for the displayed message.\n * @info\n * It is recommended to use the BCP 47 Language Tags in the [\"language-extlang\" format](https://www.w3.org/International/articles/language-tags/).\n */\n @Prop({ reflect: true })\n locale: string = document.documentElement.lang || 'en-US';\n\n /** The length of the relative time message. */\n @Prop({ reflect: true })\n messageFormat: 'long' | 'short' | 'narrow' = 'short';\n\n /**\n * Determines if the displayed message will use numeric or relative values.\n *@info\n * Set this property to `always` to force the use of numeric values (e.g. \"1 day ago\") rather than relative ones (e.g. \"yesterday\").\n */\n @Prop({ reflect: true })\n numeric: 'always' | 'auto' = 'auto';\n\n /**\n * Keep the displayed message updated as time passes in the webpage.\n * @warning\n * If a valid `baseDate` is provided, `sync` will be set to `false`.\n */\n @Prop({ reflect: true, mutable: true })\n sync: boolean = true;\n\n /** Enforces the use of the provided unit of measurement in the displayed message. */\n @Prop({ reflect: true })\n unit: 'second' | 'minute' | 'hour' | 'day' | 'month' | 'quarter' | 'year';\n\n // #endregion\n // #region Component Lifecycle Events\n\n connectedCallback(): void {\n this.syncUpdated();\n }\n\n disconnectedCallback(): void {\n window.clearInterval(this.syncTimer);\n this.syncTimer = null;\n }\n\n componentWillLoad(): void | Promise<void> {\n this.updateMessage();\n }\n\n // #endregion\n // #region Public Methods API\n\n /** Retrieves the value of the displayed messages. */\n @Method()\n async displayedMessageValue(): Promise<string> {\n return this.displayedMessage;\n }\n\n /** Checks the provided baseDate prop is a valid date. */\n @Method()\n async validBaseDateProp(): Promise<boolean> {\n return this.isValidBaseDate;\n }\n\n /** Checks the provided date prop is a valid date. */\n @Method()\n async validDateProp(): Promise<boolean> {\n return this.isValidDate;\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('messageFormat')\n @Watch('locale')\n @Watch('date')\n @Watch('baseDate')\n @Watch('numeric')\n @Watch('unit')\n updateMessage() {\n const {\n isValidDate,\n isBaseDateProvided,\n isValidBaseDate,\n dateObject,\n baseDateObject,\n locale,\n handleNumeric,\n messageFormat,\n isValidUnit,\n unit,\n trimSuffix,\n } = this;\n\n if (!isValidDate || (isBaseDateProvided && !isValidBaseDate)) {\n this.sync = false;\n this.displayedMessage = loc('tecton.element.relativeTime.invalidDate');\n return;\n }\n\n const message = intlFormatDistance(new Date(dateObject), new Date(baseDateObject), {\n locale,\n localeMatcher: 'best fit',\n numeric: handleNumeric,\n style: messageFormat,\n unit: isValidUnit ? unit : null,\n });\n\n if (trimSuffix) {\n this.displayedMessage = this.trimMessage(message);\n } else {\n this.displayedMessage = message;\n }\n }\n\n @Watch('sync')\n syncUpdated() {\n if (this.sync) {\n this.syncTimer = window.setInterval(() => {\n this.updateMessage();\n }, 1000);\n } else {\n window.clearInterval(this.syncTimer);\n this.syncTimer = null;\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get baseDateObject(): Date {\n if (this.isBaseDateProvided && this.isValidBaseDate) {\n this.trimSuffix = true;\n this.sync = false;\n return new Date(this.baseDate);\n } else {\n this.trimSuffix = false;\n this.sync = true;\n return new Date();\n }\n }\n\n get dateObject(): Date {\n return new Date(this.date);\n }\n\n get handleNumeric(): 'always' | 'auto' {\n if (this.isValidBaseDate) return 'always';\n return this.numeric;\n }\n\n get isBaseDateProvided(): boolean {\n return this.baseDate !== undefined;\n }\n\n get isValidBaseDate(): boolean {\n const date = new Date(this.baseDate);\n const isValid = isValidDate(date);\n if (!isValid && this.isBaseDateProvided) {\n console.warn('Error: Invalid baseDate provided to q2-relative-time.');\n }\n return isValid;\n }\n\n get isValidDate(): boolean {\n const date = new Date(this.date);\n const isValid = isValidDate(date);\n if (!isValid) console.warn('Error: Invalid date provided to q2-relative-time.');\n return isValid;\n }\n\n get isValidUnit(): boolean {\n if (['second', 'minute', 'hour', 'day', 'month', 'quarter', 'year'].includes(this.unit)) return true;\n return false;\n }\n\n get shouldShow(): boolean {\n return !!this.displayedMessage;\n }\n\n trimMessage(message: string): string {\n return message.replace(/^in\\s?/, '').replace(/\\sago$/, '');\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { shouldShow, displayedMessage } = this;\n\n return <Fragment>{shouldShow ? <time dateTime={displayedMessage}>{displayedMessage}</time> : null}</Fragment>;\n }\n\n // #endregion\n}\n"],"mappings":"iIAAA,MAAMA,EAAoB,+qBAC1B,MAAAC,EAAeD,E,MCIFE,EAAc,M,yBAQvBC,KAAAC,UAAY,KAEZD,KAAAE,WAAsB,M,wFA+CLC,SAASC,gBAAgBC,MAAQ,Q,mBAIL,Q,aAQhB,O,UAQb,K,oBAShB,iBAAAC,GACIN,KAAKO,a,CAGT,oBAAAC,GACIC,OAAOC,cAAcV,KAAKC,WAC1BD,KAAKC,UAAY,I,CAGrB,iBAAAU,GACIX,KAAKY,e,CAQT,2BAAMC,GACF,OAAOb,KAAKc,gB,CAKhB,uBAAMC,GACF,OAAOf,KAAKgB,e,CAKhB,mBAAMC,GACF,OAAOjB,KAAKkB,W,CAYhB,aAAAN,GACI,MAAMM,YACFA,EAAWC,mBACXA,EAAkBH,gBAClBA,EAAeI,WACfA,EAAUC,eACVA,EAAcC,OACdA,EAAMC,cACNA,EAAaC,cACbA,EAAaC,YACbA,EAAWC,KACXA,EAAIxB,WACJA,GACAF,KAEJ,IAAKkB,GAAgBC,IAAuBH,EAAkB,CAC1DhB,KAAK2B,KAAO,MACZ3B,KAAKc,iBAAmBc,EAAI,2CAC5B,M,CAGJ,MAAMC,EAAUC,qBAAmB,IAAIC,KAAKX,GAAa,IAAIW,KAAKV,GAAiB,CAC/EC,SACAU,cAAe,WACfC,QAASV,EACTW,MAAOV,EACPE,KAAMD,EAAcC,EAAO,OAG/B,GAAIxB,EAAY,CACZF,KAAKc,iBAAmBd,KAAKmC,YAAYN,E,KACtC,CACH7B,KAAKc,iBAAmBe,C,EAKhC,WAAAtB,GACI,GAAIP,KAAK2B,KAAM,CACX3B,KAAKC,UAAYQ,OAAO2B,aAAY,KAChCpC,KAAKY,eAAe,GACrB,I,KACA,CACHH,OAAOC,cAAcV,KAAKC,WAC1BD,KAAKC,UAAY,I,EAOzB,kBAAIoB,GACA,GAAIrB,KAAKmB,oBAAsBnB,KAAKgB,gBAAiB,CACjDhB,KAAKE,WAAa,KAClBF,KAAK2B,KAAO,MACZ,OAAO,IAAII,KAAK/B,KAAKqC,S,KAClB,CACHrC,KAAKE,WAAa,MAClBF,KAAK2B,KAAO,KACZ,OAAO,IAAII,I,EAInB,cAAIX,GACA,OAAO,IAAIW,KAAK/B,KAAKsC,K,CAGzB,iBAAIf,GACA,GAAIvB,KAAKgB,gBAAiB,MAAO,SACjC,OAAOhB,KAAKiC,O,CAGhB,sBAAId,GACA,OAAOnB,KAAKqC,WAAaE,S,CAG7B,mBAAIvB,GACA,MAAMsB,EAAO,IAAIP,KAAK/B,KAAKqC,UAC3B,MAAMG,EAAUtB,UAAYoB,GAC5B,IAAKE,GAAWxC,KAAKmB,mBAAoB,CACrCsB,QAAQC,KAAK,wD,CAEjB,OAAOF,C,CAGX,eAAItB,GACA,MAAMoB,EAAO,IAAIP,KAAK/B,KAAKsC,MAC3B,MAAME,EAAUtB,UAAYoB,GAC5B,IAAKE,EAASC,QAAQC,KAAK,qDAC3B,OAAOF,C,CAGX,eAAIf,GACA,GAAI,CAAC,SAAU,SAAU,OAAQ,MAAO,QAAS,UAAW,QAAQkB,SAAS3C,KAAK0B,MAAO,OAAO,KAChG,OAAO,K,CAGX,cAAIkB,GACA,QAAS5C,KAAKc,gB,CAGlB,WAAAqB,CAAYN,GACR,OAAOA,EAAQgB,QAAQ,SAAU,IAAIA,QAAQ,SAAU,G,CAM3D,MAAAC,GACI,MAAMF,WAAEA,EAAU9B,iBAAEA,GAAqBd,KAEzC,OAAO+C,EAACC,EAAQ,CAAAC,IAAA,4CAAEL,EAAaG,EAAA,QAAMG,SAAUpC,GAAmBA,GAA2B,K"}
1
+ {"version":3,"names":["q2RelativeTimeCss","Q2RelativeTimeStyle0","Q2RelativeTime","this","syncTimer","trimSuffix","document","documentElement","lang","connectedCallback","syncUpdated","disconnectedCallback","window","clearInterval","componentWillLoad","updateMessage","displayedMessageValue","displayedMessage","validBaseDateProp","isValidBaseDate","validDateProp","isValidDate","isBaseDateProvided","dateObject","baseDateObject","locale","handleNumeric","messageFormat","isValidUnit","unit","sync","loc","message","intlFormatDistance","Date","localeMatcher","numeric","style","trimMessage","setInterval","baseDate","date","undefined","isValid","console","warn","includes","shouldShow","replace","render","h","Fragment","key","dateTime"],"sources":["src/components/q2-relative-time/q2-relative-time.scss?tag=q2-relative-time&encapsulation=shadow","src/components/q2-relative-time/q2-relative-time.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline;\n}\n","import { Component, Prop, State, Method, Watch, Element, h, ComponentInterface, Fragment } from '@stencil/core';\nimport { isValid as isValidDate, intlFormatDistance } from 'date-fns';\nimport { loc } from '../../utils';\n\n@Component({ tag: 'q2-relative-time', shadow: true, styleUrl: 'q2-relative-time.scss' })\nexport class Q2RelativeTime implements ComponentInterface {\n // #region Own Properties\n\n /**\n * @private\n * Used to manage the sync timer that updates the time since the component was connected to the DOM.\n * Will be set to null if a valid `baseDate` is provided.\n */\n syncTimer = null;\n /** @private Will be set to true if a valid `baseDate` is provided. */\n trimSuffix: boolean = false;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n displayedMessage: string;\n\n // #endregion\n // #region Public Property API\n\n /**\n * If you want to display the length of time between two specific dates, you can provide a valid `date` and `baseDate`, and the component will display the length of time between the two dates.\n *\n * If `baseDate` is not provided, the date and time at render will be used instead and - if `sync` is true - updated every second to reflect the time between the `date` value and the time at render.\n *\n * @warning\n * - Requires a valid `date` value.\n * - If the provided `baseDate` is invalid, the component will display \"Invalid Date\" and a warning message will be printed in the console.\n * - Providing a valid `baseDate` will disable `sync` and remove the \"in\"/\"ago\" suffixes in the time message.\n * - Must be a valid ISO date string.\n */\n @Prop({ reflect: true })\n baseDate: Date | string;\n\n /**\n * The date you want to calculate relative time from.\n *\n * @warning\n * - Must be a valid ISO date string.\n * - If the provided `date` is invalid, the component will display \"Invalid Date\" and a warning message will be printed in the console.\n */\n @Prop({ reflect: true })\n date: Date | string;\n\n /**\n * The language used for the displayed message.\n * @info\n * It is recommended to use the BCP 47 Language Tags in the [\"language-extlang\" format](https://www.w3.org/International/articles/language-tags/).\n */\n @Prop({ reflect: true })\n locale: string = document.documentElement.lang || 'en-US';\n\n /** The length of the relative time message. */\n @Prop({ reflect: true })\n messageFormat: 'long' | 'short' | 'narrow' = 'short';\n\n /**\n * Determines if the displayed message will use numeric or relative values.\n *@info\n * Set this property to `always` to force the use of numeric values (e.g. \"1 day ago\") rather than relative ones (e.g. \"yesterday\").\n */\n @Prop({ reflect: true })\n numeric: 'always' | 'auto' = 'auto';\n\n /**\n * Keep the displayed message updated as time passes in the webpage.\n * @warning\n * If a valid `baseDate` is provided, `sync` will be set to `false`.\n */\n @Prop({ reflect: true, mutable: true })\n sync: boolean = true;\n\n /** Enforces the use of the provided unit of measurement in the displayed message. */\n @Prop({ reflect: true })\n unit: 'second' | 'minute' | 'hour' | 'day' | 'month' | 'quarter' | 'year';\n\n // #endregion\n // #region Component Lifecycle Events\n\n connectedCallback(): void {\n this.syncUpdated();\n }\n\n disconnectedCallback(): void {\n window.clearInterval(this.syncTimer);\n this.syncTimer = null;\n }\n\n componentWillLoad(): void | Promise<void> {\n this.updateMessage();\n }\n\n // #endregion\n // #region Public Methods API\n\n /** Retrieves the value of the displayed messages. */\n @Method()\n async displayedMessageValue(): Promise<string> {\n return this.displayedMessage;\n }\n\n /** Checks the provided baseDate prop is a valid date. */\n @Method()\n async validBaseDateProp(): Promise<boolean> {\n return this.isValidBaseDate;\n }\n\n /** Checks the provided date prop is a valid date. */\n @Method()\n async validDateProp(): Promise<boolean> {\n return this.isValidDate;\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('messageFormat')\n @Watch('locale')\n @Watch('date')\n @Watch('baseDate')\n @Watch('numeric')\n @Watch('unit')\n updateMessage() {\n const {\n isValidDate,\n isBaseDateProvided,\n isValidBaseDate,\n dateObject,\n baseDateObject,\n locale,\n handleNumeric,\n messageFormat,\n isValidUnit,\n unit,\n trimSuffix,\n } = this;\n\n if (!isValidDate || (isBaseDateProvided && !isValidBaseDate)) {\n this.sync = false;\n this.displayedMessage = loc('tecton.element.relativeTime.invalidDate');\n return;\n }\n\n const message = intlFormatDistance(new Date(dateObject), new Date(baseDateObject), {\n locale,\n localeMatcher: 'best fit',\n numeric: handleNumeric,\n style: messageFormat,\n unit: isValidUnit ? unit : null,\n });\n\n if (trimSuffix) {\n this.displayedMessage = this.trimMessage(message);\n } else {\n this.displayedMessage = message;\n }\n }\n\n @Watch('sync')\n syncUpdated() {\n if (this.sync) {\n this.syncTimer = window.setInterval(() => {\n this.updateMessage();\n }, 1000);\n } else {\n window.clearInterval(this.syncTimer);\n this.syncTimer = null;\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get baseDateObject(): Date {\n if (this.isBaseDateProvided && this.isValidBaseDate) {\n this.trimSuffix = true;\n this.sync = false;\n return new Date(this.baseDate);\n } else {\n this.trimSuffix = false;\n this.sync = true;\n return new Date();\n }\n }\n\n get dateObject(): Date {\n return new Date(this.date);\n }\n\n get handleNumeric(): 'always' | 'auto' {\n if (this.isValidBaseDate) return 'always';\n return this.numeric;\n }\n\n get isBaseDateProvided(): boolean {\n return this.baseDate !== undefined;\n }\n\n get isValidBaseDate(): boolean {\n const date = new Date(this.baseDate);\n const isValid = isValidDate(date);\n if (!isValid && this.isBaseDateProvided) {\n console.warn('Error: Invalid baseDate provided to q2-relative-time.');\n }\n return isValid;\n }\n\n get isValidDate(): boolean {\n const date = new Date(this.date);\n const isValid = isValidDate(date);\n if (!isValid) console.warn('Error: Invalid date provided to q2-relative-time.');\n return isValid;\n }\n\n get isValidUnit(): boolean {\n if (['second', 'minute', 'hour', 'day', 'month', 'quarter', 'year'].includes(this.unit)) return true;\n return false;\n }\n\n get shouldShow(): boolean {\n return !!this.displayedMessage;\n }\n\n trimMessage(message: string): string {\n return message.replace(/^in\\s?/, '').replace(/\\sago$/, '');\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { shouldShow, displayedMessage } = this;\n\n return <Fragment>{shouldShow ? <time dateTime={displayedMessage}>{displayedMessage}</time> : null}</Fragment>;\n }\n\n // #endregion\n}\n"],"mappings":";;;;;;AAAA,MAAMA,IAAoB;;AAC1B,MAAAC,IAAeD;;MCIFE,IAAc;;;;;;;;eAQvBC,KAAAC,YAAY;8EAEZD,KAAAE,aAAsB;;;;kBA+CLC,SAASC,gBAAgBC,QAAQ;yBAIL;mBAQhB;gBAQb;;;;;EAShB,iBAAAC;IACIN,KAAKO;;EAGT,oBAAAC;IACIC,OAAOC,cAAcV,KAAKC;IAC1BD,KAAKC,YAAY;;EAGrB,iBAAAU;IACIX,KAAKY;;;;;EAQT,2BAAMC;IACF,OAAOb,KAAKc;;6DAKhB,uBAAMC;IACF,OAAOf,KAAKgB;;yDAKhB,mBAAMC;IACF,OAAOjB,KAAKkB;;;;EAYhB,aAAAN;IACI,OAAMM,aACFA,GAAWC,oBACXA,GAAkBH,iBAClBA,GAAeI,YACfA,GAAUC,gBACVA,GAAcC,QACdA,GAAMC,eACNA,GAAaC,eACbA,GAAaC,aACbA,GAAWC,MACXA,GAAIxB,YACJA,KACAF;IAEJ,KAAKkB,KAAgBC,MAAuBH,GAAkB;MAC1DhB,KAAK2B,OAAO;MACZ3B,KAAKc,mBAAmBc,EAAI;MAC5B;;IAGJ,MAAMC,IAAUC,qBAAmB,IAAIC,KAAKX,IAAa,IAAIW,KAAKV,IAAiB;MAC/EC;MACAU,eAAe;MACfC,SAASV;MACTW,OAAOV;MACPE,MAAMD,IAAcC,IAAO;;IAG/B,IAAIxB,GAAY;MACZF,KAAKc,mBAAmBd,KAAKmC,YAAYN;WACtC;MACH7B,KAAKc,mBAAmBe;;;EAKhC,WAAAtB;IACI,IAAIP,KAAK2B,MAAM;MACX3B,KAAKC,YAAYQ,OAAO2B,aAAY;QAChCpC,KAAKY;AAAe,UACrB;WACA;MACHH,OAAOC,cAAcV,KAAKC;MAC1BD,KAAKC,YAAY;;;;;EAOzB,kBAAIoB;IACA,IAAIrB,KAAKmB,sBAAsBnB,KAAKgB,iBAAiB;MACjDhB,KAAKE,aAAa;MAClBF,KAAK2B,OAAO;MACZ,OAAO,IAAII,KAAK/B,KAAKqC;WAClB;MACHrC,KAAKE,aAAa;MAClBF,KAAK2B,OAAO;MACZ,OAAO,IAAII;;;EAInB,cAAIX;IACA,OAAO,IAAIW,KAAK/B,KAAKsC;;EAGzB,iBAAIf;IACA,IAAIvB,KAAKgB,iBAAiB,OAAO;IACjC,OAAOhB,KAAKiC;;EAGhB,sBAAId;IACA,OAAOnB,KAAKqC,aAAaE;;EAG7B,mBAAIvB;IACA,MAAMsB,IAAO,IAAIP,KAAK/B,KAAKqC;IAC3B,MAAMG,IAAUtB,UAAYoB;IAC5B,KAAKE,KAAWxC,KAAKmB,oBAAoB;MACrCsB,QAAQC,KAAK;;IAEjB,OAAOF;;EAGX,eAAItB;IACA,MAAMoB,IAAO,IAAIP,KAAK/B,KAAKsC;IAC3B,MAAME,IAAUtB,UAAYoB;IAC5B,KAAKE,GAASC,QAAQC,KAAK;IAC3B,OAAOF;;EAGX,eAAIf;IACA,IAAI,EAAC,UAAU,UAAU,QAAQ,OAAO,SAAS,WAAW,SAAQkB,SAAS3C,KAAK0B,OAAO,OAAO;IAChG,OAAO;;EAGX,cAAIkB;IACA,SAAS5C,KAAKc;;EAGlB,WAAAqB,CAAYN;IACR,OAAOA,EAAQgB,QAAQ,UAAU,IAAIA,QAAQ,UAAU;;;;EAM3D,MAAAC;IACI,OAAMF,YAAEA,GAAU9B,kBAAEA,KAAqBd;IAEzC,OAAO+C,EAACC,GAAQ;MAAAC,KAAA;OAAEL,IAAaG,EAAA;MAAMG,UAAUpC;OAAmBA,KAA2B"}
@@ -0,0 +1,100 @@
1
+ import { r as i, c as t, h as e, g as s } from "./index-7a5365e2.js";
2
+
3
+ const n = "*{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 #0066cc)}: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(:not([hidden])){display:block;width:100%}";
4
+
5
+ const o = n;
6
+
7
+ const r = class {
8
+ constructor(e) {
9
+ i(this, e);
10
+ this.tctResize = t(this, "tctResize", 7);
11
+ this.observedElements = [];
12
+ // #endregion
13
+ // #region Local Methods
14
+ this.handleSlotChange = () => {
15
+ if (this.disabled) return;
16
+ this.startObserver();
17
+ };
18
+ this.disabled = undefined;
19
+ }
20
+ // #endregion
21
+ // #region Component Lifecycle Events
22
+ disconnectedCallback() {
23
+ this.stopObserver();
24
+ this.resizeObserver = null;
25
+ }
26
+ componentDidLoad() {
27
+ if ("ResizeObserver" in window) {
28
+ this.resizeObserver = new ResizeObserver((i => {
29
+ this.tctResize.emit({
30
+ entries: i
31
+ });
32
+ this.currentResizeObserverEntries = i;
33
+ }));
34
+ } else {
35
+ console.warn("ResizeObserver is not defined.");
36
+ }
37
+ if (!this.disabled) {
38
+ this.startObserver();
39
+ }
40
+ }
41
+ // #endregion
42
+ // #region Public Methods API
43
+ /**
44
+ * Returns the latest entries reported by the component.
45
+ */
46
+ async getCurrentResizeEntries() {
47
+ return this.currentResizeObserverEntries || [];
48
+ }
49
+ // #endregion
50
+ // #region Watchers
51
+ disabledUpdated(i) {
52
+ if (i) {
53
+ this.stopObserver();
54
+ } else {
55
+ this.startObserver();
56
+ }
57
+ }
58
+ startObserver() {
59
+ var i, t, e;
60
+ const s = this.hostElement.shadowRoot.querySelector("slot");
61
+ if (s === null) return;
62
+ const n = (t = (i = s.assignedElements) === null || i === void 0 ? void 0 : i.call(s, {
63
+ flatten: true
64
+ })) !== null && t !== void 0 ? t : [];
65
+ // Unwatch previous elements
66
+ (e = this.observedElements) === null || e === void 0 ? void 0 : e.forEach((i => this.resizeObserver.unobserve(i)));
67
+ this.observedElements = [];
68
+ // Watch new elements
69
+ n.forEach((i => {
70
+ var t;
71
+ (t = this.resizeObserver) === null || t === void 0 ? void 0 : t.observe(i);
72
+ this.observedElements.push(i);
73
+ }));
74
+ }
75
+ stopObserver() {
76
+ var i;
77
+ (i = this.resizeObserver) === null || i === void 0 ? void 0 : i.disconnect();
78
+ }
79
+ // #endregion
80
+ // #region Render Methods
81
+ render() {
82
+ return e("slot", {
83
+ key: "054e80a957d13bd3226c6db7ca07be3764283974",
84
+ onSlotchange: this.handleSlotChange
85
+ });
86
+ }
87
+ get hostElement() {
88
+ return s(this);
89
+ }
90
+ static get watchers() {
91
+ return {
92
+ disabled: [ "disabledUpdated" ]
93
+ };
94
+ }
95
+ };
96
+
97
+ r.style = o;
98
+
99
+ export { r as q2_resize_observer };
100
+ //# sourceMappingURL=q2-resize-observer.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["q2ResizeObserverCss","Q2ResizeObserverStyle0","Q2ResizeObserver","this","observedElements","handleSlotChange","disabled","startObserver","disconnectedCallback","stopObserver","resizeObserver","componentDidLoad","window","ResizeObserver","resizeEntries","tctResize","emit","entries","currentResizeObserverEntries","console","warn","getCurrentResizeEntries","disabledUpdated","newVal","slot","hostElement","shadowRoot","querySelector","elements","_b","_a","assignedElements","call","flatten","_c","forEach","el","unobserve","observe","push","disconnect","render","h","key","onSlotchange"],"sources":["src/components/q2-resize-observer/q2-resize-observer.scss?tag=q2-resize-observer&encapsulation=shadow","src/components/q2-resize-observer/q2-resize-observer.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n\n:host(:not([hidden])) {\n display: block;\n width: 100%;\n}\n","import { Component, ComponentInterface, Element, EventEmitter, h, Prop, Event, Method, Watch } from '@stencil/core';\n\n@Component({\n tag: 'q2-resize-observer',\n styleUrl: 'q2-resize-observer.scss',\n shadow: true,\n})\nexport class Q2ResizeObserver implements ComponentInterface {\n // #region Own Properties\n\n currentResizeObserverEntries: ResizeObserverEntry[];\n observedElements: HTMLElement[] = [];\n resizeObserver?: ResizeObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Determines wheter or not events will be emitted from the component.\n */\n @Prop({ reflect: true })\n disabled: boolean;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when any of the observed elements are resized.\n */\n @Event()\n tctResize: EventEmitter<{ entries: ResizeObserverEntry[] }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.stopObserver();\n this.resizeObserver = null;\n }\n\n componentDidLoad() {\n if ('ResizeObserver' in window) {\n this.resizeObserver = new ResizeObserver(resizeEntries => {\n this.tctResize.emit({ entries: resizeEntries });\n this.currentResizeObserverEntries = resizeEntries;\n });\n } else {\n console.warn('ResizeObserver is not defined.');\n }\n\n if (!this.disabled) {\n this.startObserver();\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Returns the latest entries reported by the component.\n */\n @Method()\n async getCurrentResizeEntries(): Promise<ResizeObserverEntry[]> {\n return this.currentResizeObserverEntries || [];\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledUpdated(newVal: boolean) {\n if (newVal) {\n this.stopObserver();\n } else {\n this.startObserver();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n handleSlotChange = () => {\n if (this.disabled) return;\n this.startObserver();\n };\n\n startObserver() {\n const slot = this.hostElement.shadowRoot!.querySelector('slot');\n if (slot === null) return;\n\n const elements = (slot.assignedElements?.({ flatten: true }) as HTMLElement[]) ?? [];\n\n // Unwatch previous elements\n this.observedElements?.forEach(el => this.resizeObserver.unobserve(el));\n this.observedElements = [];\n\n // Watch new elements\n elements.forEach(el => {\n this.resizeObserver?.observe(el);\n this.observedElements.push(el);\n });\n }\n\n stopObserver() {\n this.resizeObserver?.disconnect();\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n return <slot onSlotchange={this.handleSlotChange} />;\n }\n\n // #endregion\n}\n"],"mappings":"yDAAA,MAAMA,EAAsB,ysBAC5B,MAAAC,EAAeD,E,MCMFE,EAAgB,M,8DAIzBC,KAAAC,iBAAkC,GA4ElCD,KAAAE,iBAAmB,KACf,GAAIF,KAAKG,SAAU,OACnBH,KAAKI,eAAe,E,wBAhDxB,oBAAAC,GACIL,KAAKM,eACLN,KAAKO,eAAiB,I,CAG1B,gBAAAC,GACI,GAAI,mBAAoBC,OAAQ,CAC5BT,KAAKO,eAAiB,IAAIG,gBAAeC,IACrCX,KAAKY,UAAUC,KAAK,CAAEC,QAASH,IAC/BX,KAAKe,6BAA+BJ,CAAa,G,KAElD,CACHK,QAAQC,KAAK,iC,CAGjB,IAAKjB,KAAKG,SAAU,CAChBH,KAAKI,e,EAWb,6BAAMc,GACF,OAAOlB,KAAKe,8BAAgC,E,CAOhD,eAAAI,CAAgBC,GACZ,GAAIA,EAAQ,CACRpB,KAAKM,c,KACF,CACHN,KAAKI,e,EAYb,aAAAA,G,UACI,MAAMiB,EAAOrB,KAAKsB,YAAYC,WAAYC,cAAc,QACxD,GAAIH,IAAS,KAAM,OAEnB,MAAMI,GAAWC,GAACC,EAAAN,EAAKO,oBAAgB,MAAAD,SAAA,SAAAA,EAAAE,KAAAR,EAAG,CAAES,QAAS,UAAyB,MAAAJ,SAAA,EAAAA,EAAI,IAGlFK,EAAA/B,KAAKC,oBAAgB,MAAA8B,SAAA,SAAAA,EAAEC,SAAQC,GAAMjC,KAAKO,eAAe2B,UAAUD,KACnEjC,KAAKC,iBAAmB,GAGxBwB,EAASO,SAAQC,I,OACbN,EAAA3B,KAAKO,kBAAc,MAAAoB,SAAA,SAAAA,EAAEQ,QAAQF,GAC7BjC,KAAKC,iBAAiBmC,KAAKH,EAAG,G,CAItC,YAAA3B,G,OACIqB,EAAA3B,KAAKO,kBAAc,MAAAoB,SAAA,SAAAA,EAAEU,Y,CAMzB,MAAAC,GACI,OAAOC,EAAA,QAAAC,IAAA,2CAAMC,aAAczC,KAAKE,kB"}
1
+ {"version":3,"names":["q2ResizeObserverCss","Q2ResizeObserverStyle0","Q2ResizeObserver","this","observedElements","handleSlotChange","disabled","startObserver","disconnectedCallback","stopObserver","resizeObserver","componentDidLoad","window","ResizeObserver","resizeEntries","tctResize","emit","entries","currentResizeObserverEntries","console","warn","getCurrentResizeEntries","disabledUpdated","newVal","slot","hostElement","shadowRoot","querySelector","elements","_b","_a","assignedElements","call","flatten","_c","forEach","el","unobserve","observe","push","disconnect","render","h","key","onSlotchange"],"sources":["src/components/q2-resize-observer/q2-resize-observer.scss?tag=q2-resize-observer&encapsulation=shadow","src/components/q2-resize-observer/q2-resize-observer.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n\n:host(:not([hidden])) {\n display: block;\n width: 100%;\n}\n","import { Component, ComponentInterface, Element, EventEmitter, h, Prop, Event, Method, Watch } from '@stencil/core';\n\n@Component({\n tag: 'q2-resize-observer',\n styleUrl: 'q2-resize-observer.scss',\n shadow: true,\n})\nexport class Q2ResizeObserver implements ComponentInterface {\n // #region Own Properties\n\n currentResizeObserverEntries: ResizeObserverEntry[];\n observedElements: HTMLElement[] = [];\n resizeObserver?: ResizeObserver;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Determines wheter or not events will be emitted from the component.\n */\n @Prop({ reflect: true })\n disabled: boolean;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when any of the observed elements are resized.\n */\n @Event()\n tctResize: EventEmitter<{ entries: ResizeObserverEntry[] }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.stopObserver();\n this.resizeObserver = null;\n }\n\n componentDidLoad() {\n if ('ResizeObserver' in window) {\n this.resizeObserver = new ResizeObserver(resizeEntries => {\n this.tctResize.emit({ entries: resizeEntries });\n this.currentResizeObserverEntries = resizeEntries;\n });\n } else {\n console.warn('ResizeObserver is not defined.');\n }\n\n if (!this.disabled) {\n this.startObserver();\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Returns the latest entries reported by the component.\n */\n @Method()\n async getCurrentResizeEntries(): Promise<ResizeObserverEntry[]> {\n return this.currentResizeObserverEntries || [];\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('disabled')\n disabledUpdated(newVal: boolean) {\n if (newVal) {\n this.stopObserver();\n } else {\n this.startObserver();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n handleSlotChange = () => {\n if (this.disabled) return;\n this.startObserver();\n };\n\n startObserver() {\n const slot = this.hostElement.shadowRoot!.querySelector('slot');\n if (slot === null) return;\n\n const elements = (slot.assignedElements?.({ flatten: true }) as HTMLElement[]) ?? [];\n\n // Unwatch previous elements\n this.observedElements?.forEach(el => this.resizeObserver.unobserve(el));\n this.observedElements = [];\n\n // Watch new elements\n elements.forEach(el => {\n this.resizeObserver?.observe(el);\n this.observedElements.push(el);\n });\n }\n\n stopObserver() {\n this.resizeObserver?.disconnect();\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n return <slot onSlotchange={this.handleSlotChange} />;\n }\n\n // #endregion\n}\n"],"mappings":";;AAAA,MAAMA,IAAsB;;AAC5B,MAAAC,IAAeD;;MCMFE,IAAgB;;;;IAIzBC,KAAAC,mBAAkC;;;QA4ElCD,KAAAE,mBAAmB;MACf,IAAIF,KAAKG,UAAU;MACnBH,KAAKI;AAAe;;;;;EAhDxB,oBAAAC;IACIL,KAAKM;IACLN,KAAKO,iBAAiB;;EAG1B,gBAAAC;IACI,IAAI,oBAAoBC,QAAQ;MAC5BT,KAAKO,iBAAiB,IAAIG,gBAAeC;QACrCX,KAAKY,UAAUC,KAAK;UAAEC,SAASH;;QAC/BX,KAAKe,+BAA+BJ;AAAa;WAElD;MACHK,QAAQC,KAAK;;IAGjB,KAAKjB,KAAKG,UAAU;MAChBH,KAAKI;;;;;;;;EAWb,6BAAMc;IACF,OAAOlB,KAAKe,gCAAgC;;;;EAOhD,eAAAI,CAAgBC;IACZ,IAAIA,GAAQ;MACRpB,KAAKM;WACF;MACHN,KAAKI;;;EAYb,aAAAA;;IACI,MAAMiB,IAAOrB,KAAKsB,YAAYC,WAAYC,cAAc;IACxD,IAAIH,MAAS,MAAM;IAEnB,MAAMI,KAAWC,KAACC,IAAAN,EAAKO,sBAAgB,QAAAD,WAAA,aAAAA,EAAAE,KAAAR,GAAG;MAAES,SAAS;YAAyB,QAAAJ,WAAA,IAAAA,IAAI;;SAGlFK,IAAA/B,KAAKC,sBAAgB,QAAA8B,WAAA,aAAAA,EAAEC,SAAQC,KAAMjC,KAAKO,eAAe2B,UAAUD;IACnEjC,KAAKC,mBAAmB;;QAGxBwB,EAASO,SAAQC;;OACbN,IAAA3B,KAAKO,oBAAc,QAAAoB,WAAA,aAAAA,EAAEQ,QAAQF;MAC7BjC,KAAKC,iBAAiBmC,KAAKH;AAAG;;EAItC,YAAA3B;;KACIqB,IAAA3B,KAAKO,oBAAc,QAAAoB,WAAA,aAAAA,EAAEU;;;;EAMzB,MAAAC;IACI,OAAOC,EAAA;MAAAC,KAAA;MAAMC,cAAczC,KAAKE"}
@@ -0,0 +1,256 @@
1
+ import { r as t, c as e, h as i, g as n } from "./index-7a5365e2.js";
2
+
3
+ import { m as s, o as a, i as r, n as o, l as c } from "./index-d18e2a20.js";
4
+
5
+ const d = "*{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 #0066cc)}: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;background:var(--tct-section-background, var(--tct-section-background-color, var(--t-section-background-color, var(--tct-section-bg, var(--t-section-bg, var(--app-white, #ffffff))))));color:var(--tct-section-font-color, var(--t-section-font-color, var(--t-text, #4d4d4d)));border-radius:var(--tct-section-border-radius, var(--t-section-border-radius, var(--app-border-radius-1, 4px)));margin:var(--tct-section-margin, var(--t-section-margin, var(--app-scale-3x, 15px)));border-width:var(--tct-section-border-width, 0);border-style:var(--tct-section-border-style, solid);border-color:var(--tct-section-border-color, none)}@media screen and (max-width: 767px){:host{--comp-default-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-margin, var(--t-section-margin, var(--comp-default-margin)))}}@media print{:host{--comp-default-print-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-print-margin, var(--comp-default-print-margin))}}.wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-1, 0.2s ease)));--comp-default-wrapper-padding:var(--app-scale-1x, 5px) 0;display:block;padding:var(--tct-section-wrapper-padding, var(--t-section-wrapper-padding, var(--comp-default-wrapper-padding)))}.wrapper:hover{box-shadow:var(--tct-section-wrapper-hover-box-shadow, var(--t-section-wrapper-hover-box-shadow, inherit))}:host([collapsible]) .wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-2, 0.4s ease)))}header{--comp-default-header-padding:0 var(--app-scale-3x, 15px);padding:var(--tct-section-header-padding, var(--t-section-header-padding, var(--comp-default-header-padding)));display:flex}@media print{header{padding:var(--tct-section-header-print-padding, 0)}}header.has-header{min-height:var(--tct-section-header-min-height, var(--t-section-header-min-height, 44px))}.header-content{flex:1 1 100%;min-width:0;align-self:center}:host([collapsible]) .header-content{cursor:pointer}.title{margin:var(--tct-section-title-margin, 0);font-size:var(--tct-section-title-font-size, 20px);font-weight:var(--tct-section-title-font-weight, 600);text-transform:var(--tct-section-title-text-transform, none);letter-spacing:var(--tct-section-title-letter-spacing, 0.5px)}q2-icon{transition:transform var(--comp-tween)}:host(:not([expanded])) q2-icon,:host([expanded=false]) q2-icon{transform:rotate(180deg)}.content-wrapper{height:auto}.content-wrapper.is-closed{display:none;overflow:hidden}.content-wrapper.is-transitioning{overflow:hidden}:host([collapsible]) .content-wrapper{transition:height var(--comp-tween)}.content{--comp-default-content-padding:var(--app-scale-2x, 10px) var(--app-scale-3x, 15px);padding:var(--tct-section-content-padding, var(--t-section-content-padding, var(--comp-default-content-padding)))}@media print{.content{padding:var(--tct-section-content-print-padding, 0)}}.content:focus{box-shadow:none}:host([collapsible]) :host(:not([expanded])) .content{visibility:hidden}";
6
+
7
+ const h = d;
8
+
9
+ const p = class {
10
+ constructor(i) {
11
+ t(this, i);
12
+ this.change = e(this, "change", 7);
13
+ this.contentId = "content";
14
+ this.titleId = "title";
15
+ this.addContentSlotListener = () => {
16
+ if (this.contentSlot) {
17
+ this.contentSlot.addEventListener("slotchange", s);
18
+ return;
19
+ }
20
+ const t = new MutationObserver(s);
21
+ t.observe(this.contentContainer, {
22
+ childList: true,
23
+ subtree: true
24
+ });
25
+ this.contentSlotMutationObserver = t;
26
+ };
27
+ this.addHeaderSlotListener = () => {
28
+ if (this.headerSlot) {
29
+ this.headerSlot.addEventListener("slotchange", this.onHeaderSlotChange);
30
+ return;
31
+ }
32
+ const t = new MutationObserver(this.onHeaderSlotChange);
33
+ t.observe(this.headerSlotWrapper, {
34
+ childList: true
35
+ });
36
+ this.headerSlotMutationObserver = t;
37
+ };
38
+ this.clearResizeInterval = () => {
39
+ this.resizerFn && clearInterval(this.resizerFn);
40
+ };
41
+ this.onHeaderClick = () => {
42
+ this.change.emit({
43
+ expanded: !this.expanded
44
+ });
45
+ };
46
+ this.onHeaderSlotChange = () => {
47
+ const t = !!this.hostElement.querySelector('[slot="q2-section-header"]');
48
+ if (this.hasYieldedHeader !== t) {
49
+ this.hasYieldedHeader = !!t;
50
+ }
51
+ };
52
+ this.onTransitionEnd = () => {
53
+ if (this.expanded) {
54
+ this.contentHeight = undefined;
55
+ } else {
56
+ this.hideContent = true;
57
+ }
58
+ setTimeout((() => {
59
+ // This gives enough time for all values to get passed over
60
+ // Previously, the interval was never cleared and the fn was called indefinitely then filtered
61
+ // Will revisit in TCT-599
62
+ this.clearResizeInterval();
63
+ }), 1e3);
64
+ };
65
+ this.removeContentSlotListener = () => {
66
+ var t;
67
+ if (this.contentSlot) {
68
+ this.contentSlot.removeEventListener("slotchange", s);
69
+ return;
70
+ }
71
+ (t = this.contentSlotMutationObserver) === null || t === void 0 ? void 0 : t.disconnect();
72
+ };
73
+ this.removeHeaderSlotListener = () => {
74
+ var t;
75
+ if (this.headerSlot) {
76
+ this.headerSlot.removeEventListener("slotchange", this.onHeaderSlotChange);
77
+ return;
78
+ }
79
+ (t = this.headerSlotMutationObserver) === null || t === void 0 ? void 0 : t.disconnect();
80
+ };
81
+ this.contentHeight = undefined;
82
+ this.hasYieldedHeader = false;
83
+ this.hideContent = false;
84
+ this.collapsible = undefined;
85
+ this.expanded = undefined;
86
+ this.label = undefined;
87
+ this.noCollapseIcon = undefined;
88
+ }
89
+ // #endregion
90
+ // #region Component Lifecycle Events
91
+ disconnectedCallback() {
92
+ this.removeHeaderSlotListener();
93
+ this.removeContentSlotListener();
94
+ }
95
+ componentWillLoad() {
96
+ this.onHeaderSlotChange();
97
+ const {collapsible: t, expanded: e} = this;
98
+ this.contentHeight = t && e ? undefined : "0px";
99
+ this.hideContent = !e;
100
+ }
101
+ componentDidLoad() {
102
+ this.addHeaderSlotListener();
103
+ this.addContentSlotListener();
104
+ a(this.hostElement);
105
+ }
106
+ // #endregion
107
+ // #region Listeners
108
+ defaultChangeHandler(t) {
109
+ if (t.target === this.hostElement && !this.hostElement.onchange && !!t.detail) {
110
+ this.expanded = t.detail.expanded;
111
+ }
112
+ }
113
+ delegateFocus(t) {
114
+ if (!r(t, this.hostElement)) return;
115
+ this.contentContainer.focus();
116
+ }
117
+ // #endregion
118
+ // #region Watchers
119
+ collapsibleObserver() {
120
+ this.contentHeight = this.currentHeight;
121
+ }
122
+ async expandedObserver(t) {
123
+ this.clearResizeInterval();
124
+ this.resizerFn = setInterval(s, 5);
125
+ if (t) {
126
+ this.expandSection();
127
+ } else {
128
+ this.collapseSection();
129
+ }
130
+ }
131
+ // #endregion
132
+ // #region Test Methods API
133
+ /**
134
+ * A test method to collapse section.
135
+ *
136
+ * @testOnly
137
+ */
138
+ async collapse() {
139
+ if (!this.collapsible || !this.expanded) return;
140
+ const t = this.hostElement.shadowRoot.querySelector('[test-id="toggleButton"]');
141
+ t === null || t === void 0 ? void 0 : t.click();
142
+ }
143
+ /**
144
+ * A test method to expand section.
145
+ *
146
+ * @testOnly
147
+ */ async expand() {
148
+ if (!this.collapsible || this.expanded) return;
149
+ const t = this.hostElement.shadowRoot.querySelector('[test-id="toggleButton"]');
150
+ t === null || t === void 0 ? void 0 : t.click();
151
+ }
152
+ // #endregion
153
+ // #region Local Methods
154
+ get contentContainerHeight() {
155
+ return `${this.contentContainer.offsetHeight || 0}px`;
156
+ }
157
+ get currentHeight() {
158
+ const {collapsible: t, expanded: e} = this;
159
+ if (!t) {
160
+ return null;
161
+ } else if (e) {
162
+ return this.contentContainerHeight;
163
+ } else {
164
+ return "0";
165
+ }
166
+ }
167
+ async collapseSection() {
168
+ this.contentHeight = this.contentContainerHeight;
169
+ await o((() => {
170
+ this.contentHeight = this.currentHeight;
171
+ }));
172
+ }
173
+ async expandSection() {
174
+ this.hideContent = false;
175
+ await o((() => {
176
+ this.contentHeight = this.currentHeight;
177
+ }));
178
+ }
179
+ // #endregion
180
+ // #region Render Methods
181
+ render() {
182
+ const t = this.label || this.hasYieldedHeader;
183
+ const e = [ "content-wrapper" ];
184
+ const {collapsible: n, hideContent: s, contentHeight: a} = this;
185
+ if (n) {
186
+ if (s) e.push("is-closed"); else if (a) e.push("is-transitioning");
187
+ }
188
+ const r = !this.hasYieldedHeader && !!this.label;
189
+ return i("section", {
190
+ key: "51caab18e84c01492e56a6146130fd62fe54ca70",
191
+ class: "wrapper"
192
+ }, i("header", {
193
+ key: "8badc2ccc5b350a005b8d22b69177d7018f34284",
194
+ class: t ? "has-header" : ""
195
+ }, i("div", {
196
+ key: "2af884fba47086257db63b7367d24c308d1b1e77",
197
+ class: "header-content",
198
+ id: this.titleId,
199
+ onClick: this.collapsible && this.onHeaderClick
200
+ }, r && i("h2", {
201
+ key: "32dcbaa44045c162fd41c14899192082fceb457e",
202
+ class: "title"
203
+ }, c(this.label)), i("div", {
204
+ key: "38535337690457635e0ffb1233c715c3d0f84cb5",
205
+ ref: t => this.headerSlotWrapper = t,
206
+ class: "header-slot-wrapper"
207
+ }, i("slot", {
208
+ key: "2e95134d388a51d7e4743a57b1ed102829ce43c6",
209
+ ref: t => this.headerSlot = t,
210
+ name: "q2-section-header"
211
+ }))), this.collapsible && !this.noCollapseIcon && i("q2-btn", {
212
+ key: "f7a91d6201e6be895e74a83d77e6b957e8eaba84",
213
+ label: c(this.label || "tecton.element.section.defaultToggleLabel"),
214
+ ariaExpanded: `${!!this.expanded}`,
215
+ ariaControls: this.contentId,
216
+ "test-id": "toggleButton",
217
+ "hide-label": true,
218
+ onClick: this.onHeaderClick
219
+ }, i("q2-icon", {
220
+ key: "a6677b9ad7903ba53ed6460c839421fb134a74a0",
221
+ type: "chevron-up"
222
+ }))), i("div", {
223
+ key: "0b8be5db6874002b6320ba62b42473ee6b55830a",
224
+ class: e.join(" "),
225
+ id: this.contentId,
226
+ "aria-labelledby": this.titleId,
227
+ role: "region",
228
+ onTransitionEnd: this.onTransitionEnd,
229
+ style: this.collapsible && {
230
+ height: this.contentHeight
231
+ }
232
+ }, i("div", {
233
+ key: "42968fd4be0401dcca23f6f84ce2db123e88d722",
234
+ ref: t => this.contentContainer = t,
235
+ class: "content",
236
+ tabindex: "-1"
237
+ }, i("slot", {
238
+ key: "919c3f6a65a945581deb258b10ad3877182389c4",
239
+ ref: t => this.contentSlot = t
240
+ }))));
241
+ }
242
+ get hostElement() {
243
+ return n(this);
244
+ }
245
+ static get watchers() {
246
+ return {
247
+ collapsible: [ "collapsibleObserver" ],
248
+ expanded: [ "expandedObserver" ]
249
+ };
250
+ }
251
+ };
252
+
253
+ p.style = h;
254
+
255
+ export { p as q2_section };
256
+ //# sourceMappingURL=q2-section.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["q2SectionCss","Q2SectionStyle0","Q2Section","this","contentId","titleId","addContentSlotListener","contentSlot","addEventListener","resizeIframe","observer","MutationObserver","observe","contentContainer","childList","subtree","contentSlotMutationObserver","addHeaderSlotListener","headerSlot","onHeaderSlotChange","headerSlotWrapper","headerSlotMutationObserver","clearResizeInterval","resizerFn","clearInterval","onHeaderClick","change","emit","expanded","hasSlotContent","hostElement","querySelector","hasYieldedHeader","onTransitionEnd","contentHeight","undefined","hideContent","setTimeout","removeContentSlotListener","removeEventListener","_a","disconnect","removeHeaderSlotListener","disconnectedCallback","componentWillLoad","collapsible","componentDidLoad","overrideFocus","defaultChangeHandler","event","target","onchange","detail","delegateFocus","isEventFromElement","focus","collapsibleObserver","currentHeight","expandedObserver","setInterval","expandSection","collapseSection","collapse","btn","shadowRoot","click","expand","contentContainerHeight","offsetHeight","nextPaint","render","hasHeader","label","wrapperClasses","push","showDefaultHeader","h","key","class","id","onClick","loc","ref","el","name","noCollapseIcon","ariaExpanded","ariaControls","type","join","role","style","height","tabindex"],"sources":["src/components/q2-section/q2-section.scss?tag=q2-section&encapsulation=shadow","src/components/q2-section/q2-section.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions.scss';\n\n:host {\n display: block;\n background: var-list(\n --tct-section-background,\n var-prefixer(section-background-color),\n var-prefixer(section-bg),\n --app-white,\n #ffffff\n );\n color: var-list(var-prefixer(section-font-color), --t-text, #4d4d4d);\n border-radius: var-list(var-prefixer(section-border-radius), --app-border-radius-1, 4px);\n margin: var-list(var-prefixer(section-margin), --app-scale-3x, 15px);\n border-width: var-list(--tct-section-border-width, 0);\n border-style: var-list(--tct-section-border-style, solid);\n border-color: var-list(--tct-section-border-color, none);\n\n @media screen and (max-width: 767px) {\n --comp-default-margin: var(--app-scale-3x, 15px) 0;\n margin: var-list(var-prefixer(section-margin), --comp-default-margin);\n }\n\n @media print {\n --comp-default-print-margin: var(--app-scale-3x, 15px) 0;\n margin: var-list(--tct-section-print-margin, --comp-default-print-margin);\n }\n}\n\n.wrapper {\n --comp-tween: #{var-list(var-prefixer(section-tween), --app-tween-1, unquote('0.2s ease'))};\n --comp-default-wrapper-padding: var(--app-scale-1x, 5px) 0;\n display: block;\n padding: var-list(var-prefixer(section-wrapper-padding), --comp-default-wrapper-padding);\n\n &:hover {\n box-shadow: var-list(var-prefixer(section-wrapper-hover-box-shadow), inherit);\n }\n\n :host([collapsible]) & {\n --comp-tween: #{var-list(var-prefixer(section-tween), --app-tween-2, unquote('0.4s ease'))};\n }\n}\n\nheader {\n --comp-default-header-padding: 0 var(--app-scale-3x, 15px);\n padding: var-list(var-prefixer(section-header-padding), --comp-default-header-padding);\n display: flex;\n\n @media print {\n padding: var-list(--tct-section-header-print-padding, 0);\n }\n\n &.has-header {\n min-height: var-list(var-prefixer(section-header-min-height), 44px);\n }\n}\n\n.header-content {\n flex: 1 1 100%;\n min-width: 0;\n align-self: center;\n\n :host([collapsible]) & {\n cursor: pointer;\n }\n}\n\n.title {\n margin: var-list(--tct-section-title-margin, 0);\n font-size: var-list(--tct-section-title-font-size, 20px);\n font-weight: var-list(--tct-section-title-font-weight, 600);\n text-transform: var-list(--tct-section-title-text-transform, none);\n letter-spacing: var-list(--tct-section-title-letter-spacing, 0.5px);\n}\n\nq2-icon {\n transition: transform var(--comp-tween);\n\n :host(:not([expanded])) &,\n :host([expanded='false']) & {\n transform: rotate(180deg);\n }\n}\n\n.content-wrapper {\n height: auto;\n\n &.is-closed {\n display: none;\n overflow: hidden;\n }\n\n &.is-transitioning {\n overflow: hidden;\n }\n\n :host([collapsible]) & {\n transition: height var(--comp-tween);\n }\n}\n\n.content {\n --comp-default-content-padding: var(--app-scale-2x, 10px) var(--app-scale-3x, 15px);\n padding: var-list(var-prefixer(section-content-padding), --comp-default-content-padding);\n\n @media print {\n padding: var-list(--tct-section-content-print-padding, 0);\n }\n\n &:focus {\n box-shadow: none;\n }\n\n :host([collapsible]) :host(:not([expanded])) & {\n visibility: hidden;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Prop,\n Element,\n Listen,\n State,\n Watch,\n h,\n Event,\n EventEmitter,\n Method,\n} from '@stencil/core';\nimport { isEventFromElement, loc, nextPaint, overrideFocus, resizeIframe } from 'src/utils';\n\n@Component({ tag: 'q2-section', shadow: true, styleUrl: 'q2-section.scss' })\nexport class Q2Section implements ComponentInterface {\n // #region Own Properties\n\n contentContainer: HTMLDivElement;\n contentId: string = 'content';\n contentSlot: HTMLSlotElement;\n contentSlotMutationObserver: MutationObserver;\n headerSlot: HTMLSlotElement;\n headerSlotMutationObserver: MutationObserver;\n headerSlotWrapper: HTMLDivElement;\n resizerFn: NodeJS.Timeout | undefined;\n titleId: string = 'title';\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n contentHeight: string;\n\n @State()\n hasYieldedHeader: boolean = false;\n\n @State()\n hideContent: boolean = false;\n\n // #endregion\n // #region Public Property API\n\n /** Determines if the section is collapsible. */\n @Prop({ reflect: true })\n collapsible: boolean;\n\n /** Indicates if the `q2-section` is in an expanded state or not. */\n @Prop({ reflect: true, mutable: true })\n expanded: boolean;\n\n /**\n * The text to display above the `q2-section`. Renders as an `<h2>` element.\n *\n * It is also used to provided an `aria-label` for the toggle button when the component is collapsible.\n *\n * @warning\n * If you are providing a custom header, setting this property is still strongly encouraged for the purposes of\n * accessibility.\n */\n @Prop({ reflect: true })\n label: string;\n\n /** Determines if the collapse chevron icon should show in the `q2-section` header. */\n @Prop({ reflect: true })\n noCollapseIcon: boolean;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the section is expanded or collapsed.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ expanded: boolean }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n disconnectedCallback() {\n this.removeHeaderSlotListener();\n this.removeContentSlotListener();\n }\n\n componentWillLoad() {\n this.onHeaderSlotChange();\n const { collapsible, expanded } = this;\n this.contentHeight = collapsible && expanded ? undefined : '0px';\n this.hideContent = !expanded;\n }\n\n componentDidLoad() {\n this.addHeaderSlotListener();\n this.addContentSlotListener();\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n defaultChangeHandler(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.onchange && !!event.detail) {\n this.expanded = event.detail.expanded;\n }\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.contentContainer.focus();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('collapsible')\n collapsibleObserver() {\n this.contentHeight = this.currentHeight;\n }\n\n @Watch('expanded')\n async expandedObserver(expanded: boolean) {\n this.clearResizeInterval();\n this.resizerFn = setInterval(resizeIframe, 5);\n\n if (expanded) {\n this.expandSection();\n } else {\n this.collapseSection();\n }\n }\n\n // #endregion\n // #region Test Methods API\n\n /**\n * A test method to collapse section.\n *\n * @testOnly\n */\n @Method()\n async collapse() {\n if (!this.collapsible || !this.expanded) return;\n const btn = this.hostElement.shadowRoot.querySelector('[test-id=\"toggleButton\"]');\n (btn as HTMLQ2BtnElement)?.click();\n }\n\n /**\n * A test method to expand section.\n *\n * @testOnly\n */\n @Method()\n async expand() {\n if (!this.collapsible || this.expanded) return;\n const btn = this.hostElement.shadowRoot.querySelector('[test-id=\"toggleButton\"]');\n (btn as HTMLQ2BtnElement)?.click();\n }\n\n // #endregion\n // #region Local Methods\n\n get contentContainerHeight() {\n return `${this.contentContainer.offsetHeight || 0}px`;\n }\n\n get currentHeight() {\n const { collapsible, expanded } = this;\n if (!collapsible) {\n return null;\n } else if (expanded) {\n return this.contentContainerHeight;\n } else {\n return '0';\n }\n }\n\n addContentSlotListener = () => {\n if (this.contentSlot) {\n this.contentSlot.addEventListener('slotchange', resizeIframe);\n return;\n }\n\n const observer = new MutationObserver(resizeIframe);\n observer.observe(this.contentContainer, { childList: true, subtree: true });\n this.contentSlotMutationObserver = observer;\n };\n\n addHeaderSlotListener = () => {\n if (this.headerSlot) {\n this.headerSlot.addEventListener('slotchange', this.onHeaderSlotChange);\n return;\n }\n\n const observer = new MutationObserver(this.onHeaderSlotChange);\n observer.observe(this.headerSlotWrapper, { childList: true });\n this.headerSlotMutationObserver = observer;\n };\n\n clearResizeInterval = () => {\n this.resizerFn && clearInterval(this.resizerFn);\n };\n\n async collapseSection() {\n this.contentHeight = this.contentContainerHeight;\n await nextPaint(() => {\n this.contentHeight = this.currentHeight;\n });\n }\n\n async expandSection() {\n this.hideContent = false;\n await nextPaint(() => {\n this.contentHeight = this.currentHeight;\n });\n }\n\n onHeaderClick = () => {\n this.change.emit({\n expanded: !this.expanded,\n });\n };\n\n onHeaderSlotChange = () => {\n const hasSlotContent = !!this.hostElement.querySelector('[slot=\"q2-section-header\"]');\n\n if (this.hasYieldedHeader !== hasSlotContent) {\n this.hasYieldedHeader = !!hasSlotContent;\n }\n };\n\n onTransitionEnd = () => {\n if (this.expanded) {\n this.contentHeight = undefined;\n } else {\n this.hideContent = true;\n }\n\n setTimeout(() => {\n // This gives enough time for all values to get passed over\n // Previously, the interval was never cleared and the fn was called indefinitely then filtered\n // Will revisit in TCT-599\n this.clearResizeInterval();\n }, 1000);\n };\n\n removeContentSlotListener = () => {\n if (this.contentSlot) {\n this.contentSlot.removeEventListener('slotchange', resizeIframe);\n return;\n }\n this.contentSlotMutationObserver?.disconnect();\n };\n\n removeHeaderSlotListener = () => {\n if (this.headerSlot) {\n this.headerSlot.removeEventListener('slotchange', this.onHeaderSlotChange);\n return;\n }\n\n this.headerSlotMutationObserver?.disconnect();\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n const hasHeader = this.label || this.hasYieldedHeader;\n const wrapperClasses = ['content-wrapper'];\n const { collapsible, hideContent, contentHeight } = this;\n if (collapsible) {\n if (hideContent) wrapperClasses.push('is-closed');\n else if (contentHeight) wrapperClasses.push('is-transitioning');\n }\n\n const showDefaultHeader = !this.hasYieldedHeader && !!this.label;\n\n return (\n <section class=\"wrapper\">\n <header class={hasHeader ? 'has-header' : ''}>\n <div\n class=\"header-content\"\n id={this.titleId}\n onClick={this.collapsible && this.onHeaderClick}\n >\n {showDefaultHeader && <h2 class=\"title\">{loc(this.label)}</h2>}\n <div\n ref={el => (this.headerSlotWrapper = el)}\n class=\"header-slot-wrapper\"\n >\n <slot\n ref={(el: HTMLSlotElement) => (this.headerSlot = el)}\n name=\"q2-section-header\"\n />\n </div>\n </div>\n {this.collapsible && !this.noCollapseIcon && (\n <q2-btn\n label={loc(this.label || 'tecton.element.section.defaultToggleLabel')}\n ariaExpanded={`${!!this.expanded}`}\n ariaControls={this.contentId}\n test-id=\"toggleButton\"\n hide-label\n onClick={this.onHeaderClick}\n >\n <q2-icon type=\"chevron-up\" />\n </q2-btn>\n )}\n </header>\n <div\n class={wrapperClasses.join(' ')}\n id={this.contentId}\n aria-labelledby={this.titleId}\n role=\"region\"\n onTransitionEnd={this.onTransitionEnd}\n style={\n this.collapsible && {\n height: this.contentHeight,\n }\n }\n >\n <div\n ref={el => (this.contentContainer = el)}\n class=\"content\"\n tabindex=\"-1\"\n >\n <slot ref={(el: HTMLSlotElement) => (this.contentSlot = el)} />\n </div>\n </div>\n </section>\n );\n }\n\n // #endregion\n}\n"],"mappings":";;;;AAAA,MAAMA,IAAe;;AACrB,MAAAC,IAAeD;;MCeFE,IAAS;;;;IAIlBC,KAAAC,YAAoB;IAOpBD,KAAAE,UAAkB;IA+JlBF,KAAAG,yBAAyB;MACrB,IAAIH,KAAKI,aAAa;QAClBJ,KAAKI,YAAYC,iBAAiB,cAAcC;QAChD;;MAGJ,MAAMC,IAAW,IAAIC,iBAAiBF;MACtCC,EAASE,QAAQT,KAAKU,kBAAkB;QAAEC,WAAW;QAAMC,SAAS;;MACpEZ,KAAKa,8BAA8BN;AAAQ;IAG/CP,KAAAc,wBAAwB;MACpB,IAAId,KAAKe,YAAY;QACjBf,KAAKe,WAAWV,iBAAiB,cAAcL,KAAKgB;QACpD;;MAGJ,MAAMT,IAAW,IAAIC,iBAAiBR,KAAKgB;MAC3CT,EAASE,QAAQT,KAAKiB,mBAAmB;QAAEN,WAAW;;MACtDX,KAAKkB,6BAA6BX;AAAQ;IAG9CP,KAAAmB,sBAAsB;MAClBnB,KAAKoB,aAAaC,cAAcrB,KAAKoB;AAAU;IAiBnDpB,KAAAsB,gBAAgB;MACZtB,KAAKuB,OAAOC,KAAK;QACbC,WAAWzB,KAAKyB;;AAClB;IAGNzB,KAAAgB,qBAAqB;MACjB,MAAMU,MAAmB1B,KAAK2B,YAAYC,cAAc;MAExD,IAAI5B,KAAK6B,qBAAqBH,GAAgB;QAC1C1B,KAAK6B,qBAAqBH;;;IAIlC1B,KAAA8B,kBAAkB;MACd,IAAI9B,KAAKyB,UAAU;QACfzB,KAAK+B,gBAAgBC;aAClB;QACHhC,KAAKiC,cAAc;;MAGvBC,YAAW;;;;QAIPlC,KAAKmB;AAAqB,UAC3B;AAAK;IAGZnB,KAAAmC,4BAA4B;;MACxB,IAAInC,KAAKI,aAAa;QAClBJ,KAAKI,YAAYgC,oBAAoB,cAAc9B;QACnD;;OAEJ+B,IAAArC,KAAKa,iCAA2B,QAAAwB,WAAA,aAAAA,EAAEC;AAAY;IAGlDtC,KAAAuC,2BAA2B;;MACvB,IAAIvC,KAAKe,YAAY;QACjBf,KAAKe,WAAWqB,oBAAoB,cAAcpC,KAAKgB;QACvD;;OAGJqB,IAAArC,KAAKkB,gCAA0B,QAAAmB,WAAA,aAAAA,EAAEC;AAAY;;4BAnOrB;uBAGL;;;;;;;;EA0CvB,oBAAAE;IACIxC,KAAKuC;IACLvC,KAAKmC;;EAGT,iBAAAM;IACIzC,KAAKgB;IACL,OAAM0B,aAAEA,GAAWjB,UAAEA,KAAazB;IAClCA,KAAK+B,gBAAgBW,KAAejB,IAAWO,YAAY;IAC3DhC,KAAKiC,eAAeR;;EAGxB,gBAAAkB;IACI3C,KAAKc;IACLd,KAAKG;IACLyC,EAAc5C,KAAK2B;;;;EAOvB,oBAAAkB,CAAqBC;IACjB,IAAIA,EAAMC,WAAW/C,KAAK2B,gBAAgB3B,KAAK2B,YAAYqB,cAAcF,EAAMG,QAAQ;MACnFjD,KAAKyB,WAAWqB,EAAMG,OAAOxB;;;EAKrC,aAAAyB,CAAcJ;IACV,KAAKK,EAAmBL,GAAO9C,KAAK2B,cAAc;IAClD3B,KAAKU,iBAAiB0C;;;;EAO1B,mBAAAC;IACIrD,KAAK+B,gBAAgB/B,KAAKsD;;EAI9B,sBAAMC,CAAiB9B;IACnBzB,KAAKmB;IACLnB,KAAKoB,YAAYoC,YAAYlD,GAAc;IAE3C,IAAImB,GAAU;MACVzB,KAAKyD;WACF;MACHzD,KAAK0D;;;;;;;;;;EAab,cAAMC;IACF,KAAK3D,KAAK0C,gBAAgB1C,KAAKyB,UAAU;IACzC,MAAMmC,IAAM5D,KAAK2B,YAAYkC,WAAWjC,cAAc;IACrDgC,MAAwB,QAAxBA,WAAG,aAAHA,EAA0BE;;;;;;SAS/B,YAAMC;IACF,KAAK/D,KAAK0C,eAAe1C,KAAKyB,UAAU;IACxC,MAAMmC,IAAM5D,KAAK2B,YAAYkC,WAAWjC,cAAc;IACrDgC,MAAwB,QAAxBA,WAAG,aAAHA,EAA0BE;;;;EAM/B,0BAAIE;IACA,OAAO,GAAGhE,KAAKU,iBAAiBuD,gBAAgB;;EAGpD,iBAAIX;IACA,OAAMZ,aAAEA,GAAWjB,UAAEA,KAAazB;IAClC,KAAK0C,GAAa;MACd,OAAO;WACJ,IAAIjB,GAAU;MACjB,OAAOzB,KAAKgE;WACT;MACH,OAAO;;;EA8Bf,qBAAMN;IACF1D,KAAK+B,gBAAgB/B,KAAKgE;UACpBE,GAAU;MACZlE,KAAK+B,gBAAgB/B,KAAKsD;AAAa;;EAI/C,mBAAMG;IACFzD,KAAKiC,cAAc;UACbiC,GAAU;MACZlE,KAAK+B,gBAAgB/B,KAAKsD;AAAa;;;;EAqD/C,MAAAa;IACI,MAAMC,IAAYpE,KAAKqE,SAASrE,KAAK6B;IACrC,MAAMyC,IAAiB,EAAC;IACxB,OAAM5B,aAAEA,GAAWT,aAAEA,GAAWF,eAAEA,KAAkB/B;IACpD,IAAI0C,GAAa;MACb,IAAIT,GAAaqC,EAAeC,KAAK,mBAChC,IAAIxC,GAAeuC,EAAeC,KAAK;;IAGhD,MAAMC,KAAqBxE,KAAK6B,sBAAsB7B,KAAKqE;IAE3D,OACII,EAAA;MAAAC,KAAA;MAASC,OAAM;OACXF,EAAA;MAAAC,KAAA;MAAQC,OAAOP,IAAY,eAAe;OACtCK,EAAA;MAAAC,KAAA;MACIC,OAAM;MACNC,IAAI5E,KAAKE;MACT2E,SAAS7E,KAAK0C,eAAe1C,KAAKsB;OAEjCkD,KAAqBC,EAAA;MAAAC,KAAA;MAAIC,OAAM;OAASG,EAAI9E,KAAKqE,SAClDI,EAAA;MAAAC,KAAA;MACIK,KAAKC,KAAOhF,KAAKiB,oBAAoB+D;MACrCL,OAAM;OAENF,EAAA;MAAAC,KAAA;MACIK,KAAMC,KAAyBhF,KAAKe,aAAaiE;MACjDC,MAAK;UAIhBjF,KAAK0C,gBAAgB1C,KAAKkF,kBACvBT,EAAA;MAAAC,KAAA;MACIL,OAAOS,EAAI9E,KAAKqE,SAAS;MACzBc,cAAc,KAAKnF,KAAKyB;MACxB2D,cAAcpF,KAAKC;MAAS,WACpB;MAAc;MAEtB4E,SAAS7E,KAAKsB;OAEdmD,EAAA;MAAAC,KAAA;MAASW,MAAK;UAI1BZ,EAAA;MAAAC,KAAA;MACIC,OAAOL,EAAegB,KAAK;MAC3BV,IAAI5E,KAAKC;MAAS,mBACDD,KAAKE;MACtBqF,MAAK;MACLzD,iBAAiB9B,KAAK8B;MACtB0D,OACIxF,KAAK0C,eAAe;QAChB+C,QAAQzF,KAAK+B;;OAIrB0C,EAAA;MAAAC,KAAA;MACIK,KAAKC,KAAOhF,KAAKU,mBAAmBsE;MACpCL,OAAM;MACNe,UAAS;OAETjB,EAAA;MAAAC,KAAA;MAAMK,KAAMC,KAAyBhF,KAAKI,cAAc4E"}