q2-tecton-elements 1.13.0-alpha.0 → 1.13.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 (234) hide show
  1. package/dist/cjs/click-elsewhere.cjs.entry.js +5 -7
  2. package/dist/cjs/{icons-4595ee47.js → icons-08ffe5c9.js} +394 -384
  3. package/dist/cjs/{index-c2e53804.js → index-7febb200.js} +112 -65
  4. package/dist/cjs/{index-a55d3c34.js → index-dd823ee6.js} +27 -14
  5. package/dist/cjs/loader.cjs.js +3 -3
  6. package/dist/cjs/q2-avatar.cjs.entry.js +2 -2
  7. package/dist/cjs/q2-badge.cjs.entry.js +43 -0
  8. package/dist/cjs/q2-btn_2.cjs.entry.js +13 -13
  9. package/dist/cjs/q2-calendar.cjs.entry.js +53 -59
  10. package/dist/cjs/q2-card.cjs.entry.js +127 -0
  11. package/dist/cjs/q2-carousel-pane.cjs.entry.js +5 -5
  12. package/dist/cjs/q2-carousel.cjs.entry.js +318 -106
  13. package/dist/cjs/q2-checkbox-group.cjs.entry.js +6 -3
  14. package/dist/cjs/q2-checkbox.cjs.entry.js +18 -10
  15. package/dist/cjs/q2-dropdown-item.cjs.entry.js +7 -7
  16. package/dist/cjs/q2-dropdown.cjs.entry.js +8 -17
  17. package/dist/cjs/q2-editable-field.cjs.entry.js +5 -8
  18. package/dist/cjs/q2-icon.cjs.entry.js +3 -3
  19. package/dist/cjs/q2-input.cjs.entry.js +439 -437
  20. package/dist/cjs/q2-loading-element.cjs.entry.js +3 -3
  21. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  22. package/dist/cjs/q2-message.cjs.entry.js +5 -5
  23. package/dist/cjs/q2-optgroup.cjs.entry.js +3 -3
  24. package/dist/cjs/q2-option-list.cjs.entry.js +359 -0
  25. package/dist/cjs/q2-option.cjs.entry.js +3 -11
  26. package/dist/cjs/q2-pagination.cjs.entry.js +116 -0
  27. package/dist/cjs/q2-pill.cjs.entry.js +137 -0
  28. package/dist/cjs/q2-radio-group.cjs.entry.js +43 -18
  29. package/dist/cjs/q2-radio.cjs.entry.js +21 -4
  30. package/dist/cjs/q2-section.cjs.entry.js +5 -7
  31. package/dist/cjs/q2-select.cjs.entry.js +23 -26
  32. package/dist/cjs/q2-stepper-pane.cjs.entry.js +42 -4
  33. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +278 -0
  34. package/dist/cjs/q2-stepper.cjs.entry.js +10 -12
  35. package/dist/cjs/q2-tab-container.cjs.entry.js +12 -8
  36. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-tag.cjs.entry.js +94 -0
  38. package/dist/cjs/q2-tecton-elements.cjs.js +3 -3
  39. package/dist/cjs/q2-textarea.cjs.entry.js +8 -8
  40. package/dist/cjs/{shapes-086c0365.js → shapes-305746b5.js} +9 -16
  41. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -5
  42. package/dist/collection/collection-manifest.json +10 -3
  43. package/dist/collection/components/click-elsewhere/index.js +4 -6
  44. package/dist/collection/components/q2-badge/index.js +148 -0
  45. package/dist/collection/components/q2-badge/styles.css +134 -0
  46. package/dist/collection/components/q2-btn/index.js +14 -14
  47. package/dist/collection/components/q2-btn/styles.css +1 -1
  48. package/dist/collection/components/q2-calendar/helpers.js +22 -20
  49. package/dist/collection/components/q2-calendar/index.js +44 -37
  50. package/dist/collection/components/q2-calendar/validation.js +4 -2
  51. package/dist/collection/components/q2-card/index.js +347 -0
  52. package/dist/collection/components/q2-card/styles.css +177 -0
  53. package/dist/collection/components/q2-carousel/index.js +11 -16
  54. package/dist/collection/components/q2-carousel/styles.css +3 -3
  55. package/dist/collection/components/q2-carousel-pane/index.js +2 -2
  56. package/dist/collection/components/q2-carousel-pane/styles.css +8 -3
  57. package/dist/collection/components/q2-checkbox/index.js +37 -12
  58. package/dist/collection/components/q2-checkbox-group/index.js +22 -1
  59. package/dist/collection/components/q2-dropdown/index.js +6 -15
  60. package/dist/collection/components/q2-dropdown-item/index.js +5 -5
  61. package/dist/collection/components/q2-editable-field/index.js +3 -6
  62. package/dist/collection/components/q2-icon/icons.js +393 -383
  63. package/dist/collection/components/q2-input/formatting/credit-card.js +15 -13
  64. package/dist/collection/components/q2-input/formatting/currency.js +162 -162
  65. package/dist/collection/components/q2-input/formatting/date.js +1 -1
  66. package/dist/collection/components/q2-input/formatting/generic.js +7 -8
  67. package/dist/collection/components/q2-input/formatting/number.js +6 -9
  68. package/dist/collection/components/q2-input/formatting/numeric.js +5 -5
  69. package/dist/collection/components/q2-input/formatting/phone.js +215 -215
  70. package/dist/collection/components/q2-input/formatting/postal.js +1 -1
  71. package/dist/collection/components/q2-input/index.js +81 -25
  72. package/dist/collection/components/q2-input/styles.css +19 -14
  73. package/dist/collection/components/q2-loading/index.js +4 -4
  74. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js +1 -1
  75. package/dist/collection/components/q2-loading/skeleton/shapes.js +8 -15
  76. package/dist/collection/components/q2-message/index.js +3 -3
  77. package/dist/collection/components/q2-optgroup/index.js +1 -1
  78. package/dist/collection/components/q2-option/index.js +19 -25
  79. package/dist/collection/components/q2-option/styles.css +5 -0
  80. package/dist/collection/components/q2-option-list/index.js +648 -0
  81. package/dist/collection/components/q2-option-list/styles.css +128 -0
  82. package/dist/collection/components/q2-pagination/index.js +275 -0
  83. package/dist/collection/components/q2-pagination/styles.css +120 -0
  84. package/dist/collection/components/q2-pill/index.js +324 -0
  85. package/dist/collection/components/q2-pill/styles.css +229 -0
  86. package/dist/collection/components/q2-radio/index.js +38 -1
  87. package/dist/collection/components/q2-radio-group/index.js +66 -24
  88. package/dist/collection/components/q2-section/index.js +5 -7
  89. package/dist/collection/components/q2-select/index.js +40 -25
  90. package/dist/collection/components/q2-stepper/index.js +8 -10
  91. package/dist/collection/components/q2-stepper/styles.css +5 -5
  92. package/dist/collection/components/q2-stepper-pane/index.js +133 -5
  93. package/dist/collection/components/q2-stepper-vertical/index.js +346 -0
  94. package/dist/collection/components/q2-stepper-vertical/styles.css +273 -0
  95. package/dist/collection/components/q2-tab-container/index.js +11 -7
  96. package/dist/collection/components/q2-tag/index.js +200 -0
  97. package/dist/collection/components/q2-tag/styles.css +141 -0
  98. package/dist/collection/components/q2-textarea/index.js +6 -6
  99. package/dist/collection/components/tecton-tab-pane/index.js +3 -10
  100. package/dist/collection/utils/index.js +25 -13
  101. package/dist/esm/click-elsewhere.entry.js +5 -7
  102. package/dist/esm/{icons-3ee662ea.js → icons-b1e11526.js} +394 -384
  103. package/dist/esm/{index-ec6660af.js → index-0ff8de52.js} +27 -15
  104. package/dist/esm/{index-be8376c0.js → index-dbfb3ecc.js} +112 -65
  105. package/dist/esm/loader.js +3 -3
  106. package/dist/esm/polyfills/css-shim.js +1 -1
  107. package/dist/esm/q2-avatar.entry.js +2 -2
  108. package/dist/esm/q2-badge.entry.js +39 -0
  109. package/dist/esm/q2-btn_2.entry.js +13 -13
  110. package/dist/esm/q2-calendar.entry.js +53 -59
  111. package/dist/esm/q2-card.entry.js +123 -0
  112. package/dist/esm/q2-carousel-pane.entry.js +5 -5
  113. package/dist/esm/q2-carousel.entry.js +318 -106
  114. package/dist/esm/q2-checkbox-group.entry.js +6 -3
  115. package/dist/esm/q2-checkbox.entry.js +18 -10
  116. package/dist/esm/q2-dropdown-item.entry.js +7 -7
  117. package/dist/esm/q2-dropdown.entry.js +8 -17
  118. package/dist/esm/q2-editable-field.entry.js +5 -8
  119. package/dist/esm/q2-icon.entry.js +3 -3
  120. package/dist/esm/q2-input.entry.js +439 -437
  121. package/dist/esm/q2-loading-element.entry.js +3 -3
  122. package/dist/esm/q2-loc.entry.js +2 -2
  123. package/dist/esm/q2-message.entry.js +5 -5
  124. package/dist/esm/q2-optgroup.entry.js +3 -3
  125. package/dist/esm/q2-option-list.entry.js +355 -0
  126. package/dist/esm/q2-option.entry.js +3 -11
  127. package/dist/esm/q2-pagination.entry.js +112 -0
  128. package/dist/esm/q2-pill.entry.js +133 -0
  129. package/dist/esm/q2-radio-group.entry.js +43 -18
  130. package/dist/esm/q2-radio.entry.js +21 -4
  131. package/dist/esm/q2-section.entry.js +5 -7
  132. package/dist/esm/q2-select.entry.js +23 -26
  133. package/dist/esm/q2-stepper-pane.entry.js +42 -4
  134. package/dist/esm/q2-stepper-vertical.entry.js +274 -0
  135. package/dist/esm/q2-stepper.entry.js +10 -12
  136. package/dist/esm/q2-tab-container.entry.js +12 -8
  137. package/dist/esm/q2-tab-pane.entry.js +1 -1
  138. package/dist/esm/q2-tag.entry.js +90 -0
  139. package/dist/esm/q2-tecton-elements.js +3 -3
  140. package/dist/esm/q2-textarea.entry.js +8 -8
  141. package/dist/esm/{shapes-81c11dfe.js → shapes-cff4e1f0.js} +9 -16
  142. package/dist/esm/tecton-tab-pane.entry.js +2 -5
  143. package/dist/loader/index.d.ts +0 -1
  144. package/dist/q2-tecton-elements/{p-75e87cca.entry.js → p-00e8f782.entry.js} +1 -1
  145. package/dist/q2-tecton-elements/p-0900bec1.entry.js +1 -0
  146. package/dist/q2-tecton-elements/p-10264ecb.entry.js +1 -0
  147. package/dist/q2-tecton-elements/p-123cdfb9.entry.js +1 -0
  148. package/dist/q2-tecton-elements/{p-fbf7c5e6.entry.js → p-1305ec5f.entry.js} +1 -1
  149. package/dist/q2-tecton-elements/p-148391d6.entry.js +1 -0
  150. package/dist/q2-tecton-elements/p-1dfaee64.entry.js +1 -0
  151. package/dist/q2-tecton-elements/{p-32ad664c.entry.js → p-221abbf6.entry.js} +1 -1
  152. package/dist/q2-tecton-elements/{p-c90a6016.js → p-255b2b4c.js} +1 -1
  153. package/dist/q2-tecton-elements/p-27736b6b.entry.js +1 -0
  154. package/dist/q2-tecton-elements/p-2846ab94.entry.js +1 -0
  155. package/dist/q2-tecton-elements/p-2bc1de01.entry.js +1 -0
  156. package/dist/q2-tecton-elements/{p-8ea2c4f7.entry.js → p-2c15414c.entry.js} +1 -1
  157. package/dist/q2-tecton-elements/p-2caa89fd.js +1 -0
  158. package/dist/q2-tecton-elements/p-327cca41.entry.js +1 -0
  159. package/dist/q2-tecton-elements/p-3a420dbf.entry.js +1 -0
  160. package/dist/q2-tecton-elements/p-3abcb09d.entry.js +1 -0
  161. package/dist/q2-tecton-elements/p-3fe98e3e.entry.js +1 -0
  162. package/dist/q2-tecton-elements/{p-bb2e110a.entry.js → p-430a979b.entry.js} +1 -1
  163. package/dist/q2-tecton-elements/{p-7e6fc65d.entry.js → p-45eb7739.entry.js} +1 -1
  164. package/dist/q2-tecton-elements/{p-750bcd33.entry.js → p-49b2abc4.entry.js} +1 -1
  165. package/dist/q2-tecton-elements/{p-9b50c3c3.entry.js → p-4ab30466.entry.js} +1 -1
  166. package/dist/q2-tecton-elements/p-50e218c7.entry.js +1 -0
  167. package/dist/q2-tecton-elements/p-5bbf2bfe.entry.js +1 -0
  168. package/dist/q2-tecton-elements/{p-ac859fcc.entry.js → p-6fec9235.entry.js} +1 -1
  169. package/dist/q2-tecton-elements/p-824aebd9.js +1 -0
  170. package/dist/q2-tecton-elements/p-a4ae89cc.entry.js +1 -0
  171. package/dist/q2-tecton-elements/{p-50967020.entry.js → p-a5562aaa.entry.js} +1 -1
  172. package/dist/q2-tecton-elements/p-ae4fed23.entry.js +1 -0
  173. package/dist/q2-tecton-elements/p-b2302cd3.entry.js +1 -0
  174. package/dist/q2-tecton-elements/p-c20cbb2d.entry.js +1 -0
  175. package/dist/q2-tecton-elements/p-ca7a3380.entry.js +1 -0
  176. package/dist/q2-tecton-elements/{p-a6f8d09a.entry.js → p-d33e152c.entry.js} +1 -1
  177. package/dist/q2-tecton-elements/{p-9024859f.entry.js → p-d5218cd6.entry.js} +1 -1
  178. package/dist/q2-tecton-elements/p-d52b435e.entry.js +1 -0
  179. package/dist/q2-tecton-elements/p-dd02cf8d.js +1 -0
  180. package/dist/q2-tecton-elements/{p-07a5d703.entry.js → p-e0e7ae8b.entry.js} +1 -1
  181. package/dist/q2-tecton-elements/{p-7e030e92.entry.js → p-ede12fc1.entry.js} +1 -1
  182. package/dist/q2-tecton-elements/{p-df182f61.entry.js → p-fdfbe75b.entry.js} +1 -1
  183. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  184. package/dist/test/elements/q2-tag-test.js +151 -0
  185. package/dist/test/helpers.js +20 -9
  186. package/dist/types/components/q2-badge/index.d.ts +13 -0
  187. package/dist/types/components/q2-btn/index.d.ts +3 -3
  188. package/dist/types/components/q2-calendar/helpers.d.ts +1 -0
  189. package/dist/types/components/q2-calendar/index.d.ts +2 -1
  190. package/dist/types/components/q2-calendar/validation.d.ts +1 -1
  191. package/dist/types/components/q2-card/index.d.ts +35 -0
  192. package/dist/types/components/q2-checkbox/index.d.ts +3 -1
  193. package/dist/types/components/q2-checkbox-group/index.d.ts +1 -0
  194. package/dist/types/components/q2-dropdown/index.d.ts +1 -1
  195. package/dist/types/components/q2-editable-field/index.d.ts +1 -1
  196. package/dist/types/components/q2-input/formatting/credit-card.d.ts +1 -3
  197. package/dist/types/components/q2-input/index.d.ts +5 -2
  198. package/dist/types/components/q2-option/index.d.ts +2 -3
  199. package/dist/types/components/q2-option-list/index.d.ts +62 -0
  200. package/dist/types/components/q2-pagination/index.d.ts +30 -0
  201. package/dist/types/components/q2-pill/index.d.ts +39 -0
  202. package/dist/types/components/q2-radio/index.d.ts +4 -1
  203. package/dist/types/components/q2-radio-group/index.d.ts +5 -1
  204. package/dist/types/components/q2-select/index.d.ts +2 -1
  205. package/dist/types/components/q2-stepper/index.d.ts +1 -1
  206. package/dist/types/components/q2-stepper-pane/index.d.ts +16 -1
  207. package/dist/types/components/q2-stepper-vertical/index.d.ts +52 -0
  208. package/dist/types/components/q2-tab-container/index.d.ts +1 -1
  209. package/dist/types/components/q2-tag/index.d.ts +28 -0
  210. package/dist/types/components/tecton-tab-pane/index.d.ts +2 -2
  211. package/dist/types/components.d.ts +235 -11
  212. package/dist/types/global.d.ts +1 -0
  213. package/dist/types/stencil-public-runtime.d.ts +6 -4
  214. package/dist/types/util.d.ts +2 -10
  215. package/dist/types/utils/index.d.ts +1 -0
  216. package/dist/types/workspace/workspace/Tecton_tecton-production_master/packages/q2-tecton-elements/.stencil/test/elements/q2-tag-test.d.ts +1 -0
  217. package/dist/types/workspace/workspace/{_production_release_1.11.0-alpha → Tecton_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +6 -3
  218. package/package.json +13 -13
  219. package/dist/q2-tecton-elements/p-06fff43d.entry.js +0 -1
  220. package/dist/q2-tecton-elements/p-080839ed.js +0 -1
  221. package/dist/q2-tecton-elements/p-29a37091.entry.js +0 -1
  222. package/dist/q2-tecton-elements/p-37aba2a4.js +0 -1
  223. package/dist/q2-tecton-elements/p-4cd00f1a.js +0 -1
  224. package/dist/q2-tecton-elements/p-6702eb4d.entry.js +0 -1
  225. package/dist/q2-tecton-elements/p-768e3a5d.entry.js +0 -1
  226. package/dist/q2-tecton-elements/p-843b1ee9.entry.js +0 -1
  227. package/dist/q2-tecton-elements/p-943c7745.entry.js +0 -1
  228. package/dist/q2-tecton-elements/p-95a73559.entry.js +0 -1
  229. package/dist/q2-tecton-elements/p-9a977ee6.entry.js +0 -1
  230. package/dist/q2-tecton-elements/p-b281c349.entry.js +0 -1
  231. package/dist/q2-tecton-elements/p-c5e55b9f.entry.js +0 -1
  232. package/dist/q2-tecton-elements/p-ccbe9158.entry.js +0 -1
  233. package/dist/q2-tecton-elements/p-db6f90ac.entry.js +0 -1
  234. package/dist/q2-tecton-elements/p-fa6eea5c.entry.js +0 -1
@@ -1 +1 @@
1
- import{p as e,b as a}from"./p-080839ed.js";(()=>{const a=import.meta.url,l={};return""!==a&&(l.resourcesUrl=new URL(".",a).href),e(l)})().then((e=>a([["p-bb2e110a",[[1,"q2-icon",{type:[513],label:[513]}]]],["p-06fff43d",[[1,"q2-calendar",{value:[1537],label:[513],hideLabel:[516,"hide-label"],ariaLabel:[513,"aria-label"],optional:[516],disabled:[516],invalid:[1540],typeable:[516],placeholder:[513],buttonLabel:[513,"button-label"],disabledMsg:[513,"disabled-msg"],calendarLabel:[513,"calendar-label"],disclaimer:[513],displayFormat:[513,"display-format"],startDate:[513,"start-date"],endDate:[513,"end-date"],cutoffTime:[513,"cutoff-time"],daysOfWeekChecksum:[514,"days-of-week-checksum"],popDirection:[513,"pop-direction"],assume:[513],errors:[1040],invalidDates:[16],validDates:[16],onsuccess:[16],dropdownOpen:[32],keyboardSelection:[32],typedValue:[32],dateList:[32],hintMessage:[32],hintMessageType:[32]},[[0,"change","defaultChangeHandler"],[0,"error","defaultErrorHandler"],[0,"success","defaultSuccessHandler"],[0,"focus","delegateFocus"]]]]],["p-7e030e92",[[1,"q2-dropdown",{type:[513],icon:[513],label:[513],hideLabel:[516,"hide-label"],ariaLabel:[513,"aria-label"],disabled:[516],popDirection:[513,"pop-direction"],name:[513],context:[513],contextValue:[513,"context-value"],resolvedType:[513,"resolved-type"],dropdownOpen:[32]},[[0,"focus","delegateFocus"]]]]],["p-db6f90ac",[[1,"q2-select",{label:[513],hideLabel:[516,"hide-label"],value:[1025],ariaLabel:[513,"aria-label"],selectedOptions:[1032,"selected-options"],disabled:[516],invalid:[516],errors:[16],multiple:[516],minRows:[2,"min-rows"],popDirection:[513,"pop-direction"],searchable:[516],multilineOptions:[516,"multiline-options"],optional:[516],dropdownOpen:[32],onlyShowingSelected:[32],activeOptionId:[32],searchText:[32],hasCustomDisplay:[32],inputFocused:[32],statusMessage:[32]},[[0,"change","onHostElementChange"],[0,"input","onHostElementInput"],[0,"focus","delegateFocus"],[0,"click","clickHandler"],[0,"keydown","keydownHandler"]]]]],["p-75e87cca",[[1,"q2-editable-field",{value:[1537],editing:[1540],label:[1537],hideLabel:[1540,"hide-label"],ariaLabel:[1537,"aria-label"],type:[513],formatModifier:[513,"format-modifier"],truncated:[513],maxlength:[514],persistentLabel:[516,"persistent-label"],hints:[16],errors:[16]},[[0,"change","onHostElementChange"],[0,"focus","delegateFocus"]]]]],["p-c5e55b9f",[[4,"q2-carousel",{autoPlay:[516,"auto-play"],fullWidthPanes:[516,"full-width-panes"],hidePagination:[516,"hide-pagination"],showNavigationArrows:[516,"show-navigation-arrows"],ariaLabel:[513,"aria-label"],label:[513],index:[1538],universalCarouselOptions:[32],fullWidthDisplayOptions:[32],activePaneIndex:[32],applyFocus:[32],applyPaginationFocus:[32],autoPlayInProgress:[32],compactMode:[32],carouselWrapperWidth:[32]},[[0,"change","onHostElementChange"],[0,"clickCarouselPane","carouselPaneClicked"],[0,"focus","delegateFocus"]]]]],["p-9b50c3c3",[[1,"q2-section",{label:[513],collapsible:[516],noCollapseIcon:[516,"no-collapse-icon"],expanded:[1540],contentHeight:[32],hasYieldedHeader:[32]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"]]]]],["p-b281c349",[[1,"q2-stepper",{currentStep:[1538,"current-step"],stepCount:[1026,"step-count"],lastEnabledStep:[1026,"last-enabled-step"],scrollEnabled:[32],showScrollLeft:[32],showScrollRight:[32]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"]]]]],["p-ac859fcc",[[1,"q2-tab-container",{value:[1537],type:[513],name:[513],color:[513],noPrint:[516,"no-print"],hasLeft:[32],hasRight:[32],scrollEnabled:[32],showScrollLeft:[32],showScrollRight:[32],tabs:[32]},[[0,"change","defaultChangeHandler"],[9,"resize","onResize"],[0,"focus","onFocus"]]]]],["p-df182f61",[[1,"q2-avatar",{name:[513],initials:[513],src:[513],icon:[1],badSrc:[32]}]]],["p-768e3a5d",[[1,"q2-checkbox",{checked:[1540],type:[513],label:[513],hideLabel:[516,"hide-label"],ariaLabel:[513,"aria-label"],indeterminate:[516],disabled:[516],value:[513],name:[513],hasError:[516,"has-error"],groupDisabled:[516,"group-disabled"],alignment:[513]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"]]]]],["p-95a73559",[[1,"q2-checkbox-group",{label:[513],value:[1040],disabled:[516],optional:[516],hasError:[516,"has-error"]},[[0,"change","onHostElementChange"]]]]],["p-6702eb4d",[[1,"q2-option",{role:[513],tabindex:[513],display:[513],value:[513],disabled:[516],optionId:[513,"option-id"],disabledGroup:[516,"disabled-group"],selected:[516],hidden:[516],multiline:[516],active:[516],_multiSelectHidden:[516,"_multiselecthidden"]}]]],["p-29a37091",[[1,"q2-radio-group",{label:[513],value:[1025],disabled:[516],name:[513],optional:[516],tilelayout:[516],tileAlignment:[513,"tile-alignment"],hasError:[516,"has-error"]},[[0,"change","onHostElementChange"],[0,"focus","delegateFocus"],[0,"keydown","keydownHandler"]]]]],["p-50967020",[[1,"q2-textarea",{value:[1025],label:[513],hideLabel:[516,"hide-label"],hideMessages:[516,"hide-messages"],optional:[516],placeholder:[513],disabled:[516],readonly:[516],spellcheck:[516],maxlength:[1538],rows:[514],cols:[514],resize:[513],errors:[16],hints:[16],hasFocus:[32],downParams:[32]},[[0,"focus","onHostElementFocus"],[0,"change","onHostElementChange"]]]]],["p-7e6fc65d",[[4,"q2-carousel-pane",{index:[2],siblingCount:[2,"sibling-count"],isActivePane:[516,"is-active-pane"],label:[513]}]]],["p-32ad664c",[[0,"q2-loading-element",{shape:[513],width:[513],height:[513],borderRadius:[513,"border-radius"]}]]],["p-fbf7c5e6",[[1,"q2-loc",{value:[513],substitutions:[16]}]]],["p-07a5d703",[[1,"q2-optgroup",{disabled:[516],label:[513],hidden:[32]}]]],["p-ccbe9158",[[1,"q2-radio",{label:[513],hideLabel:[516,"hide-label"],value:[513],disabled:[516],checked:[516],name:[513],ariaLabel:[513,"aria-label"],groupDisabled:[4,"group-disabled"],groupTileLayout:[4,"group-tile-layout"]},[[0,"click","onHostClick"],[0,"focus","delegateFocus"]]]]],["p-843b1ee9",[[1,"q2-stepper-pane",{label:[513],description:[513],isActive:[516,"is-active"]}]]],["p-750bcd33",[[1,"q2-tab-pane",{value:[513],label:[513],name:[513],selected:[516],index:[2],guid:[2]}]]],["p-8ea2c4f7",[[1,"tecton-tab-pane",{value:[513],label:[513],name:[513],selected:[516],index:[2],guid:[2],provided:[516],url:[513],moduleId:[513,"module-id"],minHeight:[513,"min-height"],authPayload:[16],showForm:[4,"show-form"],_showForm:[32]}]]],["p-a6f8d09a",[[1,"q2-dropdown-item",{disabled:[516],removable:[516],separator:[516],label:[513],ariaLabel:[513,"aria-label"],value:[513]},[[0,"focus","onHostElementFocus"]]]]],["p-fa6eea5c",[[1,"q2-message",{type:[513],appearance:[513],description:[516],presentToggle:[32],present:[64]},[[0,"focus","delegateFocus"]]]]],["p-943c7745",[[1,"q2-input",{value:[1025],label:[513],hideLabel:[516,"hide-label"],type:[513],placeholder:[513],disabled:[516],autocomplete:[513],autocorrect:[513],autocapitalize:[513],hideMessages:[516,"hide-messages"],iconLeft:[513,"icon-left"],iconRight:[513,"icon-right"],readonly:[516],clearable:[516],optional:[516],formatModifier:[513,"format-modifier"],maxlength:[1538],pseudo:[516],showVisibilityToggle:[516,"show-visibility-toggle"],textHidden:[1540,"text-hidden"],ariaControls:[1,"aria-controls"],role:[1],ariaOwns:[1,"aria-owns"],ariaLabel:[513,"aria-label"],ariaHaspopup:[1,"aria-haspopup"],ariaExpanded:[4,"aria-expanded"],ariaActivedescendant:[8,"aria-activedescendant"],errors:[16],hints:[16],formattedValueObject:[32],hasFocus:[32]},[[0,"focus","onHostElementFocus"],[0,"change","onHostElementChange"]]]]],["p-9024859f",[[0,"click-elsewhere"]]],["p-9a977ee6",[[1,"q2-btn",{ariaExpanded:[4,"aria-expanded"],ariaHasPopup:[8,"aria-has-popup"],ariaControls:[1,"aria-controls"],ariaSelected:[4,"aria-selected"],label:[513],hideLabel:[516,"hide-label"],ariaLabel:[513,"aria-label"],tabIndex:[2,"tab-index"],intent:[513],disabled:[516],type:[513],loading:[516],badge:[516],active:[516],fab:[516],iconPosition:[32]},[[2,"click","disable"],[0,"focus","delegateFocus"]]],[1,"q2-loading",{type:[513],shape:[513],modifiers:[513],counts:[513],label:[513],ariaLabel:[513,"aria-label"],inline:[516]}]]]],e)));
1
+ import{p as e,b as a}from"./p-2caa89fd.js";(()=>{const a=import.meta.url,l={};return""!==a&&(l.resourcesUrl=new URL(".",a).href),e(l)})().then((e=>a(JSON.parse('[["p-430a979b",[[1,"q2-icon",{"type":[513],"label":[513]}]]],["p-123cdfb9",[[1,"q2-calendar",{"value":[1537],"label":[513],"hideLabel":[516,"hide-label"],"ariaLabel":[513,"aria-label"],"optional":[516],"disabled":[516],"readonly":[516],"invalid":[1540],"typeable":[516],"placeholder":[513],"buttonLabel":[513,"button-label"],"disabledMsg":[513,"disabled-msg"],"calendarLabel":[513,"calendar-label"],"disclaimer":[513],"displayFormat":[513,"display-format"],"startDate":[513,"start-date"],"endDate":[513,"end-date"],"cutoffTime":[513,"cutoff-time"],"daysOfWeekChecksum":[514,"days-of-week-checksum"],"popDirection":[513,"pop-direction"],"assume":[513],"errors":[1040],"invalidDates":[16],"validDates":[16],"onsuccess":[16],"dropdownOpen":[32],"keyboardSelection":[32],"typedValue":[32],"dateList":[32],"hintMessage":[32],"hintMessageType":[32]},[[0,"change","defaultChangeHandler"],[0,"error","defaultErrorHandler"],[0,"success","defaultSuccessHandler"],[0,"focus","delegateFocus"]]]]],["p-ede12fc1",[[1,"q2-dropdown",{"type":[513],"icon":[513],"label":[513],"hideLabel":[516,"hide-label"],"ariaLabel":[513,"aria-label"],"disabled":[516],"popDirection":[513,"pop-direction"],"name":[513],"context":[513],"contextValue":[513,"context-value"],"resolvedType":[513,"resolved-type"],"dropdownOpen":[32]},[[0,"focus","delegateFocus"]]]]],["p-ae4fed23",[[1,"q2-select",{"label":[513],"hideLabel":[516,"hide-label"],"value":[1025],"ariaLabel":[513,"aria-label"],"selectedOptions":[1032,"selected-options"],"disabled":[516],"readonly":[516],"invalid":[516],"errors":[16],"multiple":[516],"minRows":[2,"min-rows"],"popDirection":[513,"pop-direction"],"searchable":[516],"multilineOptions":[516,"multiline-options"],"optional":[516],"dropdownOpen":[32],"onlyShowingSelected":[32],"activeOptionId":[32],"searchText":[32],"hasCustomDisplay":[32],"inputFocused":[32],"statusMessage":[32]},[[0,"change","onHostElementChange"],[0,"input","onHostElementInput"],[0,"focus","delegateFocus"],[0,"click","clickHandler"],[0,"keydown","keydownHandler"]]]]],["p-00e8f782",[[1,"q2-editable-field",{"value":[1537],"editing":[1540],"label":[1537],"hideLabel":[1540,"hide-label"],"ariaLabel":[1537,"aria-label"],"type":[513],"formatModifier":[513,"format-modifier"],"truncated":[513],"maxlength":[514],"persistentLabel":[516,"persistent-label"],"hints":[16],"errors":[16]},[[0,"change","onHostElementChange"],[0,"focus","delegateFocus"]]]]],["p-a4ae89cc",[[1,"q2-pagination",{"recordType":[1,"record-type"],"perPage":[2,"per-page"],"total":[514],"page":[1538],"pages":[1538],"recordsOnly":[1540,"records-only"],"pagesOnly":[1540,"pages-only"],"isSmall":[32]},[[0,"focus","onHostElementFocus"]]]]],["p-1dfaee64",[[4,"q2-carousel",{"autoPlay":[516,"auto-play"],"fullWidthPanes":[516,"full-width-panes"],"hidePagination":[516,"hide-pagination"],"showNavigationArrows":[516,"show-navigation-arrows"],"ariaLabel":[513,"aria-label"],"label":[513],"index":[1538],"universalCarouselOptions":[32],"fullWidthDisplayOptions":[32],"activePaneIndex":[32],"applyFocus":[32],"applyPaginationFocus":[32],"autoPlayInProgress":[32],"compactMode":[32],"carouselWrapperWidth":[32]},[[0,"change","onHostElementChange"],[0,"clickCarouselPane","carouselPaneClicked"],[0,"focus","delegateFocus"]]]]],["p-4ab30466",[[1,"q2-section",{"label":[513],"collapsible":[516],"noCollapseIcon":[516,"no-collapse-icon"],"expanded":[1540],"contentHeight":[32],"hasYieldedHeader":[32]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"]]]]],["p-2846ab94",[[1,"q2-stepper",{"currentStep":[1538,"current-step"],"stepCount":[1026,"step-count"],"lastEnabledStep":[1026,"last-enabled-step"],"scrollEnabled":[32],"showScrollLeft":[32],"showScrollRight":[32]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"]]]]],["p-6fec9235",[[1,"q2-tab-container",{"value":[1537],"type":[513],"name":[513],"color":[513],"noPrint":[516,"no-print"],"hasLeft":[32],"hasRight":[32],"scrollEnabled":[32],"showScrollLeft":[32],"showScrollRight":[32],"tabs":[32]},[[0,"change","defaultChangeHandler"],[9,"resize","onResize"],[0,"focus","onFocus"]]]]],["p-0900bec1",[[1,"q2-card",{"title":[513],"description":[513],"avatarName":[513,"avatar-name"],"avatarInitials":[513,"avatar-initials"],"avatarIcon":[513,"avatar-icon"],"avatarSrc":[513,"avatar-src"],"isSmall":[516,"is-small"],"bar":[513],"isTouch":[516,"is-touch"],"url":[513],"target":[513],"isAutoTouch":[32],"isAutoSmall":[32]},[[0,"focus","onHostElementFocus"]]]]],["p-148391d6",[[1,"q2-pill",{"disabled":[516],"active":[1540],"open":[1540],"multiple":[516],"label":[513],"value":[513],"theme":[513],"selectedOptions":[1040],"hasOptions":[32]},[[0,"focus","delegateFocus"],[0,"optionListState","optionListStateEvent"]]]]],["p-5bbf2bfe",[[1,"q2-tag",{"open":[1540],"role":[513],"label":[513],"theme":[513],"hasOptions":[32]},[[0,"focus","delegateFocus"],[0,"optionListState","optionListStateEvent"]]]]],["p-50e218c7",[[1,"q2-checkbox",{"checked":[1540],"type":[513],"label":[1537],"hideLabel":[1540,"hide-label"],"ariaLabel":[1537,"aria-label"],"indeterminate":[516],"disabled":[516],"readonly":[516],"value":[513],"name":[513],"hasError":[516,"has-error"],"groupDisabled":[516,"group-disabled"],"alignment":[513]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"]]]]],["p-3fe98e3e",[[1,"q2-checkbox-group",{"label":[513],"value":[1040],"disabled":[516],"readonly":[516],"optional":[516],"hasError":[516,"has-error"]},[[0,"change","onHostElementChange"]]]]],["p-2bc1de01",[[1,"q2-option",{"role":[513],"tabindex":[513],"display":[513],"value":[513],"disabled":[516],"optionId":[513,"option-id"],"disabledGroup":[516,"disabled-group"],"selected":[516],"hidden":[516],"multiline":[516],"active":[516],"noSelect":[516,"_no-select"],"_multiSelectHidden":[516,"_multiselecthidden"]}]]],["p-d52b435e",[[1,"q2-radio-group",{"label":[513],"value":[1025],"disabled":[516],"name":[513],"optional":[516],"readonly":[516],"tilelayout":[516],"tileAlignment":[513,"tile-alignment"],"hasError":[516,"has-error"]},[[0,"change","onHostElementChange"],[0,"focus","delegateFocus"],[0,"keydown","keydownHandler"]]]]],["p-27736b6b",[[1,"q2-stepper-vertical",{"currentStepId":[1537,"current-step-id"],"structuredPanes":[32]},[[0,"change","defaultChangeHandler"],[0,"focus","delegateFocus"],[0,"statusChange","statusChangeHandler"]]]]],["p-a5562aaa",[[1,"q2-textarea",{"value":[1025],"label":[513],"hideLabel":[516,"hide-label"],"hideMessages":[516,"hide-messages"],"optional":[516],"placeholder":[513],"disabled":[516],"readonly":[516],"spellcheck":[516],"maxlength":[1538],"rows":[514],"cols":[514],"resize":[513],"errors":[16],"hints":[16],"hasFocus":[32],"downParams":[32]},[[0,"focus","onHostElementFocus"],[0,"change","onHostElementChange"]]]]],["p-327cca41",[[1,"q2-badge",{"value":[514],"maxLength":[514,"max-length"],"position":[513],"size":[513],"theme":[513],"status":[513]}]]],["p-45eb7739",[[4,"q2-carousel-pane",{"index":[2],"siblingCount":[2,"sibling-count"],"isActivePane":[516,"is-active-pane"],"label":[513]}]]],["p-221abbf6",[[0,"q2-loading-element",{"shape":[513],"width":[513],"height":[513],"borderRadius":[513,"border-radius"]}]]],["p-1305ec5f",[[1,"q2-loc",{"value":[513],"substitutions":[16]}]]],["p-e0e7ae8b",[[1,"q2-optgroup",{"disabled":[516],"label":[513],"hidden":[32]}]]],["p-3abcb09d",[[1,"q2-radio",{"label":[513],"hideLabel":[516,"hide-label"],"value":[513],"disabled":[516],"checked":[516],"name":[513],"ariaLabel":[513,"aria-label"],"groupDisabled":[4,"group-disabled"],"groupReadonly":[4,"group-readonly"],"groupTileLayout":[4,"group-tile-layout"]},[[0,"click","onHostClick"],[0,"focus","delegateFocus"]]]]],["p-c20cbb2d",[[1,"q2-stepper-pane",{"label":[513],"description":[513],"isActive":[516,"is-active"],"showWithChildren":[516,"show-with-children"],"status":[513],"isChildActive":[32]},[[0,"activeChange","checkForActiveChildren"]]]]],["p-49b2abc4",[[1,"q2-tab-pane",{"value":[513],"label":[513],"name":[513],"selected":[516],"index":[2],"guid":[2]}]]],["p-2c15414c",[[1,"tecton-tab-pane",{"value":[513],"label":[513],"name":[513],"selected":[516],"index":[2],"guid":[2],"provided":[516],"url":[513],"moduleId":[513,"module-id"],"minHeight":[513,"min-height"],"authPayload":[16],"showForm":[4,"show-form"],"_showForm":[32]}]]],["p-d33e152c",[[1,"q2-dropdown-item",{"disabled":[516],"removable":[516],"separator":[516],"label":[513],"ariaLabel":[513,"aria-label"],"value":[513]},[[0,"focus","onHostElementFocus"]]]]],["p-fdfbe75b",[[1,"q2-avatar",{"name":[513],"initials":[513],"src":[513],"icon":[1],"badSrc":[32]}]]],["p-10264ecb",[[1,"q2-message",{"type":[513],"appearance":[513],"description":[516],"presentToggle":[32],"present":[64]},[[0,"focus","delegateFocus"]]]]],["p-3a420dbf",[[1,"q2-option-list",{"role":[513],"direction":[513],"open":[1540],"customSearch":[516,"custom-search"],"noSelect":[516,"no-select"],"align":[513],"selectedOptions":[1040],"multiple":[516],"disabled":[516],"type":[1],"hasOptions":[32],"toggle":[64],"setDefaultActiveElement":[64],"setActiveElement":[64],"handleExternalKeydown":[64]},[[0,"focus","delegateFocus"],[0,"click","handleClick"]]]]],["p-d5218cd6",[[0,"click-elsewhere"]]],["p-b2302cd3",[[1,"q2-btn",{"ariaExpanded":[1,"aria-expanded"],"ariaHasPopup":[1,"aria-has-popup"],"ariaControls":[1,"aria-controls"],"ariaSelected":[1,"aria-selected"],"label":[513],"hideLabel":[516,"hide-label"],"ariaLabel":[513,"aria-label"],"tabIndex":[2,"tab-index"],"intent":[513],"disabled":[516],"type":[513],"loading":[516],"badge":[516],"active":[516],"fab":[516],"iconPosition":[32]},[[2,"click","disable"],[0,"focus","delegateFocus"]]],[1,"q2-loading",{"type":[513],"shape":[513],"modifiers":[513],"counts":[513],"label":[513],"ariaLabel":[513,"aria-label"],"inline":[516]}]]],["p-ca7a3380",[[1,"q2-input",{"value":[1025],"label":[513],"hideLabel":[516,"hide-label"],"type":[513],"placeholder":[513],"disabled":[516],"autocomplete":[513],"autocorrect":[513],"autocapitalize":[513],"hideMessages":[516,"hide-messages"],"iconLeft":[513,"icon-left"],"iconRight":[513,"icon-right"],"readonly":[516],"clearable":[516],"optional":[516],"min":[514],"max":[514],"formatModifier":[513,"format-modifier"],"maxlength":[1538],"pseudo":[516],"showVisibilityToggle":[516,"show-visibility-toggle"],"textHidden":[1540,"text-hidden"],"ariaControls":[1,"aria-controls"],"role":[1],"ariaOwns":[1,"aria-owns"],"ariaLabel":[513,"aria-label"],"ariaHaspopup":[1,"aria-haspopup"],"ariaExpanded":[1,"aria-expanded"],"ariaActivedescendant":[8,"aria-activedescendant"],"current":[1],"errors":[16],"hints":[16],"formattedValueObject":[32],"hasFocus":[32]},[[0,"focus","onHostElementFocus"],[0,"change","onHostElementChange"]]]]]]'),e)));
@@ -0,0 +1,151 @@
1
+ import { setup, getFocusedAttribute } from '../helpers';
2
+ describe('q2-tag', () => {
3
+ let page;
4
+ let tag;
5
+ let optionList;
6
+ let controlBtn;
7
+ let allOptions;
8
+ let optionContainer;
9
+ let clickSpy;
10
+ let changeSpy;
11
+ const getFocusedValue = async (page) => {
12
+ return page.$eval('body', () => document.activeElement.getAttribute('value'));
13
+ };
14
+ it('does not render button or dropdown by default', async () => {
15
+ page = await setup({
16
+ html: `<q2-tag label="My tag"></q2-tag>`,
17
+ });
18
+ optionList = await page.find('q2-tag >>> q2-option-list');
19
+ controlBtn = await page.find('q2-tag >>> button');
20
+ expect(controlBtn).toBeNull();
21
+ expect(optionList).toBeNull();
22
+ });
23
+ describe('when options are provided', () => {
24
+ beforeEach(async () => {
25
+ page = await setup({
26
+ html: `
27
+ <q2-tag label="My tag">
28
+ <q2-option value="1">Option 1</q2-option>
29
+ <q2-option value="2">Option 2</q2-option>
30
+ <q2-option value="3">Option 3</q2-option>
31
+ </q2-tag>
32
+ `,
33
+ });
34
+ tag = await page.find('q2-tag');
35
+ allOptions = await page.findAll('q2-option');
36
+ optionList = await page.find('q2-tag >>> q2-option-list');
37
+ optionContainer = await page.find('q2-tag >>> q2-option-list >>> .options');
38
+ controlBtn = await page.find('q2-tag >>> button');
39
+ clickSpy = await tag.spyOnEvent('click');
40
+ changeSpy = await tag.spyOnEvent('change');
41
+ });
42
+ it('can select option via keyboard', async () => {
43
+ const tagWrapper = await page.find('q2-tag >>> .tag-wrapper');
44
+ expect(tagWrapper.classList.contains('has-options')).toBe(true);
45
+ expect(optionList).not.toHaveAttribute('open');
46
+ await controlBtn.press('ArrowDown');
47
+ await page.waitForChanges();
48
+ expect(tag).toHaveAttribute('open');
49
+ expect(optionList).toHaveAttribute('open');
50
+ expect(await getFocusedValue(page)).toEqual('1');
51
+ await optionContainer.press('ArrowDown');
52
+ await page.waitForChanges();
53
+ expect(await getFocusedValue(page)).toEqual('2');
54
+ await allOptions[1].press(' ');
55
+ await page.waitForChanges();
56
+ expect(tag).not.toHaveAttribute('open');
57
+ expect(optionList).not.toHaveAttribute('open');
58
+ expect(clickSpy).toHaveReceivedEventDetail({
59
+ value: '2',
60
+ });
61
+ expect(changeSpy).not.toHaveReceivedEvent();
62
+ });
63
+ it('can select option via mouse', async () => {
64
+ const tagWrapper = await page.find('q2-tag >>> .tag-wrapper');
65
+ expect(tagWrapper.classList.contains('has-options')).toBe(true);
66
+ expect(optionList).not.toHaveAttribute('open');
67
+ await controlBtn.click();
68
+ await page.waitForChanges();
69
+ expect(tag).toHaveAttribute('open');
70
+ expect(optionList).toHaveAttribute('open');
71
+ await allOptions[1].click();
72
+ await page.waitForChanges();
73
+ expect(tag).not.toHaveAttribute('open');
74
+ expect(optionList).not.toHaveAttribute('open');
75
+ expect(clickSpy).toHaveReceivedEventDetail({
76
+ value: '2',
77
+ });
78
+ expect(changeSpy).not.toHaveReceivedEvent();
79
+ });
80
+ describe('when keyboard is pressed', () => {
81
+ it('opens list and focuses first option on ArrowDown', async () => {
82
+ await controlBtn.press('ArrowDown');
83
+ await page.waitForChanges();
84
+ expect(tag).toHaveAttribute('open');
85
+ expect(optionList).toHaveAttribute('open');
86
+ expect(await getFocusedAttribute(page, 'value')).toEqual('1');
87
+ });
88
+ it('opens list and focuses first option on ArrowUp', async () => {
89
+ await controlBtn.press('ArrowUp');
90
+ await page.waitForChanges();
91
+ expect(tag).toHaveAttribute('open');
92
+ expect(optionList).toHaveAttribute('open');
93
+ expect(await getFocusedAttribute(page, 'value')).toEqual('1');
94
+ });
95
+ it('opens list and focuses first option on Enter', async () => {
96
+ await controlBtn.press('Enter');
97
+ await page.waitForChanges();
98
+ expect(tag).toHaveAttribute('open');
99
+ expect(optionList).toHaveAttribute('open');
100
+ expect(await getFocusedAttribute(page, 'value')).toEqual('1');
101
+ });
102
+ it('opens list and focuses first option on Space', async () => {
103
+ await controlBtn.press(' ');
104
+ await page.waitForChanges();
105
+ expect(tag).toHaveAttribute('open');
106
+ expect(optionList).toHaveAttribute('open');
107
+ expect(await getFocusedValue(page)).toEqual('1');
108
+ });
109
+ it('opens list and focuses last option on Home', async () => {
110
+ await controlBtn.press('Home');
111
+ await page.waitForChanges();
112
+ expect(tag).toHaveAttribute('open');
113
+ expect(optionList).toHaveAttribute('open');
114
+ expect(await getFocusedAttribute(page, 'value')).toEqual('1');
115
+ });
116
+ it('opens list and focuses last option on End', async () => {
117
+ await controlBtn.press('End');
118
+ await page.waitForChanges();
119
+ expect(tag).toHaveAttribute('open');
120
+ expect(optionList).toHaveAttribute('open');
121
+ expect(await getFocusedAttribute(page, 'value')).toEqual('3');
122
+ });
123
+ });
124
+ });
125
+ describe('focus', () => {
126
+ let page;
127
+ let tag;
128
+ beforeEach(async () => {
129
+ page = await setup({
130
+ html: `
131
+ <q2-tag label="My tag">
132
+ <q2-option value="1">Option 1</q2-option>
133
+ <q2-option value="2">Option 2</q2-option>
134
+ <q2-option value="3">Option 3</q2-option>
135
+ </q2-tag>
136
+ `,
137
+ });
138
+ tag = await page.find('q2-tag');
139
+ });
140
+ it('focuses active option and opens the list when focus event is dispatched', async function () {
141
+ await tag.triggerEvent('focus');
142
+ await page.waitForChanges();
143
+ expect(await getFocusedAttribute(page, 'test-id')).toEqual('btn-control');
144
+ });
145
+ it('focuses active option and opens the list when element.focus() is called', async function () {
146
+ await tag.focus();
147
+ await page.waitForChanges();
148
+ expect(await getFocusedAttribute(page, 'test-id')).toEqual('btn-control');
149
+ });
150
+ });
151
+ });
@@ -25,7 +25,7 @@ export async function dispatchEvent(page, selectors, eventType, eventInit) {
25
25
  animationEnd: AnimationEvent,
26
26
  slotchange: Event,
27
27
  load: Event,
28
- paste: ClipboardEvent
28
+ paste: ClipboardEvent,
29
29
  };
30
30
  let eventInit = passedEventInit;
31
31
  if (passedEventType === 'paste' && 'pastedValue' in passedEventInit) {
@@ -33,7 +33,7 @@ export async function dispatchEvent(page, selectors, eventType, eventInit) {
33
33
  clipboardData.getData = () => passedEventInit.pastedValue;
34
34
  eventInit = {
35
35
  bubbles: true,
36
- clipboardData
36
+ clipboardData,
37
37
  };
38
38
  }
39
39
  const eventType = eventTypeDict[passedEventType] || Event;
@@ -58,7 +58,7 @@ export async function setTestStrings(page, strings) {
58
58
  }, strings);
59
59
  }
60
60
  export async function promiseMap(arr, fn) {
61
- let promises = arr.map(fn);
61
+ const promises = arr.map(fn);
62
62
  return Promise.all(promises);
63
63
  }
64
64
  export function offsetTimezone(date) {
@@ -69,14 +69,17 @@ export async function setup(pageOptions) {
69
69
  const page = await newE2EPage(pageOptions);
70
70
  await page.evaluate(function () {
71
71
  this.TectonElements = this.TectonElements || {};
72
- this.TectonElements.loc = (key, substitutions) => {
72
+ this.TectonElements.loc = (key, subs) => {
73
73
  const string = (this.TEST_STRINGS && this.TEST_STRINGS[key]) || key;
74
- if (Array.isArray(substitutions)) {
74
+ if (Array.isArray(subs)) {
75
75
  const regex = /({[0-9]})/g;
76
76
  return string.replace(regex, match => {
77
- return substitutions[parseInt(match[1])];
77
+ return subs[parseInt(match[1])];
78
78
  });
79
79
  }
80
+ else if (typeof subs === 'object') {
81
+ return Object.entries(subs).reduce((accum, [key, value]) => accum.replace(`{${key}}`, value), string);
82
+ }
80
83
  return string;
81
84
  };
82
85
  });
@@ -86,7 +89,7 @@ export function setWindowHeight(height) {
86
89
  Object.defineProperty(window, 'innerHeight', {
87
90
  writable: true,
88
91
  configurable: true,
89
- value: height
92
+ value: height,
90
93
  });
91
94
  window.dispatchEvent(new Event('resize'));
92
95
  expect(window.innerHeight).toBe(height);
@@ -101,10 +104,18 @@ export function makeDomRect(customAttributes) {
101
104
  top: 0,
102
105
  x: 0,
103
106
  y: 0,
104
- toJSON: () => ({})
107
+ toJSON: () => ({}),
105
108
  };
106
109
  return Object.assign(Object.assign({}, defaults), customAttributes);
107
110
  }
111
+ export const base64Image = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQYV2NgYAAAAAMAAWgmWQ0AAAAASUVORK5CYII=';
108
112
  export async function getActiveElementTestId(page) {
109
- return await page.$eval('body', () => { var _a, _b; return (_b = (_a = document.activeElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement.getAttribute('test-id')) !== null && _b !== void 0 ? _b : null; });
113
+ return page.$eval('body', () => { var _a, _b; return (_b = (_a = document.activeElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement.getAttribute('test-id')) !== null && _b !== void 0 ? _b : null; });
114
+ }
115
+ export async function getFocusedAttribute(page, attribute) {
116
+ return page.$eval('body', (_, attribute) => {
117
+ var _a, _b, _c;
118
+ const activeElement = (_b = (_a = document.activeElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) !== null && _b !== void 0 ? _b : document.activeElement;
119
+ return (_c = activeElement === null || activeElement === void 0 ? void 0 : activeElement.getAttribute(attribute)) !== null && _c !== void 0 ? _c : null;
120
+ }, attribute);
110
121
  }
@@ -0,0 +1,13 @@
1
+ import { ComponentInterface } from '../../stencil-public-runtime';
2
+ export declare class Q2Badge implements ComponentInterface {
3
+ value: number;
4
+ maxLength: number | undefined;
5
+ position: 'right' | 'left' | undefined;
6
+ size: 'default' | 'large' | undefined;
7
+ theme: 'primary' | 'secondary' | 'tertiary' | undefined;
8
+ status: 'info' | 'alert' | 'warning' | 'success' | undefined;
9
+ hostElement: HTMLElement;
10
+ get badgeText(): string;
11
+ generateMarkup(): any;
12
+ render(): any;
13
+ }
@@ -1,9 +1,9 @@
1
1
  import { ComponentInterface } from '../../stencil-public-runtime';
2
2
  export declare class Q2Btn implements ComponentInterface {
3
- ariaExpanded: boolean;
4
- ariaHasPopup: boolean | string;
3
+ ariaExpanded: string;
4
+ ariaHasPopup: string;
5
5
  ariaControls: string;
6
- ariaSelected: boolean;
6
+ ariaSelected: string;
7
7
  label: string;
8
8
  hideLabel: boolean;
9
9
  ariaLabel: string;
@@ -14,6 +14,7 @@ export declare function validateInput(input: string, validDays: number[], validD
14
14
  invalidDates: string[], // black list
15
15
  startDate: string, endDate: string, formatString: string, assume: string): InputValidation;
16
16
  export declare function handleMissingZeros(input: any): string;
17
+ export declare function reorderDateString(input: string): string;
17
18
  export declare function firstDayOfWeekInMonth(month: number, year: number): number;
18
19
  export declare function getDays(): string[];
19
20
  export declare function getDaysOfWeek(): string[];
@@ -12,6 +12,7 @@ export declare class Q2Calendar implements ComponentInterface {
12
12
  ariaLabel: string;
13
13
  optional: boolean;
14
14
  disabled: boolean;
15
+ readonly: boolean;
15
16
  invalid: boolean;
16
17
  typeable: boolean;
17
18
  placeholder: string;
@@ -47,7 +48,7 @@ export declare class Q2Calendar implements ComponentInterface {
47
48
  hintMessage: string;
48
49
  hintMessageType: 'info' | 'error' | 'danger' | 'warning' | 'success';
49
50
  selectedMonthYear: ISelectedMonthYear;
50
- scheduledAfterRender: Array<() => void>;
51
+ scheduledAfterRender: (() => void)[];
51
52
  privatePopDirection: 'up' | 'down';
52
53
  dropdownContainer?: HTMLDivElement;
53
54
  resizeIframe(): void;
@@ -17,7 +17,7 @@ export declare function getDayState(dayInMonth: Date, dateValidators: IDateValid
17
17
  isStartDate: boolean;
18
18
  isEndDate: boolean;
19
19
  };
20
- export declare function generateClassesForCalDay({ isInvalid, isSelected, isEndDate, isStartDate, isToday, isIncompleteDate }: {
20
+ export declare function generateClassesForCalDay({ isInvalid, isSelected, isEndDate, isStartDate, isToday, isIncompleteDate, }: {
21
21
  isInvalid: boolean;
22
22
  isSelected: boolean;
23
23
  isEndDate: boolean;
@@ -0,0 +1,35 @@
1
+ import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
+ export declare class Q2Card implements ComponentInterface {
3
+ title: string;
4
+ description: string;
5
+ avatarName: string;
6
+ avatarInitials: string;
7
+ avatarIcon: string;
8
+ avatarSrc: string;
9
+ isSmall: boolean;
10
+ bar: string;
11
+ isTouch: boolean;
12
+ url: string;
13
+ target: '_self' | '_blank' | '_parent' | '_top';
14
+ isAutoTouch: boolean;
15
+ isAutoSmall: boolean;
16
+ hostElement: HTMLElement;
17
+ click: EventEmitter;
18
+ clickableElement: HTMLElement;
19
+ containerElement: HTMLElement;
20
+ avatarElement: HTMLElement;
21
+ resizeObserver: ResizeObserver;
22
+ barColor: string;
23
+ componentWillLoad(): void;
24
+ componentDidLoad(): void;
25
+ willDestroyElement(): void;
26
+ handleClick: (event: MouseEvent) => boolean;
27
+ onHostElementFocus(event: any): void;
28
+ checkBar(): void;
29
+ determineAutoTouch(): void;
30
+ determineAutoSmall(): void;
31
+ generateAvatar(): any;
32
+ generateContent(): any;
33
+ generateContainerClasses(): string;
34
+ render(): any;
35
+ }
@@ -7,6 +7,7 @@ export declare class Q2Checkbox implements ComponentInterface {
7
7
  ariaLabel: string;
8
8
  indeterminate: boolean;
9
9
  disabled: boolean;
10
+ readonly: boolean;
10
11
  value: string;
11
12
  name: string;
12
13
  hasError: boolean;
@@ -21,8 +22,9 @@ export declare class Q2Checkbox implements ComponentInterface {
21
22
  delegateFocus(event: FocusEvent): void;
22
23
  ariaLabelObserver(): void;
23
24
  change: EventEmitter;
24
- onInputChange: (event: Event) => void;
25
+ onInputClick: (event: Event) => void;
25
26
  onControlClick: (event: Event) => void;
27
+ onKeyDown: (event: KeyboardEvent) => void;
26
28
  render(): any;
27
29
  generateCheckboxSVG(): any;
28
30
  generateCheckBoxSVGFill(): any;
@@ -3,6 +3,7 @@ export declare class Q2CheckboxGroup implements ComponentInterface {
3
3
  label: string;
4
4
  value: object;
5
5
  disabled: boolean;
6
+ readonly: boolean;
6
7
  optional: boolean;
7
8
  hasError: boolean;
8
9
  hostElement: HTMLElement;
@@ -14,7 +14,7 @@ export declare class Q2Dropdown implements ComponentInterface {
14
14
  resolvedType: string;
15
15
  dropdownOpen: boolean;
16
16
  hostElement: HTMLElement;
17
- scheduledAfterRender: Array<() => void>;
17
+ scheduledAfterRender: (() => void)[];
18
18
  privatePopDirection: 'down' | 'up';
19
19
  controlElement?: HTMLQ2BtnElement;
20
20
  dropdownContainer?: HTMLDivElement;
@@ -12,7 +12,7 @@ export declare class Q2EditableField {
12
12
  persistentLabel: boolean;
13
13
  hints: string[];
14
14
  errors: string[];
15
- scheduledAfterRender: Array<() => void>;
15
+ scheduledAfterRender: (() => void)[];
16
16
  hostElement: HTMLElement;
17
17
  q2InputElement: HTMLQ2InputElement;
18
18
  q2EditBtnElement: HTMLQ2BtnElement;
@@ -4,9 +4,7 @@ interface FormattedCreditCardObject extends IFormatterValueObject {
4
4
  leftIcon: string;
5
5
  leftIconMuted: boolean;
6
6
  }
7
- interface Formatter {
8
- (value: string): FormattedCreditCardObject;
9
- }
7
+ declare type Formatter = (value: string) => FormattedCreditCardObject;
10
8
  declare function format(value: string): FormattedCreditCardObject;
11
9
  declare function detectCreditCardTypeFromValue(value: string): string;
12
10
  declare const formatCreditCard: {
@@ -16,6 +16,8 @@ export declare class Q2Input {
16
16
  readonly: boolean;
17
17
  clearable: boolean;
18
18
  optional: boolean;
19
+ min: number;
20
+ max: number;
19
21
  formatModifier: string;
20
22
  maxlength: number;
21
23
  pseudo: boolean;
@@ -26,13 +28,14 @@ export declare class Q2Input {
26
28
  ariaOwns: string;
27
29
  ariaLabel: string;
28
30
  ariaHaspopup: string;
29
- ariaExpanded: boolean;
31
+ ariaExpanded: string;
30
32
  ariaActivedescendant: any;
33
+ current: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
31
34
  errors: string[];
32
35
  hints: string[];
33
36
  formattedValueObject: IFormatterValueObject;
34
37
  hasFocus: boolean;
35
- scheduledAfterRender: Array<() => void>;
38
+ scheduledAfterRender: (() => void)[];
36
39
  valueOnFocus: string;
37
40
  componentWillLoad(): void;
38
41
  componentDidLoad(): void;
@@ -1,4 +1,4 @@
1
- import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
1
+ import { ComponentInterface } from '../../stencil-public-runtime';
2
2
  export declare class Q2Option implements ComponentInterface {
3
3
  role: string;
4
4
  tabindex: string;
@@ -11,9 +11,8 @@ export declare class Q2Option implements ComponentInterface {
11
11
  hidden: boolean;
12
12
  multiline: boolean;
13
13
  active: boolean;
14
+ noSelect: boolean;
14
15
  _multiSelectHidden: boolean;
15
16
  hostElement: HTMLElement;
16
- click: EventEmitter;
17
- onClick: (event: MouseEvent) => void;
18
17
  render(): any;
19
18
  }
@@ -0,0 +1,62 @@
1
+ import { Event, ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
+ export interface IOptionValue {
3
+ value: string;
4
+ display?: string;
5
+ }
6
+ export declare class Q2OptionList implements ComponentInterface {
7
+ role: 'listbox' | 'menu';
8
+ direction: 'up' | 'down';
9
+ open: boolean;
10
+ customSearch: boolean;
11
+ noSelect: boolean;
12
+ align: 'left' | 'right';
13
+ selectedOptions: IOptionValue[];
14
+ multiple: boolean;
15
+ disabled: boolean;
16
+ type: 'menu' | 'listbox';
17
+ change: EventEmitter<{
18
+ value: string;
19
+ values: IOptionValue[];
20
+ }>;
21
+ optionListState: EventEmitter<{
22
+ open: boolean;
23
+ }>;
24
+ hasOptions: boolean;
25
+ contentElement: HTMLElement;
26
+ activeIndex: number;
27
+ scheduledAfterRender: (() => void)[];
28
+ searchString: string;
29
+ searchStringTimer: number;
30
+ hostElement: HTMLElement;
31
+ componentWillLoad(): void;
32
+ componentDidLoad(): void;
33
+ componentDidRender(): void;
34
+ get allOptions(): HTMLQ2OptionElement[];
35
+ checkOptions(): void;
36
+ getRootSlot(element: Element): any;
37
+ scrollToActiveOption(): void;
38
+ resizeIframe(): void;
39
+ openDropdownWithActiveElement(activeIndex: number): void;
40
+ getDefaultActiveIndex(): number;
41
+ updateSingleOptionAttrs(): void;
42
+ updateMultipleOptionAttrs(): void;
43
+ setActiveOption(): void;
44
+ setFocusedOption(): void;
45
+ getNextVisibleIndex(direction: any): any;
46
+ selectOption(selectedValue: string): void;
47
+ adjustActiveOptionAndScroll(numToAdd: number): void;
48
+ resetTimer(): void;
49
+ searchAndFocus(key: string): void;
50
+ selectedOptionsUpdated(): void;
51
+ openChanged(newValue: boolean): void;
52
+ delegateFocus(event: FocusEvent): void;
53
+ handleClick(event: MouseEvent): void;
54
+ toggle(): void;
55
+ setDefaultActiveElement(): void;
56
+ setActiveElement(index: number): void;
57
+ handleExternalKeydown(event: KeyboardEvent): void;
58
+ keydownHandler: (event: KeyboardEvent, ignoreSelectionEvents?: boolean) => void;
59
+ focusoutHandler: (event: FocusEvent) => void;
60
+ clickHandler: (event: Event) => void;
61
+ render(): any;
62
+ }
@@ -0,0 +1,30 @@
1
+ import { ComponentInterface } from '../../stencil-public-runtime';
2
+ export declare class Q2Pagination implements ComponentInterface {
3
+ recordType: string;
4
+ perPage: number;
5
+ total: number;
6
+ page: number;
7
+ pages: number;
8
+ recordsOnly: boolean;
9
+ pagesOnly: boolean;
10
+ hostElement: HTMLElement;
11
+ change: any;
12
+ isSmall: boolean;
13
+ inputField: HTMLQ2InputElement;
14
+ containerElement: HTMLElement;
15
+ containerWidth: number;
16
+ resizeObserver: ResizeObserver;
17
+ componentDidLoad(): void;
18
+ disconnectedCallback(): void;
19
+ onHostElementFocus(event: any): void;
20
+ get isFullViewHidden(): boolean;
21
+ get pageWithDefault(): number;
22
+ get perPageWithDefault(): number;
23
+ get totalWithDefault(): number;
24
+ get recordTypeWithDefault(): string;
25
+ get currentRange(): string;
26
+ get totalPages(): number;
27
+ handlePageChange: (page: number) => void;
28
+ checkSize(): void;
29
+ render(): any;
30
+ }
@@ -0,0 +1,39 @@
1
+ import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
+ import { IOptionValue } from '../q2-option-list';
3
+ export declare class Q2Pill implements ComponentInterface {
4
+ disabled: boolean;
5
+ active: boolean;
6
+ open: boolean;
7
+ multiple: boolean;
8
+ label: string;
9
+ value: string;
10
+ theme: 'primary' | 'secondary' | 'tertiary';
11
+ selectedOptions: IOptionValue[];
12
+ hasOptions: boolean;
13
+ hostElement: HTMLElement;
14
+ change: EventEmitter<{
15
+ value: string;
16
+ values: IOptionValue[];
17
+ active: boolean;
18
+ }>;
19
+ scheduledAfterRender: (() => void)[];
20
+ primaryBtn: HTMLButtonElement;
21
+ optionList: HTMLQ2OptionListElement;
22
+ mutationObserver: MutationObserver;
23
+ componentWillLoad(): void;
24
+ componentDidLoad(): void;
25
+ componentDidRender(): void;
26
+ disconnectedCallback(): void;
27
+ get buttonContent(): string;
28
+ determineHasOptions: () => void;
29
+ clearSelectedOptions: () => void;
30
+ delegateFocus(event: FocusEvent): void;
31
+ optionListStateEvent({ detail: { open } }: CustomEvent): void;
32
+ handleClick: (event: MouseEvent) => void;
33
+ handleKeydown: (event: KeyboardEvent) => void;
34
+ handleChange: (event: any) => void;
35
+ handleFocusout: (event: FocusEvent) => void;
36
+ handleWrapperClick: () => void;
37
+ generateIcon(): any;
38
+ render(): any;
39
+ }
@@ -8,16 +8,19 @@ export declare class Q2Radio implements ComponentInterface {
8
8
  name: string;
9
9
  ariaLabel: string;
10
10
  groupDisabled: boolean;
11
+ groupReadonly: boolean;
11
12
  groupTileLayout: boolean;
12
13
  hostElement: HTMLElement;
13
14
  id: string;
14
15
  inputField: HTMLInputElement;
16
+ isLoaded: boolean;
15
17
  change: EventEmitter;
16
18
  componentWillLoad(): void;
17
19
  componentDidLoad(): void;
18
20
  ariaLabelObserver(): void;
21
+ checkedObserver(): void;
19
22
  onHostClick(event: Event): void;
20
23
  delegateFocus(event: FocusEvent): void;
21
- inputChange: (event: Event) => void;
24
+ inputChange: (event: Event) => boolean;
22
25
  render(): any;
23
26
  }