q2-tecton-elements 1.10.5 → 1.10.8

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 (196) hide show
  1. package/dist/cjs/{icons-921779df.js → icons-4595ee47.js} +61 -1
  2. package/dist/cjs/{index-f4153f5a.js → index-a55d3c34.js} +9 -0
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  5. package/dist/cjs/q2-btn_2.cjs.entry.js +10 -6
  6. package/dist/cjs/q2-calendar.cjs.entry.js +2902 -6078
  7. package/dist/cjs/q2-carousel-pane.cjs.entry.js +50 -7
  8. package/dist/cjs/q2-carousel.cjs.entry.js +2719 -6513
  9. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  10. package/dist/cjs/q2-checkbox.cjs.entry.js +10 -2
  11. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  12. package/dist/cjs/q2-dropdown.cjs.entry.js +8 -2
  13. package/dist/cjs/q2-editable-field.cjs.entry.js +26 -11
  14. package/dist/cjs/q2-icon.cjs.entry.js +2 -2
  15. package/dist/cjs/q2-input.cjs.entry.js +9 -7
  16. package/dist/cjs/q2-loading-element.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  18. package/dist/cjs/q2-message.cjs.entry.js +11 -3
  19. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  20. package/dist/cjs/q2-option.cjs.entry.js +3 -34
  21. package/dist/cjs/q2-radio-group.cjs.entry.js +10 -2
  22. package/dist/cjs/q2-radio.cjs.entry.js +10 -2
  23. package/dist/cjs/q2-section.cjs.entry.js +9 -3
  24. package/dist/cjs/q2-select.cjs.entry.js +175 -130
  25. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-stepper.cjs.entry.js +10 -4
  27. package/dist/cjs/q2-tab-container.cjs.entry.js +9 -11
  28. package/dist/cjs/q2-tab-pane.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  30. package/dist/cjs/q2-textarea.cjs.entry.js +8 -4
  31. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  32. package/dist/collection/components/q2-avatar/index.js +1 -1
  33. package/dist/collection/components/q2-avatar/styles.css +63 -61
  34. package/dist/collection/components/q2-btn/index.js +8 -4
  35. package/dist/collection/components/q2-btn/styles.css +96 -96
  36. package/dist/collection/components/q2-calendar/helpers.js +77 -52
  37. package/dist/collection/components/q2-calendar/index.js +248 -196
  38. package/dist/collection/components/q2-calendar/styles.css +63 -84
  39. package/dist/collection/components/q2-calendar/validation.js +100 -166
  40. package/dist/collection/components/q2-carousel/index.js +204 -266
  41. package/dist/collection/components/q2-carousel/styles.css +152 -155
  42. package/dist/collection/components/q2-carousel-pane/index.js +67 -28
  43. package/dist/collection/components/q2-carousel-pane/styles.css +82 -16
  44. package/dist/collection/components/q2-checkbox/index.js +16 -2
  45. package/dist/collection/components/q2-checkbox/styles.css +152 -176
  46. package/dist/collection/components/q2-checkbox-group/index.js +1 -1
  47. package/dist/collection/components/q2-checkbox-group/styles.css +65 -81
  48. package/dist/collection/components/q2-dropdown/index.js +15 -2
  49. package/dist/collection/components/q2-dropdown/styles.css +49 -36
  50. package/dist/collection/components/q2-dropdown-item/index.js +1 -1
  51. package/dist/collection/components/q2-dropdown-item/styles.css +48 -62
  52. package/dist/collection/components/q2-editable-field/index.js +33 -12
  53. package/dist/collection/components/q2-editable-field/styles.css +49 -50
  54. package/dist/collection/components/q2-icon/icons.js +61 -1
  55. package/dist/collection/components/q2-icon/styles.css +29 -29
  56. package/dist/collection/components/q2-input/index.js +9 -7
  57. package/dist/collection/components/q2-input/styles.css +211 -292
  58. package/dist/collection/components/q2-loading/index.js +1 -1
  59. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js +1 -1
  60. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/styles.css +5 -6
  61. package/dist/collection/components/q2-loading/styles.css +130 -136
  62. package/dist/collection/components/q2-loc/index.js +1 -1
  63. package/dist/collection/components/q2-loc/styles.css +30 -31
  64. package/dist/collection/components/q2-message/index.js +18 -3
  65. package/dist/collection/components/q2-message/styles.css +32 -29
  66. package/dist/collection/components/q2-optgroup/index.js +1 -1
  67. package/dist/collection/components/q2-optgroup/styles.css +42 -47
  68. package/dist/collection/components/q2-option/index.js +4 -42
  69. package/dist/collection/components/q2-option/styles.css +29 -29
  70. package/dist/collection/components/q2-radio/index.js +16 -2
  71. package/dist/collection/components/q2-radio/styles.css +29 -29
  72. package/dist/collection/components/q2-radio-group/index.js +16 -2
  73. package/dist/collection/components/q2-radio-group/styles.css +67 -72
  74. package/dist/collection/components/q2-section/index.js +15 -3
  75. package/dist/collection/components/q2-section/styles.css +77 -77
  76. package/dist/collection/components/q2-select/index.js +182 -131
  77. package/dist/collection/components/q2-select/styles.css +33 -34
  78. package/dist/collection/components/q2-stepper/index.js +15 -3
  79. package/dist/collection/components/q2-stepper/styles.css +32 -32
  80. package/dist/collection/components/q2-stepper-pane/styles.css +29 -29
  81. package/dist/collection/components/q2-tab-container/index.js +7 -9
  82. package/dist/collection/components/q2-tab-container/styles.css +29 -29
  83. package/dist/collection/components/q2-tab-pane/index.js +2 -2
  84. package/dist/collection/components/q2-tab-pane/styles.css +34 -36
  85. package/dist/collection/components/q2-textarea/index.js +8 -4
  86. package/dist/collection/components/q2-textarea/styles.css +180 -228
  87. package/dist/collection/components/tecton-tab-pane/index.js +2 -2
  88. package/dist/collection/components/tecton-tab-pane/styles.css +50 -50
  89. package/dist/collection/utils/index.js +7 -0
  90. package/dist/esm/{icons-a3817842.js → icons-3ee662ea.js} +61 -1
  91. package/dist/esm/{index-476b86cc.js → index-ec6660af.js} +8 -1
  92. package/dist/esm/loader.js +1 -1
  93. package/dist/esm/q2-avatar.entry.js +1 -1
  94. package/dist/esm/q2-btn_2.entry.js +10 -6
  95. package/dist/esm/q2-calendar.entry.js +2902 -6078
  96. package/dist/esm/q2-carousel-pane.entry.js +51 -8
  97. package/dist/esm/q2-carousel.entry.js +2720 -6514
  98. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  99. package/dist/esm/q2-checkbox.entry.js +10 -2
  100. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  101. package/dist/esm/q2-dropdown.entry.js +8 -2
  102. package/dist/esm/q2-editable-field.entry.js +26 -11
  103. package/dist/esm/q2-icon.entry.js +2 -2
  104. package/dist/esm/q2-input.entry.js +9 -7
  105. package/dist/esm/q2-loading-element.entry.js +1 -1
  106. package/dist/esm/q2-loc.entry.js +1 -1
  107. package/dist/esm/q2-message.entry.js +11 -3
  108. package/dist/esm/q2-optgroup.entry.js +2 -2
  109. package/dist/esm/q2-option.entry.js +4 -35
  110. package/dist/esm/q2-radio-group.entry.js +10 -2
  111. package/dist/esm/q2-radio.entry.js +10 -2
  112. package/dist/esm/q2-section.entry.js +9 -3
  113. package/dist/esm/q2-select.entry.js +175 -130
  114. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  115. package/dist/esm/q2-stepper.entry.js +10 -4
  116. package/dist/esm/q2-tab-container.entry.js +7 -9
  117. package/dist/esm/q2-tab-pane.entry.js +2 -2
  118. package/dist/esm/q2-tecton-elements.js +1 -1
  119. package/dist/esm/q2-textarea.entry.js +8 -4
  120. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  121. package/dist/q2-tecton-elements/{p-4830affe.entry.js → p-07a5d703.entry.js} +1 -1
  122. package/dist/q2-tecton-elements/{p-84c05db6.entry.js → p-32ad664c.entry.js} +1 -1
  123. package/dist/q2-tecton-elements/p-37aba2a4.js +1 -0
  124. package/dist/q2-tecton-elements/p-4ae9d1f3.entry.js +1 -0
  125. package/dist/q2-tecton-elements/{p-67d86e3c.js → p-4cd00f1a.js} +1 -1
  126. package/dist/q2-tecton-elements/p-52f53e07.entry.js +1 -0
  127. package/dist/q2-tecton-elements/p-5559f126.entry.js +1 -0
  128. package/dist/q2-tecton-elements/p-6702eb4d.entry.js +1 -0
  129. package/dist/q2-tecton-elements/p-750bcd33.entry.js +1 -0
  130. package/dist/q2-tecton-elements/p-78642b7b.entry.js +1 -0
  131. package/dist/q2-tecton-elements/p-7e6fc65d.entry.js +1 -0
  132. package/dist/q2-tecton-elements/p-7eb39c90.entry.js +1 -0
  133. package/dist/q2-tecton-elements/p-81df91a1.entry.js +1 -0
  134. package/dist/q2-tecton-elements/{p-01e00610.entry.js → p-843b1ee9.entry.js} +1 -1
  135. package/dist/q2-tecton-elements/p-8509b171.entry.js +1 -0
  136. package/dist/q2-tecton-elements/p-8ea2c4f7.entry.js +1 -0
  137. package/dist/q2-tecton-elements/{p-d1d040ef.entry.js → p-95a73559.entry.js} +1 -1
  138. package/dist/q2-tecton-elements/p-96c9eb75.entry.js +1 -0
  139. package/dist/q2-tecton-elements/p-9b50c3c3.entry.js +1 -0
  140. package/dist/q2-tecton-elements/{p-a9bdd814.entry.js → p-a6f8d09a.entry.js} +1 -1
  141. package/dist/q2-tecton-elements/p-ab977515.entry.js +1 -0
  142. package/dist/q2-tecton-elements/{p-9314863f.entry.js → p-bb2e110a.entry.js} +1 -1
  143. package/dist/q2-tecton-elements/p-bbacb804.entry.js +1 -0
  144. package/dist/q2-tecton-elements/p-c555f1de.entry.js +1 -0
  145. package/dist/q2-tecton-elements/p-c5e55b9f.entry.js +1 -0
  146. package/dist/q2-tecton-elements/{p-4229b057.entry.js → p-df182f61.entry.js} +1 -1
  147. package/dist/q2-tecton-elements/p-fa6eea5c.entry.js +1 -0
  148. package/dist/q2-tecton-elements/{p-61c0e5fd.entry.js → p-fbf7c5e6.entry.js} +1 -1
  149. package/dist/q2-tecton-elements/p-fc804ebd.entry.js +1 -0
  150. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  151. package/dist/test/helpers.js +4 -0
  152. package/dist/types/components/q2-btn/index.d.ts +1 -0
  153. package/dist/types/components/q2-calendar/helpers.d.ts +6 -6
  154. package/dist/types/components/q2-calendar/index.d.ts +16 -17
  155. package/dist/types/components/q2-calendar/types.d.ts +9 -26
  156. package/dist/types/components/q2-calendar/validation.d.ts +27 -12
  157. package/dist/types/components/q2-carousel/index.d.ts +15 -45
  158. package/dist/types/components/q2-carousel-pane/index.d.ts +5 -2
  159. package/dist/types/components/q2-checkbox/index.d.ts +2 -0
  160. package/dist/types/components/q2-dropdown/index.d.ts +1 -0
  161. package/dist/types/components/q2-editable-field/index.d.ts +5 -1
  162. package/dist/types/components/q2-input/index.d.ts +1 -1
  163. package/dist/types/components/q2-message/index.d.ts +2 -0
  164. package/dist/types/components/q2-option/index.d.ts +0 -4
  165. package/dist/types/components/q2-radio/index.d.ts +3 -0
  166. package/dist/types/components/q2-radio-group/index.d.ts +1 -0
  167. package/dist/types/components/q2-section/index.d.ts +1 -0
  168. package/dist/types/components/q2-select/index.d.ts +10 -7
  169. package/dist/types/components/q2-stepper/index.d.ts +2 -1
  170. package/dist/types/components/q2-tab-container/index.d.ts +1 -1
  171. package/dist/types/components/q2-textarea/index.d.ts +2 -1
  172. package/dist/types/components.d.ts +3 -2
  173. package/dist/types/util.d.ts +1 -0
  174. package/dist/types/utils/index.d.ts +2 -0
  175. package/dist/types/workspace/workspace/tecton-production_release_1.10.x/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +2 -1
  176. package/package.json +4 -5
  177. package/dist/q2-tecton-elements/p-1fc4e6f6.entry.js +0 -1
  178. package/dist/q2-tecton-elements/p-25a5f691.js +0 -1
  179. package/dist/q2-tecton-elements/p-27353237.entry.js +0 -1
  180. package/dist/q2-tecton-elements/p-3e100450.entry.js +0 -1
  181. package/dist/q2-tecton-elements/p-428d15fd.entry.js +0 -1
  182. package/dist/q2-tecton-elements/p-48fc317d.entry.js +0 -1
  183. package/dist/q2-tecton-elements/p-5222b792.entry.js +0 -1
  184. package/dist/q2-tecton-elements/p-5469c1e9.entry.js +0 -1
  185. package/dist/q2-tecton-elements/p-74c1a311.entry.js +0 -1
  186. package/dist/q2-tecton-elements/p-784af485.entry.js +0 -1
  187. package/dist/q2-tecton-elements/p-7c99a58b.entry.js +0 -1
  188. package/dist/q2-tecton-elements/p-7f74b629.entry.js +0 -1
  189. package/dist/q2-tecton-elements/p-831a461f.entry.js +0 -1
  190. package/dist/q2-tecton-elements/p-84c52d3b.entry.js +0 -9
  191. package/dist/q2-tecton-elements/p-997e4c7e.entry.js +0 -1
  192. package/dist/q2-tecton-elements/p-a224bc9c.entry.js +0 -1
  193. package/dist/q2-tecton-elements/p-d893fcf2.entry.js +0 -1
  194. package/dist/q2-tecton-elements/p-da7cca07.entry.js +0 -1
  195. package/dist/q2-tecton-elements/p-f17761da.entry.js +0 -1
  196. package/dist/q2-tecton-elements/p-f5e074f8.entry.js +0 -1
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-be8376c0.js';
2
- import { c as createGuid, l as loc } from './index-476b86cc.js';
2
+ import { c as createGuid, l as loc } from './index-ec6660af.js';
3
3
 
4
- const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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{margin-top:var(--tct-scale-2, var(--app-scale-2, 10px))}fieldset{padding:var(--tct-input-error-padding, 0);margin:0;border:0}fieldset.has-error{border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #c30000));border-width:1px;border-style:solid;border-radius:var(--tct-border-radius-1, var(--app-border-radius-1, 2px));position:relative}fieldset.has-error .error-icon-container{top:8px;right:8px;position:absolute;width:40%;text-align:right;background:linear-gradient(\n to right,\n var(--tct-checkbox-group-error-gradient-start, var(--t-base-a0, rgba(255, 255, 255, 0))),\n var(--tct-checkbox-group-error-gradient-end, var(--t-base, rgba(255, 255, 255)))\n )}fieldset.has-error legend+div.error-icon-container.no-label{top:28px}.group-legend{font-weight:600}legend.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0}.optional-tag{margin-left:var(\n --tct-input-label-optional-margin-left,\n var(--tct-scale-1, var(--app-scale-1, 5px))\n );color:var(\n --tct-input-label-optional-font-color,\n var(\n --tct-a11y-color,\n var(\n --t-a11y-gray-color,\n var(--tct-gray-7, var(--t-gray-7, var(--tct-gray-d1, var(--app-gray-d1, #666666))))\n )\n )\n );font-size:var(--tct-input-label-optional-font-size, 12px);font-weight:var(--tct-input-label-optional-font-weight, 400)}.flexed{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.flexed.left{justify-content:left}";
4
+ const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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{margin-top:var(--tct-scale-2, var(--app-scale-2, 10px))}fieldset{padding:var(--tct-input-error-padding, 0);margin:0;border:0}fieldset.has-error{border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #c30000));border-width:1px;border-style:solid;border-radius:var(--tct-border-radius-1, var(--app-border-radius-1, 2px));position:relative}fieldset.has-error .error-icon-container{top:8px;right:8px;position:absolute;width:40%;text-align:right;background:linear-gradient(to right, var(--tct-checkbox-group-error-gradient-start, var(--t-base-a0, rgba(255, 255, 255, 0))), var(--tct-checkbox-group-error-gradient-end, var(--t-base, white)))}fieldset.has-error legend+div.error-icon-container.no-label{top:28px}.group-legend{font-weight:600}legend.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0}.optional-tag{margin-left:var(--tct-input-label-optional-margin-left, var(--tct-scale-1, var(--app-scale-1, 5px)));color:var(--tct-input-label-optional-font-color, var(--tct-a11y-color, var(--t-a11y-gray-color, var(--tct-gray-7, var(--t-gray-7, var(--tct-gray-d1, var(--app-gray-d1, #666666)))))));font-size:var(--tct-input-label-optional-font-size, 12px);font-weight:var(--tct-input-label-optional-font-weight, 400)}.flexed{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.flexed.left{justify-content:left}";
5
5
 
6
6
  const Q2CheckboxGroup = class {
7
7
  constructor(hostRef) {
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-be8376c0.js';
2
- import { c as createGuid, h as handleAriaLabel, l as loc } from './index-476b86cc.js';
2
+ import { c as createGuid, h as handleAriaLabel, o as overrideFocus, i as isEventFromElement, l as loc } from './index-ec6660af.js';
3
3
 
4
- const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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;padding:var(--tct-checkbox-vertical-padding, var(--tct-scale-2, var(--app-scale-2, 10px))) 0}label{display:flex;align-items:center;cursor:pointer;--comp-checkbox-outer-stroke-color:var(\n --tct-checkbox-outer-stroke-color,\n var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))\n );--comp-checkbox-outer-fill-color:var(\n --tct-checkbox-outer-fill-color,\n var(--tct-white, var(--app-white, #ffffff))\n );--comp-checkbox-checked-color:var(\n --tct-checkbox-check-stroke-color,\n var(\n --t-checkbox-fill,\n var(--tct-gray-5, var(--t-gray-5, var(--tct-gray-d2, var(--app-gray-d2, #404040))))\n )\n )}input:disabled+label{opacity:var(\n --tct-checkbox-disabled-opacity,\n var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))\n )}.checkbox-icon{height:var(--tct-checkbox-size, 20px);width:var(--tct-checkbox-size, 20px);border-radius:var(\n --tct-checkbox-outer-border-radius,\n var(--tct-border-radius-1, var(--app-border-radius-1, 3px))\n );stroke:var(--comp-checkbox-outer-stroke-color);color:var(--comp-checkbox-outer-stroke-color);--t-icon-stroke-primary:var(--comp-checkbox-outer-stroke-color);stroke-width:var(--tct-checkbox-outer-stroke-width, 2);fill:var(--comp-checkbox-outer-fill-color);flex-shrink:0}input:focus+label .checkbox-icon{box-shadow:var(--tct-global-focus, var(--const-global-focus, 0 0 0 2px #33b4ff))}.checkbox-fill{stroke:var(--comp-checkbox-checked-color)}input:checked+label .checkbox-icon{fill:var(--tct-checkbox-checked-outer-fill-color, var(--comp-checkbox-outer-fill-color));stroke:var(--tct-checkbox-checked-outer-stroke-color, var(--comp-checkbox-outer-stroke-color))}input:focus+label .checkbox-icon{stroke:var(--tct-checkbox-focused-outer-stroke-color, var(--comp-checkbox-checked-color))}.checked-fill{stroke-width:var(--tct-checkbox-check-stroke-width, 2.5);stroke-linecap:round;stroke-linejoin:round}.indeterminate-fill{stroke-width:var(--tct-checkbox-indeterminate-stroke-width, 3.5)}.q2-checkbox-label-content{font-weight:var(--tct-checkbox-font-weight, 400);flex:1 1 auto;width:calc(\n 100% - var(--tct-checkbox-size, 20px) - var(--tct-scale-2, var(--app-scale-2, 10px))\n )}input:checked+label .q2-checkbox-label-content{font-weight:var(--tct-checkbox-selected-font-weight, 600);letter-spacing:var(--tct-checkbox-selected-letter-spacing, 0.25)}:host([type='favorite']){--scoped-checkbox-favorite-stroke-color:var(\n --tct-checkbox-favorite-stroke-color,\n var(--t-textA, rgba(77, 77, 77, 0.77))\n );--scoped-checkbox-favorite-fill-color:var(\n --tct-checkbox-favorite-fill-color,\n var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))\n )}:host([type='favorite']) .checkbox-icon{--tct-icon-stroke-width:var(--tct-checkbox-favorite-stroke-width, 1);--tct-icon-stroke-primary:var(--scoped-checkbox-favorite-stroke-color);width:var(--tct-checkbox-size, 20px);height:var(--tct-checkbox-size, 20px);transition:fill var(--tct-tween-2, var(--app-tween-2, 0.4s ease)),\n color var(--tct-tween-2, var(--app-tween-2, 0.4s ease)),\n stroke var(--tct-tween-2, var(--app-tween-2, 0.4s ease))}:host([type='favorite']:focus-within) input+label .checkbox-icon,:host([type='favorite']:hover) input+label .checkbox-icon{--tct-icon-stroke-primary:var(--scoped-checkbox-favorite-fill-color);--tct-icon-stroke-width:var(--tct-checkbox-favorite-hover-stroke-width, 2)}:host([type='favorite']) input:checked+label .checkbox-icon{--tct-icon-stroke-primary:var(--scoped-checkbox-favorite-fill-color);fill:var(--scoped-checkbox-favorite-fill-color);transition:fill var(--tct-tween-1, var(--app-tween-1, 0.2s ease)),\n color var(--tct-tween-1, var(--app-tween-1, 0.2s ease)),\n stroke var(--tct-tween-1, var(--app-tween-1, 0.2s ease))}:host([type='favorite']:focus-within) input:checked+label .checkbox-icon,:host([type='favorite']:hover) input:checked+label .checkbox-icon{--tct-icon-stroke-primary:var(--scoped-checkbox-favorite-stroke-color)}:host([alignment='right']) label,:host([type='toggle']:not([alignment='left'])) label{flex-flow:row-reverse}.checkbox-icon,:host([type='toggle'][alignment='left']) .toggle-svg{margin-right:var(--tct-scale-2, var(--app-scale-2, 10px));margin-left:0}:host([alignment='right']) .checkbox-icon,.toggle-svg{margin-right:0;margin-left:var(--tct-scale-2, var(--app-scale-2, 10px))}:host([type='toggle']) .toggle-svg{height:30px;width:46px;position:relative}:host([type='toggle']) .toggle-track,:host([type='toggle']) .toggle-indicator{position:absolute;top:50%;transform:translateY(-50%)}:host([type='toggle']) .toggle-track{fill:var(\n --tct-checkbox-toggle-track-color,\n var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))\n );height:14px;width:46px}:host([type='toggle']) input:checked+label .toggle-track{fill:var(--tct-checkbox-toggle-checked-color, var(--comp-checkbox-checked-color));opacity:0.5}:host([type='toggle']) .toggle-indicator{transition:left var(--tct-tween-1, var(--app-tween-1, 0.2s ease));height:30px;width:30px;left:0;border-radius:50%}:host([type='toggle']) input:checked+label .toggle-indicator{left:21px}:host([type='toggle']) .toggle-circle{fill:var(\n --tct-checkbox-toggle-circle-color,\n var(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999))))\n )}:host([type='toggle']) input:checked+label .toggle-circle{fill:var(--tct-checkbox-toggle-checked-color, var(--comp-checkbox-checked-color))}:host([type='toggle']) input:checked+label .off,:host([type='toggle']) input:not(:checked)+label .on{opacity:0}:host([type='toggle']) input:focus+label .toggle-circle{stroke:var(--tct-checkbox-toggle-checked-color, var(--comp-checkbox-checked-color));stroke-width:10px;stroke-opacity:0.5}:host([type='toggle']) input:not(:checked):focus+label .toggle-circle{stroke:var(\n --tct-checkbox-toggle-circle-color,\n var(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999))))\n )}:host([type='toggle']) .checked-fill{stroke:var(--tct-checkbox-toggle-icon-stroke, var(--tct-white, var(--app-white, #ffffff)));transition:opacity var(--tct-tween-1, var(--app-tween-1, 0.2s ease))}:host([type='toggle']) input:checked+label .checked-fill{stroke:var(\n --tct-checkbox-toggle-checked-icon-stroke,\n var(--t-checkbox-text, var(--tct-white, var(--app-white, #ffffff)))\n )}";
4
+ const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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;padding:var(--tct-checkbox-vertical-padding, var(--tct-scale-2, var(--app-scale-2, 10px))) 0}label{display:flex;align-items:center;cursor:pointer;--comp-checkbox-outer-stroke-color:var(\n --tct-checkbox-outer-stroke-color,\n var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))\n );--comp-checkbox-outer-fill-color:var(\n --tct-checkbox-outer-fill-color,\n var(--tct-white, var(--app-white, #ffffff))\n );--comp-checkbox-checked-color:var(\n --tct-checkbox-check-stroke-color,\n var(\n --t-checkbox-fill,\n var(--tct-gray-5, var(--t-gray-5, var(--tct-gray-d2, var(--app-gray-d2, #404040))))\n )\n )}input:disabled+label{opacity:var(--tct-checkbox-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4)))}.checkbox-icon{height:var(--tct-checkbox-size, 20px);width:var(--tct-checkbox-size, 20px);border-radius:var(--tct-checkbox-outer-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px)));stroke:var(--comp-checkbox-outer-stroke-color);color:var(--comp-checkbox-outer-stroke-color);--t-icon-stroke-primary:var(--comp-checkbox-outer-stroke-color);stroke-width:var(--tct-checkbox-outer-stroke-width, 2);fill:var(--comp-checkbox-outer-fill-color);flex-shrink:0}input:focus+label .checkbox-icon{box-shadow:var(--tct-global-focus, var(--const-global-focus, 0 0 0 2px #33b4ff))}.checkbox-fill{stroke:var(--comp-checkbox-checked-color)}input:checked+label .checkbox-icon{fill:var(--tct-checkbox-checked-outer-fill-color, var(--comp-checkbox-outer-fill-color));stroke:var(--tct-checkbox-checked-outer-stroke-color, var(--comp-checkbox-outer-stroke-color))}input:focus+label .checkbox-icon{stroke:var(--tct-checkbox-focused-outer-stroke-color, var(--comp-checkbox-checked-color))}.checked-fill{stroke-width:var(--tct-checkbox-check-stroke-width, 2.5);stroke-linecap:round;stroke-linejoin:round}.indeterminate-fill{stroke-width:var(--tct-checkbox-indeterminate-stroke-width, 3.5)}.q2-checkbox-label-content{font-weight:var(--tct-checkbox-font-weight, 400);flex:1 1 auto;width:calc( 100% - var(--tct-checkbox-size, 20px) - var(--tct-scale-2, var(--app-scale-2, 10px)) )}input:checked+label .q2-checkbox-label-content{font-weight:var(--tct-checkbox-selected-font-weight, 600);letter-spacing:var(--tct-checkbox-selected-letter-spacing, 0.25)}:host([type=favorite]){--scoped-checkbox-favorite-stroke-color:var(\n --tct-checkbox-favorite-stroke-color,\n var(--t-textA, rgba(77, 77, 77, 0.77))\n );--scoped-checkbox-favorite-fill-color:var(\n --tct-checkbox-favorite-fill-color,\n var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))\n )}:host([type=favorite]) .checkbox-icon{--tct-icon-stroke-width:var(--tct-checkbox-favorite-stroke-width, 1);--tct-icon-stroke-primary:var(--scoped-checkbox-favorite-stroke-color);width:var(--tct-checkbox-size, 20px);height:var(--tct-checkbox-size, 20px);transition:fill var(--tct-tween-2, var(--app-tween-2, 0.4s ease)), color var(--tct-tween-2, var(--app-tween-2, 0.4s ease)), stroke var(--tct-tween-2, var(--app-tween-2, 0.4s ease))}:host([type=favorite]:focus-within) input+label .checkbox-icon,:host([type=favorite]:hover) input+label .checkbox-icon{--tct-icon-stroke-primary:var(--scoped-checkbox-favorite-fill-color);--tct-icon-stroke-width:var(--tct-checkbox-favorite-hover-stroke-width, 2)}:host([type=favorite]) input:checked+label .checkbox-icon{--tct-icon-stroke-primary:var(--scoped-checkbox-favorite-fill-color);fill:var(--scoped-checkbox-favorite-fill-color);transition:fill var(--tct-tween-1, var(--app-tween-1, 0.2s ease)), color var(--tct-tween-1, var(--app-tween-1, 0.2s ease)), stroke var(--tct-tween-1, var(--app-tween-1, 0.2s ease))}:host([type=favorite]:focus-within) input:checked+label .checkbox-icon,:host([type=favorite]:hover) input:checked+label .checkbox-icon{--tct-icon-stroke-primary:var(--scoped-checkbox-favorite-stroke-color)}:host([alignment=right]) label,:host([type=toggle]:not([alignment=left])) label{flex-flow:row-reverse}.checkbox-icon,:host([type=toggle][alignment=left]) .toggle-svg{margin-right:var(--tct-scale-2, var(--app-scale-2, 10px));margin-left:0}:host([alignment=right]) .checkbox-icon,.toggle-svg{margin-right:0;margin-left:var(--tct-scale-2, var(--app-scale-2, 10px))}:host([type=toggle]) .toggle-svg{height:30px;width:46px;position:relative}:host([type=toggle]) .toggle-track,:host([type=toggle]) .toggle-indicator{position:absolute;top:50%;transform:translateY(-50%)}:host([type=toggle]) .toggle-track{fill:var(--tct-checkbox-toggle-track-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc)))));height:14px;width:46px}:host([type=toggle]) input:checked+label .toggle-track{fill:var(--tct-checkbox-toggle-checked-color, var(--comp-checkbox-checked-color));opacity:0.5}:host([type=toggle]) .toggle-indicator{transition:left var(--tct-tween-1, var(--app-tween-1, 0.2s ease));height:30px;width:30px;left:0;border-radius:50%}:host([type=toggle]) input:checked+label .toggle-indicator{left:21px}:host([type=toggle]) .toggle-circle{fill:var(--tct-checkbox-toggle-circle-color, var(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999)))))}:host([type=toggle]) input:checked+label .toggle-circle{fill:var(--tct-checkbox-toggle-checked-color, var(--comp-checkbox-checked-color))}:host([type=toggle]) input:checked+label .off,:host([type=toggle]) input:not(:checked)+label .on{opacity:0}:host([type=toggle]) input:focus+label .toggle-circle{stroke:var(--tct-checkbox-toggle-checked-color, var(--comp-checkbox-checked-color));stroke-width:10px;stroke-opacity:0.5}:host([type=toggle]) input:not(:checked):focus+label .toggle-circle{stroke:var(--tct-checkbox-toggle-circle-color, var(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999)))))}:host([type=toggle]) .checked-fill{stroke:var(--tct-checkbox-toggle-icon-stroke, var(--tct-white, var(--app-white, #ffffff)));transition:opacity var(--tct-tween-1, var(--app-tween-1, 0.2s ease))}:host([type=toggle]) input:checked+label .checked-fill{stroke:var(--tct-checkbox-toggle-checked-icon-stroke, var(--t-checkbox-text, var(--tct-white, var(--app-white, #ffffff))))}";
5
5
 
6
6
  const Q2Checkbox = class {
7
7
  constructor(hostRef) {
@@ -22,12 +22,20 @@ const Q2Checkbox = class {
22
22
  componentWillLoad() {
23
23
  handleAriaLabel(this);
24
24
  }
25
+ componentDidLoad() {
26
+ overrideFocus(this.hostElement);
27
+ }
25
28
  //////// Host Element Events ////////
26
29
  defaultChangeHandler(event) {
27
30
  if (event.target === this.hostElement && !this.hostElement.onchange && !!event.detail) {
28
31
  this.checked = event.detail.checked;
29
32
  }
30
33
  }
34
+ delegateFocus(event) {
35
+ if (!isEventFromElement(event, this.hostElement))
36
+ return;
37
+ this.hostElement.shadowRoot.querySelector('input').focus();
38
+ }
31
39
  ////////// OBSERVERS //////////
32
40
  ariaLabelObserver() {
33
41
  handleAriaLabel(this);
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-be8376c0.js';
2
- import { h as handleAriaLabel, l as loc } from './index-476b86cc.js';
2
+ import { h as handleAriaLabel, l as loc } from './index-ec6660af.js';
3
3
 
4
- const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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}.dropdown-separator{margin:0 var(--tct-scale-1, var(--app-scale-1, 5px));border-bottom:1px solid\n var(\n --tct-dropdown-item-separator-color,\n var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))\n )}.dropdown-item-wrapper{display:flex}.dropdown-item{min-height:44px;flex:1 1 100%;padding:var(--tct-dropdown-item-padding, 2px)}.dropdown-item-content{padding:12px var(--tct-scale-3, var(--app-scale-3, 15px));text-align:left;background-color:var(\n --tct-dropdown-item-bg,\n var(--tct-white, var(--t-base, var(--app-white, #ffffff)))\n );color:var(--tct-dropdown-item-font-color, inherit);transition:background-color var(--tct-tween-1, var(--app-tween-1, 0.2s ease));overflow:hidden;text-overflow:ellipsis;flex:1}:host(:not([disabled])) .dropdown-item-content:hover,:host(:not([disabled])) .dropdown-item:focus-within .dropdown-item-content{background-color:var(\n --tct-dropdown-item-selected-bg,\n var(\n --tct-gray-14,\n var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, var(--t-base, #f2f2f2))))\n )\n );color:var(--tct-dropdown-item-selected-font-color, inherit)}.remove-dropdown-item{flex:0 0 44px;margin:2px}";
4
+ const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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}.dropdown-separator{margin:0 var(--tct-scale-1, var(--app-scale-1, 5px));border-bottom:1px solid var(--tct-dropdown-item-separator-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc)))))}.dropdown-item-wrapper{display:flex}.dropdown-item{min-height:44px;flex:1 1 100%;padding:var(--tct-dropdown-item-padding, 2px)}.dropdown-item-content{padding:12px var(--tct-scale-3, var(--app-scale-3, 15px));text-align:left;background-color:var(--tct-dropdown-item-bg, var(--tct-white, var(--t-base, var(--app-white, #ffffff))));color:var(--tct-dropdown-item-font-color, inherit);transition:background-color var(--tct-tween-1, var(--app-tween-1, 0.2s ease));overflow:hidden;text-overflow:ellipsis;flex:1}:host(:not([disabled])) .dropdown-item-content:hover,:host(:not([disabled])) .dropdown-item:focus-within .dropdown-item-content{background-color:var(--tct-dropdown-item-selected-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, var(--t-base, #f2f2f2))))));color:var(--tct-dropdown-item-selected-font-color, inherit)}.remove-dropdown-item{flex:0 0 44px;margin:2px}";
5
5
 
6
6
  const Q2DropdownItem = class {
7
7
  constructor(hostRef) {
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h, F as Fragment, g as getElement } from './index-be8376c0.js';
2
- import { s as setPopProperties, h as handleAriaLabel, l as loc } from './index-476b86cc.js';
2
+ import { s as setPopProperties, h as handleAriaLabel, i as isEventFromElement, o as overrideFocus, l as loc } from './index-ec6660af.js';
3
3
 
4
- const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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}.q2-element-dropdown{display:none;position:absolute;background-color:var(--app-white);color:var(--t-font-color);left:0;width:100%;z-index:100;margin-top:1px;box-shadow:var(--app-shadow-1);height:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity var(--app-tween-1);border-radius:var(--tct-dropdown-element-br, 0);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--app-scale-1x, 5px));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--app-border-radius-1, 3px));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-a11y-gray-color, #747474));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}.q2-element-dropdown::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.q2-element-dropdown::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.q2-element-dropdown::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}.q2-element-dropdown.sizable{display:block;height:auto}.dropdown-open .q2-element-dropdown{display:block;height:auto;overflow:auto;opacity:1;visibility:visible;margin-bottom:var(--app-scale-2)}:host([alignment=right]) .q2-element-dropdown{left:auto;right:0}:host{display:inline-flex}.dropdown-container{position:relative;display:block}.dropdown-button-content{display:flex;align-items:center}.dropdown-button.unstyled .dropdown-button-content{padding:var(--tct-scale-2, var(--app-scale-2, 10px)) var(--tct-scale-1, var(--app-scale-1, 5px))}.q2-element-dropdown{width:var(--tct-user-dropdown-width, 175px)}.q2-element-dropdown.dropup{bottom:40px}";
4
+ const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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}.q2-element-dropdown{display:none;position:absolute;background-color:var(--app-white);color:var(--t-font-color);left:0;width:100%;z-index:100;margin-top:1px;box-shadow:var(--app-shadow-1);height:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity var(--app-tween-1);border-radius:var(--tct-dropdown-border-radius, --t-dropdown-border-radius, 0);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 3px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}.q2-element-dropdown::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.q2-element-dropdown::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.q2-element-dropdown::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}.q2-element-dropdown.sizable{display:block;height:auto}.dropdown-open .q2-element-dropdown{display:block;height:auto;overflow:auto;opacity:1;visibility:visible}:host([alignment=right]) .q2-element-dropdown{left:auto;right:0}:host{display:inline-flex}.dropdown-container{position:relative;display:block}.dropdown-button-content{display:flex;align-items:center}.dropdown-button.unstyled .dropdown-button-content{padding:var(--tct-scale-2, var(--app-scale-2, 10px)) var(--tct-scale-1, var(--app-scale-1, 5px))}.q2-element-dropdown{width:var(--tct-dropdown-width, var(--t-dropdown-width, 175px))}.q2-element-dropdown.dropup{bottom:var(--tct-btn-icon-height, var(--t-btn-icon-height, 44px))}q2-btn[color=primary]~.q2-element-dropdown.dropup,q2-btn[intent=workflow-primary]~.q2-element-dropdown.dropup{bottom:calc( var-list(var-prefixer(btn-icon-height), 44px) + var-list(var-prefixer(btn-primary-border-width), 0) )}q2-btn[color=secondary]~.q2-element-dropdown.dropup,q2-btn[intent=workflow-secondary]~.q2-element-dropdown.dropup{bottom:calc( var-list(var-prefixer(btn-icon-height), 44px) + var-list(var-prefixer(btn-secondary-border-width), 0) )}q2-btn[intent=neutral]~.q2-element-dropdown.dropup{bottom:calc( var-list(var-prefixer(btn-icon-height), 44px) + var-list(var-prefixer(btn-neutral-border-width), 0) )}";
5
5
 
6
6
  const Q2Dropdown = class {
7
7
  constructor(hostRef) {
@@ -209,12 +209,18 @@ const Q2Dropdown = class {
209
209
  resolvedTypeHandler() {
210
210
  this.orchestrateResolvedMenuItems();
211
211
  }
212
+ delegateFocus(event) {
213
+ if (!isEventFromElement(event, this.hostElement))
214
+ return;
215
+ this.controlElement.shadowRoot.querySelector('button').focus();
216
+ }
212
217
  ///// Lifecycle Hooks ////////
213
218
  componentWillLoad() {
214
219
  handleAriaLabel(this);
215
220
  }
216
221
  componentDidLoad() {
217
222
  this.orchestrateResolvedMenuItems();
223
+ overrideFocus(this.hostElement);
218
224
  }
219
225
  componentDidRender() {
220
226
  setTimeout(() => {
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-be8376c0.js';
2
- import { l as loc, h as handleAriaLabel } from './index-476b86cc.js';
2
+ import { l as loc, h as handleAriaLabel, o as overrideFocus, i as isEventFromElement } from './index-ec6660af.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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:inline-block;max-width:100%}.q2-editable-field-wrapper:not([hidden]){display:flex}.q2-editable-field-wrapper.editing{align-items:flex-end}q2-input,.text-wrapper{margin:0 var(--tct-scale-2, var(--app-scale-2, 10px)) 0 0}q2-input{flex:1 0 auto;min-width:170px}.text-wrapper{flex:0 auto;align-self:center;display:inline-block}:host([truncated]) .text-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}q2-btn{flex:0 0 44px}dl{margin:var(--tct-scale-0, var(--app-scale-0, 0))}dt{font-weight:600}dd{margin-left:var(--tct-scale-0, var(--app-scale-0, 0));display:flex;align-items:center}";
5
5
 
@@ -48,11 +48,11 @@ const Q2EditableField = class {
48
48
  });
49
49
  };
50
50
  this.editClick = (event) => {
51
- event.stopPropagation();
51
+ event === null || event === void 0 ? void 0 : event.stopPropagation();
52
52
  this.change.emit({ editing: true, name: 'edit' });
53
53
  };
54
54
  this.cancelClick = (event) => {
55
- event && event.stopPropagation();
55
+ event === null || event === void 0 ? void 0 : event.stopPropagation();
56
56
  this.change.emit({ editing: false, name: 'cancel' });
57
57
  };
58
58
  }
@@ -67,6 +67,9 @@ const Q2EditableField = class {
67
67
  this.scheduledAfterRender.forEach(fn => fn());
68
68
  this.scheduledAfterRender = [];
69
69
  }
70
+ componentDidLoad() {
71
+ overrideFocus(this.hostElement);
72
+ }
70
73
  //////// OBSERVERS //////////
71
74
  ariaLabelObserver() {
72
75
  handleAriaLabel(this);
@@ -95,19 +98,31 @@ const Q2EditableField = class {
95
98
  return `q2-editable-field-wrapper ${this.editing ? 'editing' : ''}`;
96
99
  }
97
100
  ///////// HOST ELEMENT EVENTS //////
98
- onHostElementChange(e) {
99
- if (event.target === this.hostElement && !this.hostElement.onchange) {
100
- if (e.detail.name === 'save') {
101
- this.value = e.detail.value;
102
- }
103
- this.editing = e.detail.editing;
101
+ onHostElementChange(event) {
102
+ if (!isEventFromElement(event, this.hostElement) || this.hostElement.onchange)
103
+ return;
104
+ switch (event.detail.name) {
105
+ case 'save':
106
+ this.value = event.detail.value;
107
+ break;
108
+ case 'cancel':
109
+ this.q2InputElement.value = this.value;
110
+ break;
104
111
  }
112
+ this.editing = event.detail.editing;
113
+ }
114
+ delegateFocus(event) {
115
+ if (!isEventFromElement(event, this.hostElement))
116
+ return;
117
+ this.hostElement.shadowRoot
118
+ .querySelector(this.editing ? 'q2-input' : 'q2-btn.begin-edit')
119
+ .focus();
105
120
  }
106
121
  render() {
107
122
  return (h("div", null, this.generateEditStateDOM(), this.generateReadStateDOM()));
108
123
  }
109
124
  generateEditStateDOM() {
110
- return (h("div", { class: this.wrapperClass, hidden: !this.editing }, h("q2-input", { label: this.locLabel, hideLabel: this.hideLabel, value: this.value, hints: (Array.isArray(this.hints) && this.hints.map(str => loc(str))) || undefined, errors: (Array.isArray(this.errors) && this.errors.map(str => loc(str))) ||
125
+ return (h("div", { class: this.wrapperClass, hidden: !this.editing }, h("q2-input", { ref: el => (this.q2InputElement = el), label: this.locLabel, hideLabel: this.hideLabel, value: this.value, hints: (Array.isArray(this.hints) && this.hints.map(str => loc(str))) || undefined, errors: (Array.isArray(this.errors) && this.errors.map(str => loc(str))) ||
111
126
  undefined, type: this.type, formatModifier: this.formatModifier, maxlength: this.maxlength, "test-id": "editableInput", onInput: this.inputInput, onChange: this.inputChange, onKeyDown: this.inputKeyDown, onClick: this.inputClick }), h("q2-btn", { class: "cancel-edit", label: `${loc('tecton.element.editableField.cancel')} ${this.locLabel}`, "hide-label": true, "test-id": "cancelButton", onClick: this.cancelClick }, h("q2-icon", { type: "close" })), h("q2-btn", { class: "save-edit", label: `${loc('tecton.element.editableField.save')} ${this.locLabel}`, "hide-label": true, "test-id": "saveButton", onClick: this.saveClick }, h("q2-icon", { type: "checkmark" }))));
112
127
  }
113
128
  generateReadStateDOM() {
@@ -117,7 +132,7 @@ const Q2EditableField = class {
117
132
  return (h("div", { class: this.wrapperClass, hidden: this.editing }, h("div", { class: "text-wrapper" }, this.value), this.generateEditBtn()));
118
133
  }
119
134
  generateEditBtn() {
120
- return (h("q2-btn", { class: "begin-edit", label: `${loc('tecton.element.editableField.edit')} ${this.locLabel}`, "hide-label": true, "test-id": "editButton", onClick: this.editClick }, h("q2-icon", { type: "edit" })));
135
+ return (h("q2-btn", { ref: el => (this.q2EditBtnElement = el), class: "begin-edit", label: `${loc('tecton.element.editableField.edit')} ${this.locLabel}`, "hide-label": true, "test-id": "editButton", onClick: this.editClick }, h("q2-icon", { type: "edit" })));
121
136
  }
122
137
  get hostElement() { return getElement(this); }
123
138
  static get watchers() { return {
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-be8376c0.js';
2
- import { c as createGuid } from './index-476b86cc.js';
3
- import { i as icons } from './icons-a3817842.js';
2
+ import { c as createGuid } from './index-ec6660af.js';
3
+ import { i as icons } from './icons-3ee662ea.js';
4
4
 
5
5
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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:inline-block;height:var(--tct-icon-size, 24px);width:var(--tct-icon-size, 24px);position:relative;fill:none}svg{display:block;position:absolute;top:0;left:0;stroke-width:var(--tct-icon-stroke-width, var(--t-icon-stroke-width, 1.5));stroke-linecap:var(--tct-icon-cap, var(--t-icon-cap, round));stroke-linejoin:var(--tct-icon-cap, var(--t-icon-cap, round))}.stroke-primary{stroke:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, var(--t-text, currentColor)))}.stroke-secondary{stroke:var(--tct-icon-stroke-secondary, var(--t-icon-stroke-secondary, var(--t-text, currentColor)))}.fill-primary{fill:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, var(--t-text, currentColor)))}.filled{fill:var(--tct-icon-fill, var(--t-icon-fill, none))}.uniform{fill:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, currentColor))}:host([type=info]){--tct-icon-stroke-primary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1));--tct-icon-stroke-secondary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host([type=success]){--tct-icon-stroke-primary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00));--t-icon-stroke-secondary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=warning]){--tct-icon-stroke-primary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400));--t-icon-stroke-secondary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))}:host([type=error]){--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000));--t-icon-stroke-secondary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}";
6
6
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-be8376c0.js';
2
- import { c as createGuid, b as setMessageHeight, h as handleAriaLabel, l as loc, m as messagesDOM, d as labelDOM } from './index-476b86cc.js';
2
+ import { c as createGuid, b as setMessageHeight, h as handleAriaLabel, o as overrideFocus, l as loc, i as isEventFromElement, m as messagesDOM, d as labelDOM } from './index-ec6660af.js';
3
3
 
4
4
  function formatNumber(val = '', options = {
5
5
  prefix: '',
@@ -2863,7 +2863,7 @@ const formatCreditCard = {
2863
2863
  unknownFormatter
2864
2864
  };
2865
2865
 
2866
- const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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;margin-top:var(--tct-input-margin-top, var(--app-scale-6x, 30px));margin-bottom:var(--tct-input-margin-bottom, var(--app-scale-6x, 30px));font-size:var(--tct-input-font-size, var(--app-font-size, inherit))}:host([hidden]){display:none}.field-container,.input-container{position:relative}label{display:block;padding-left:var(--tct-input-label-padding-left, 0);padding-right:var(--tct-input-label-padding-right, 0);margin-top:var(--tct-input-label-margin-top, 0);margin-bottom:var(\n --tct-input-label-margin-bottom,\n var(--tct-scale-1, var(--app-scale-1, 5px))\n );color:var(--tct-input-label-font-color, inherit);font-size:var(--tct-input-label-font-size, inherit);font-weight:var(--tct-input-label-font-weight, 600);text-transform:var(--tct-input-label-text-transform, none);letter-spacing:var(--tct-input-label-letter-spacing, normal);transition:color var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease)))}.optional-tag{margin-left:var(\n --tct-input-label-optional-margin-left,\n var(--tct-scale-1, var(--app-scale-1, 5px))\n );color:var(\n --tct-input-label-optional-font-color,\n var(--tct-a11y-color, var(--t-a11y-gray-color, #767676))\n );font-size:var(--tct-input-label-optional-font-size, 12px);font-weight:var(--tct-input-label-optional-font-weight, 400)}.input-container{background-color:var(\n --tct-input-bg,\n var(--t-input-bg, var(--tct-gray-14, var(--t-gray-14, #f2f2f2)))\n );display:flex;align-items:center;--comp-input-horizontal-gap:var(\n --tct-input-horizontal-gap,\n var(--t-input-horizontal-gap, 8px)\n );--comp-input-border-top-left-radius:var(\n --tct-input-border-top-left-radius,\n var(--tct-border-radius-1, var(--app-border-radius-1, 3px))\n );--comp-input-border-top-right-radius:var(\n --tct-input-border-top-right-radius,\n var(--tct-border-radius-1, var(--app-border-radius-1, 3px))\n );--comp-input-border-bottom-right-radius:var(\n --tct-input-border-bottom-right-radius,\n var(--tct-border-radius-1, var(--app-border-radius-1, 3px))\n );--comp-input-border-bottom-left-radius:var(\n --tct-input-border-bottom-left-radius,\n var(--tct-border-radius-1, var(--app-border-radius-1, 3px))\n );--comp-input-border-radius:var(--comp-input-border-top-left-radius)\n var(--comp-input-border-top-right-radius) var(--comp-input-border-bottom-right-radius)\n var(--comp-input-border-bottom-left-radius);--comp-input-border-width:var(--tct-input-border-top-width, 1px)\n var(--tct-input-border-right-width, 1px) var(--tct-input-border-bottom-width, 1px)\n var(--tct-input-border-left-width, 1px);--comp-input-focus-border-width:var(--tct-input-focus-border-top-width, 1px)\n var(--tct-input-focus-border-right-width, 1px)\n var(--tct-input-focus-border-bottom-width, 1px)\n var(--tct-input-focus-border-left-width, 1px);--comp-input-prefix-clearance:calc(\n 3 * var(--tct-input-prefix-font-size, 14px) + var(--tct-scale-1, 5px)\n );--comp-input-icon-clearance:34px;--comp-input-min-height:44px;border-width:var(--comp-input-border-width);border-style:solid;border-color:var(\n --tct-input-border-color,\n var(--t-input-border, var(--tct-gray-11, var(--t-gray-11, #cccccc)))\n );border-radius:var(--comp-input-border-radius);box-shadow:var(--tct-input-box-shadow, none);transition:border-width\n var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease))),\n border-color var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease))),\n box-shadow var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease)))}.input-field{flex:1;border:0;-webkit-appearance:none;appearance:none;box-sizing:border-box;min-height:var(--comp-input-min-height);height:var(--tct-input-height, 44px);width:100%;padding:0 var(--tct-input-horizontal-padding, var(--tct-scale-2, var(--app-scale-2, 10px)));background-color:transparent;color:var(--tct-input-font-color, var(--t-input-font-color, var(--t-text, inherit)))}input{display:inline-block}.input-field:focus{outline:none;box-shadow:none}.input-field::-webkit-outer-spin-button,.input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-field[type='number']{-moz-appearance:textfield}.input-container:focus-within{border-width:var(--comp-input-focus-border-width, 1px);border-color:var(\n --tct-input-focus-border-color,\n var(--t-input-focus, var(--tct-gray-9, var(--t-gray-9, #999999)))\n );box-shadow:var(--tct-global-focus, var(--const-global-focus, 0 0 0 2px #33b4ff)),\n var(--tct-input-focus-box-shadow, 0 0 transparent)}input::-ms-clear{display:none}input[type='search']::-webkit-search-decoration,input[type='search']::-webkit-search-cancel-button,input[type='search']::-webkit-search-results-button,input[type='search']::-webkit-search-results-decoration{display:none}input::placeholder,.placeholder-text{color:var(\n --tct-input-placeholder-font-color,\n var(\n --t-input-placeholder-font-color,\n var(--tct-gray-7, var(--t-gray-7, var(--tct-gray-d1, var(--app-gray-d1, #666666))))\n )\n )}.pseudo-input{display:inline-flex;align-items:center}.pseudo-input span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-icons-container-left:empty{display:none}.input-icons-container-left{display:flex;flex-direction:row;align-items:center;gap:var(--comp-input-horizontal-gap);padding-left:var(--comp-input-horizontal-gap)}.input-icons-container-right:empty{display:none}.input-icons-container-right{display:flex;flex-direction:row;align-items:center;gap:var(--comp-input-horizontal-gap);padding-right:var(--comp-input-horizontal-gap)}.input-icons-container-right .btn-visibility-toggle{color:var(--tct-primary, var(--t-primary, #006eb2));font-size:12px}q2-icon{margin-top:calc(var(--tct-input-border-top-width, 1px) / 2);margin-bottom:calc(var(--tct-input-border-bottom-width, 1px) / 2);pointer-events:none;color:var(\n --tct-input-icon-stroke-primary,\n var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999)))\n );--tct-icon-stroke-primary:var(\n --tct-input-icon-stroke-primary,\n var(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999))))\n );--t-icon-stroke-primary:var(\n --tct-input-icon-stroke-primary,\n var(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999))))\n )}.icon-left-muted{opacity:0.5}.input-prefix,.input-suffix{margin-left:calc(var(--comp-input-horizontal-gap) * -1);margin-right:calc(var(--comp-input-horizontal-gap) * -1);width:3em;display:inline-flex;align-items:center;justify-content:center;min-height:calc(\n var(--comp-input-min-height) - var(--tct-input-focus-border-top-width, 1px) -\n var(--tct-input-focus-border-bottom-width, 1px)\n );height:calc(\n var(--tct-input-height, 44px) - var(--tct-input-focus-border-top-width, 1px) -\n var(--tct-input-focus-border-bottom-width, 1px)\n );font-size:var(--tct-input-prefix-font-size, inherit);color:var(--tct-input-prefix-font-color, inherit);background-color:var(\n --tct-input-prefix-bg,\n var(--tct-input-bg, var(--t-input-bg, var(--tct-gray-14, var(--t-gray-14, #f2f2f2))))\n );transition:color var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease))),\n background-color var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease)))}.input-prefix{border-top-left-radius:calc(\n var(--comp-input-border-top-left-radius) - var(--tct-input-border-top-width, 1px) -\n var(--tct-input-border-left-width, 1px)\n );border-bottom-left-radius:calc(\n var(--comp-input-border-bottom-left-radius) - var(--tct-input-border-bottom-width, 1px) -\n var(--tct-input-border-left-width, 1px)\n );pointer-events:none;}.input-suffix{border-top-right-radius:calc(\n var(--comp-input-border-top-right-radius) - var(--tct-input-border-top-width, 1px) -\n var(--tct-input-border-right-width, 1px)\n );border-bottom-right-radius:calc(\n var(--comp-input-border-bottom-right-radius) - var(--tct-input-border-bottom-width, 1px) -\n var(--tct-input-border-right-width, 1px)\n )}.icon-error{color:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000));--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000));--t-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}.pw-show{position:absolute;margin-right:var(--tct-scale-2, var(--app-scale-2, 20px))}.btn-clear{margin-top:calc(var(--tct-input-border-top-width, 1px) / 2);margin-bottom:calc(var(--tct-input-border-bottom-width, 1px) / 2);height:22px;--tct-btn-icon-width:17px;--tct-btn-icon-height:22px;--tct-icon-size:17px}.messages-container{height:0px;overflow:hidden;background-color:var(\n --tct-message-bg,\n var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))\n );box-shadow:var(\n --tct-input-message-box-shadow,\n var(--tct-box-shadow-1, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3)))\n );transition:height\n var(--tct-input-messages-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease)));margin-top:2px;z-index:1;position:absolute;width:100%;color:var(--tct-input-messages-font-color, inherit)}:host([disabled]) .input-container{cursor:not-allowed;opacity:var(\n --tct-input-disabled-opacity,\n var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))\n )}.input-field[disabled]{cursor:not-allowed}.right-aligned .input-field{text-align:right}.has-error label{color:var(--tct-input-error-label-font-color, var(--tct-input-label-font-color, inherit))}.has-error:not(.has-focus) .input-prefix,.has-error:not(.has-focus) .input-suffix{color:var(--tct-input-error-prefix-font-color, inherit);background-color:var(\n --tct-input-error-prefix-bg,\n var(\n --tct-input-bg,\n var(\n --t-input-bg,\n var(--tct-gray-14, var(--app-var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))\n )\n )\n )}.has-error .input-container:not(:focus-within){border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #c30000))}.icon-left{width:26px;height:26px}.vertical-separator{height:calc(var(--comp-input-min-height) - 2px);border-right:1px solid\n var(\n --tct-input-prefix-border-color,\n var(\n --tct-input-border-color,\n var(\n --t-input-border,\n var(\n --tct-gray-11,\n var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc)))\n )\n )\n )\n )}";
2866
+ const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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;margin-top:var(--tct-input-margin-top, var(--app-scale-6x, 30px));margin-bottom:var(--tct-input-margin-bottom, var(--app-scale-6x, 30px));font-size:var(--tct-input-font-size, var(--app-font-size, inherit))}:host([hidden]){display:none}.field-container,.input-container{position:relative}label{display:block;padding-left:var(--tct-input-label-padding-left, 0);padding-right:var(--tct-input-label-padding-right, 0);margin-top:var(--tct-input-label-margin-top, 0);margin-bottom:var(--tct-input-label-margin-bottom, var(--tct-scale-1, var(--app-scale-1, 5px)));color:var(--tct-input-label-font-color, inherit);font-size:var(--tct-input-label-font-size, inherit);font-weight:var(--tct-input-label-font-weight, 600);text-transform:var(--tct-input-label-text-transform, none);letter-spacing:var(--tct-input-label-letter-spacing, normal);transition:color var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease)))}.optional-tag{margin-left:var(--tct-input-label-optional-margin-left, var(--tct-scale-1, var(--app-scale-1, 5px)));color:var(--tct-input-label-optional-font-color, var(--tct-a11y-color, var(--t-a11y-gray-color, #767676)));font-size:var(--tct-input-label-optional-font-size, 12px);font-weight:var(--tct-input-label-optional-font-weight, 400)}.input-container{background-color:var(--tct-input-bg, var(--t-input-bg, var(--tct-gray-14, var(--t-gray-14, #f2f2f2))));display:flex;align-items:center;--comp-input-horizontal-gap:var(\n --tct-input-horizontal-gap,\n var(--t-input-horizontal-gap, 8px)\n );--comp-input-border-top-left-radius:var(\n --tct-input-border-top-left-radius,\n var(--tct-border-radius-1, var(--app-border-radius-1, 3px))\n );--comp-input-border-top-right-radius:var(\n --tct-input-border-top-right-radius,\n var(--tct-border-radius-1, var(--app-border-radius-1, 3px))\n );--comp-input-border-bottom-right-radius:var(\n --tct-input-border-bottom-right-radius,\n var(--tct-border-radius-1, var(--app-border-radius-1, 3px))\n );--comp-input-border-bottom-left-radius:var(\n --tct-input-border-bottom-left-radius,\n var(--tct-border-radius-1, var(--app-border-radius-1, 3px))\n );--comp-input-border-radius:var(--comp-input-border-top-left-radius)\n var(--comp-input-border-top-right-radius) var(--comp-input-border-bottom-right-radius)\n var(--comp-input-border-bottom-left-radius);--comp-input-border-width:var(--tct-input-border-top-width, 1px)\n var(--tct-input-border-right-width, 1px) var(--tct-input-border-bottom-width, 1px)\n var(--tct-input-border-left-width, 1px);--comp-input-focus-border-width:var(--tct-input-focus-border-top-width, 1px)\n var(--tct-input-focus-border-right-width, 1px)\n var(--tct-input-focus-border-bottom-width, 1px)\n var(--tct-input-focus-border-left-width, 1px);--comp-input-prefix-clearance:calc(\n 3 * var(--tct-input-prefix-font-size, 14px) + var(--tct-scale-1, 5px)\n );--comp-input-icon-clearance:34px;--comp-input-min-height:44px;border-width:var(--comp-input-border-width);border-style:solid;border-color:var(--tct-input-border-color, var(--t-input-border, var(--tct-gray-11, var(--t-gray-11, #cccccc))));border-radius:var(--comp-input-border-radius);box-shadow:var(--tct-input-box-shadow, none);transition:border-width var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease))), border-color var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease))), box-shadow var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease)))}.input-field{flex:1;border:0;-webkit-appearance:none;appearance:none;box-sizing:border-box;min-height:var(--comp-input-min-height);height:var(--tct-input-height, 44px);width:100%;padding:0 var(--tct-input-horizontal-padding, var(--tct-scale-2, var(--app-scale-2, 10px)));background-color:transparent;color:var(--tct-input-font-color, var(--t-input-font-color, var(--t-text, inherit)))}input{display:inline-block}.input-field:focus{outline:none;box-shadow:none}.input-field::-webkit-outer-spin-button,.input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-field[type=number]{-moz-appearance:textfield}.input-container:focus-within{border-width:var(--comp-input-focus-border-width, 1px);border-color:var(--tct-input-focus-border-color, var(--t-input-focus, var(--tct-gray-9, var(--t-gray-9, #999999))));box-shadow:var(--tct-global-focus, var(--const-global-focus, 0 0 0 2px #33b4ff)), var(--tct-input-focus-box-shadow, 0 0 transparent)}input::-ms-clear{display:none}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{display:none}input::placeholder,.placeholder-text{color:var(--tct-input-placeholder-font-color, var(--t-input-placeholder-font-color, var(--tct-gray-7, var(--t-gray-7, var(--tct-gray-d1, var(--app-gray-d1, #666666))))))}.pseudo-input{display:inline-flex;align-items:center}.pseudo-input span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-icons-container-left:empty{display:none}.input-icons-container-left{display:flex;flex-direction:row;align-items:center;gap:var(--comp-input-horizontal-gap);padding-left:var(--comp-input-horizontal-gap)}.input-icons-container-right:empty{display:none}.input-icons-container-right{display:flex;flex-direction:row;align-items:center;gap:var(--comp-input-horizontal-gap);padding-right:var(--comp-input-horizontal-gap)}.input-icons-container-right .btn-visibility-toggle{color:var(--tct-primary, var(--t-primary, #006eb2));font-size:12px}q2-icon{margin-top:calc(var(--tct-input-border-top-width, 1px) / 2);margin-bottom:calc(var(--tct-input-border-bottom-width, 1px) / 2);pointer-events:none;color:var(--tct-input-icon-stroke-primary, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999))));--tct-icon-stroke-primary:var(\n --tct-input-icon-stroke-primary,\n var(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999))))\n );--t-icon-stroke-primary:var(\n --tct-input-icon-stroke-primary,\n var(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999))))\n )}.icon-left-muted{opacity:0.5}.input-prefix,.input-suffix{margin-left:calc(var(--comp-input-horizontal-gap) * -1);margin-right:calc(var(--comp-input-horizontal-gap) * -1);width:3em;display:inline-flex;align-items:center;justify-content:center;min-height:calc( var(--comp-input-min-height) - var(--tct-input-focus-border-top-width, 1px) - var(--tct-input-focus-border-bottom-width, 1px) );height:calc( var(--tct-input-height, 44px) - var(--tct-input-focus-border-top-width, 1px) - var(--tct-input-focus-border-bottom-width, 1px) );font-size:var(--tct-input-prefix-font-size, inherit);color:var(--tct-input-prefix-font-color, inherit);background-color:var(--tct-input-prefix-bg, var(--tct-input-bg, var(--t-input-bg, var(--tct-gray-14, var(--t-gray-14, #f2f2f2)))));transition:color var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease))), background-color var(--tct-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease)))}.input-prefix{border-top-left-radius:calc( var(--comp-input-border-top-left-radius) - var(--tct-input-border-top-width, 1px) - var(--tct-input-border-left-width, 1px) );border-bottom-left-radius:calc( var(--comp-input-border-bottom-left-radius) - var(--tct-input-border-bottom-width, 1px) - var(--tct-input-border-left-width, 1px) );pointer-events:none;}.input-suffix{border-top-right-radius:calc( var(--comp-input-border-top-right-radius) - var(--tct-input-border-top-width, 1px) - var(--tct-input-border-right-width, 1px) );border-bottom-right-radius:calc( var(--comp-input-border-bottom-right-radius) - var(--tct-input-border-bottom-width, 1px) - var(--tct-input-border-right-width, 1px) )}.icon-error{color:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000));--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000));--t-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}.pw-show{position:absolute;margin-right:var(--tct-scale-2, var(--app-scale-2, 20px))}.btn-clear{margin-top:calc(var(--tct-input-border-top-width, 1px) / 2);margin-bottom:calc(var(--tct-input-border-bottom-width, 1px) / 2);height:22px;--tct-btn-icon-width:17px;--tct-btn-icon-height:22px;--tct-icon-size:17px}.messages-container{height:0px;overflow:hidden;background-color:var(--tct-message-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2)))));box-shadow:var(--tct-input-message-box-shadow, var(--tct-box-shadow-1, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3))));transition:height var(--tct-input-messages-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease)));margin-top:2px;z-index:1;position:absolute;width:100%;color:var(--tct-input-messages-font-color, inherit)}:host([disabled]) .input-container{cursor:not-allowed;opacity:var(--tct-input-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4)))}.input-field[disabled]{cursor:not-allowed}.right-aligned .input-field{text-align:right}.has-error label{color:var(--tct-input-error-label-font-color, var(--tct-input-label-font-color, inherit))}.has-error:not(.has-focus) .input-prefix,.has-error:not(.has-focus) .input-suffix{color:var(--tct-input-error-prefix-font-color, inherit);background-color:var(--tct-input-error-prefix-bg, var(--tct-input-bg, var(--t-input-bg, var(--tct-gray-14, var(--app-var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2)))))))}.has-error .input-container:not(:focus-within){border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #c30000))}.icon-left{width:26px;height:26px}.vertical-separator{height:calc(var(--comp-input-min-height) - 2px);border-right:1px solid var(--tct-input-prefix-border-color, var(--tct-input-border-color, var(--t-input-border, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc)))))))}";
2867
2867
 
2868
2868
  const Q2Input = class {
2869
2869
  constructor(hostRef) {
@@ -2932,14 +2932,15 @@ const Q2Input = class {
2932
2932
  }
2933
2933
  this.formattedValueObject = this.getFormattedValue(this.stringValue, true);
2934
2934
  handleAriaLabel(this);
2935
+ if (this.textHidden === undefined) {
2936
+ this.textHidden = this.type === 'password';
2937
+ }
2935
2938
  }
2936
2939
  componentDidLoad() {
2937
2940
  if (!this.pseudo) {
2938
2941
  this.inputField.value = this.formattedValueObject.formattedValue;
2939
2942
  }
2940
- if (this.textHidden === undefined) {
2941
- this.textHidden = this.type === 'password';
2942
- }
2943
+ overrideFocus(this.hostElement);
2943
2944
  }
2944
2945
  componentDidRender() {
2945
2946
  this.scheduledAfterRender.forEach(fn => fn());
@@ -3105,9 +3106,10 @@ const Q2Input = class {
3105
3106
  this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));
3106
3107
  }
3107
3108
  ///////// HOST ELEMENT EVENTS //////
3108
- onHostElementFocus() {
3109
+ onHostElementFocus(event) {
3110
+ if (!isEventFromElement(event, this.hostElement))
3111
+ return;
3109
3112
  this.inputField.focus();
3110
- this.inputField.dispatchEvent(new FocusEvent('focus', { bubbles: false }));
3111
3113
  }
3112
3114
  onHostElementChange(event) {
3113
3115
  if (event.target === this.hostElement && !this.hostElement.onchange) {
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance } from './index-be8376c0.js';
2
2
  import { a as atoms } from './shapes-81c11dfe.js';
3
3
 
4
- const stylesCss = "q2-loading-element{display:block}.skeleton-shape.rectangle:not(.no-margin){margin:var(--tct-loading-skeleton-vertical-gap, var(--tct-scale-2, 10px))\n var(--tct-loading-skeleton-horizontal-gap, var(--tct-scale-2, 10px))}.skeleton-shape.circle,.skeleton-shape.rectangle{background-color:var(--tct-loading-skeleton-element-bg, var(--tct-gray-l3, var(--t-gray-14, #f2f2f2)))}.skeleton-shape.circle{border-radius:50%;padding-top:100%}";
4
+ const stylesCss = "q2-loading-element{display:block}.skeleton-shape.rectangle:not(.no-margin){margin:var(--tct-loading-skeleton-vertical-gap, var(--tct-scale-2, 10px)) var(--tct-loading-skeleton-horizontal-gap, var(--tct-scale-2, 10px))}.skeleton-shape.circle,.skeleton-shape.rectangle{background-color:var(--tct-loading-skeleton-element-bg, var(--tct-gray-l3, var(--t-gray-14, #f2f2f2)))}.skeleton-shape.circle{border-radius:50%;padding-top:100%}";
5
5
 
6
6
  const Q2Loading = class {
7
7
  constructor(hostRef) {
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h } from './index-be8376c0.js';
2
- import { l as loc } from './index-476b86cc.js';
2
+ import { l as loc } from './index-ec6660af.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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:inline}";
5
5
 
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-be8376c0.js';
2
- import { i as isFirefox, n as nextPaint } from './index-476b86cc.js';
2
+ import { e as isFirefox, o as overrideFocus, n as nextPaint, i as isEventFromElement } from './index-ec6660af.js';
3
3
 
4
- const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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}:host([hidden]){display:none}.message{border-left-width:var(--tct-message-bar-width, var(--t-message-bar-width, var(--app-scale-1, 5px)));border-left-style:solid;display:grid;gap:var(--tct-scale-1, var(--app-scale-1, 5px));align-items:flex-start;background:var(--tct-message-bg, var(--t-message-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))));color:var(--tct-message-font-color, var(--t-message-font-color, inherit));box-shadow:var(--tct-message-box-shadow, var(--t-message-box-shadow, inherit));border-radius:var(--tct-message-border-radius, var(--t-message-border-radius, inherit))}.message-icon{width:24px}.message-content{flex:1}::slotted(ul){padding-left:var(--tct-scale-l3, var(--app-scale-3, 15px))}:host(:not([appearance])),:host([appearance=standard]){margin:var(--tct-scale-l3, var(--app-scale-3, 15px)) 0}:host(:not([appearance])) .message,:host([appearance=standard]) .message{grid-template-columns:24px 1fr;--comp-padding:var(--tct-message-padding, var(--t-message-padding, var(--app-scale-3, 15px)));padding:var(--comp-padding);padding-top:calc(var(--comp-padding) - var(--tct-scale-1, var(--app-scale-1, 5px)));padding-left:calc(var(--comp-padding) - var(--tct-scale-2, var(--app-scale-2, 10px)))}:host(:not([appearance])) .message-content,:host([appearance=standard]) .message-content{padding-top:var(--tct-scale-1, var(--app-scale-1, 5px))}:host(:not([appearance])) ::slotted(ul),:host([appearance=standard]) ::slotted(ul){margin:var(--tct-scale-l3, var(--app-scale-3, 15px)) 0}:host([appearance=minimal]){margin:0}:host([appearance=minimal]) .message{padding:var(--tct-message-minimal-padding, var(--t-message-minimal-padding, var(--app-scale-2, 10px)));grid-template-columns:1fr}:host([appearance=minimal]) ::slotted(ul){margin:var(--tct-scale-1, var(--app-scale-1, 5px)) 0}:host(:not([type])) .message,:host([type=info]) .message{border-left-color:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host(:not([type])) .message-icon,:host([type=info]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1));--tct-icon-stroke-secondary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host([type=success]) .message{border-left-color:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=success]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00));--tct-icon-stroke-secondary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=warning]) .message{border-left-color:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))}:host([type=warning]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400));--tct-icon-stroke-secondary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))}:host([type=error]) .message,:host([type=danger]) .message{border-left-color:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}:host([type=error]) .message-icon,:host([type=danger]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000));--tct-icon-stroke-secondary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}";
4
+ const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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}:host([hidden]){display:none}.message{border-left-width:var(--tct-message-bar-width, var(--t-message-bar-width, var(--app-scale-1, 5px)));border-left-style:solid;display:grid;gap:var(--tct-scale-1, var(--app-scale-1, 5px));align-items:flex-start;background:var(--tct-message-bg, var(--t-message-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))));color:var(--tct-message-font-color, var(--t-message-font-color, inherit));box-shadow:var(--tct-message-box-shadow, var(--t-message-box-shadow, inherit));border-radius:var(--tct-message-border-radius, var(--t-message-border-radius, inherit))}.message:focus{box-shadow:var(--const-global-focus)}.message-icon{width:24px}.message-content{flex:1}::slotted(ul){padding-left:var(--tct-scale-l3, var(--app-scale-3, 15px))}:host(:not([appearance])),:host([appearance=standard]){margin:var(--tct-scale-l3, var(--app-scale-3, 15px)) 0}:host(:not([appearance])) .message,:host([appearance=standard]) .message{grid-template-columns:24px 1fr;--comp-padding:var(--tct-message-padding, var(--t-message-padding, var(--app-scale-3, 15px)));padding:var(--comp-padding);padding-top:calc(var(--comp-padding) - var(--tct-scale-1, var(--app-scale-1, 5px)));padding-left:calc(var(--comp-padding) - var(--tct-scale-2, var(--app-scale-2, 10px)))}:host(:not([appearance])) .message-content,:host([appearance=standard]) .message-content{padding-top:var(--tct-scale-1, var(--app-scale-1, 5px))}:host(:not([appearance])) ::slotted(ul),:host([appearance=standard]) ::slotted(ul){margin:var(--tct-scale-l3, var(--app-scale-3, 15px)) 0}:host([appearance=minimal]){margin:0}:host([appearance=minimal]) .message{padding:var(--tct-message-minimal-padding, var(--t-message-minimal-padding, var(--app-scale-2, 10px)));grid-template-columns:1fr}:host([appearance=minimal]) ::slotted(ul){margin:var(--tct-scale-1, var(--app-scale-1, 5px)) 0}:host(:not([type])) .message,:host([type=info]) .message{border-left-color:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host(:not([type])) .message-icon,:host([type=info]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1));--tct-icon-stroke-secondary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host([type=success]) .message{border-left-color:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=success]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00));--tct-icon-stroke-secondary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=warning]) .message{border-left-color:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))}:host([type=warning]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400));--tct-icon-stroke-secondary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))}:host([type=error]) .message,:host([type=danger]) .message{border-left-color:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}:host([type=error]) .message-icon,:host([type=danger]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000));--tct-icon-stroke-secondary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}";
5
5
 
6
6
  const Q2Message = class {
7
7
  constructor(hostRef) {
@@ -13,6 +13,9 @@ const Q2Message = class {
13
13
  get isFirefox() {
14
14
  return isFirefox();
15
15
  }
16
+ componentDidLoad() {
17
+ overrideFocus(this.hostElement);
18
+ }
16
19
  async present() {
17
20
  const { isFirefox } = this;
18
21
  this.presentToggle = !this.presentToggle;
@@ -22,12 +25,17 @@ const Q2Message = class {
22
25
  this.presentToggle = false;
23
26
  });
24
27
  }
28
+ delegateFocus(event) {
29
+ if (!isEventFromElement(event, this.hostElement))
30
+ return;
31
+ this.hostElement.shadowRoot.querySelector('.message').focus();
32
+ }
25
33
  render() {
26
34
  const { isFirefox } = this;
27
35
  const addAriaHiddenForAriaLive = isFirefox && this.presentToggle;
28
36
  const addDivForAriaLive = !isFirefox && this.presentToggle;
29
37
  const { description } = this;
30
- return (h("div", { class: "message", role: description ? undefined : 'alert', "aria-live": description ? undefined : 'polite', "aria-atomic": description ? undefined : 'true', "aria-relevant": description ? undefined : 'all' }, this.appearance === 'standard' ? generateIcon(this.type) : '', addDivForAriaLive && h("div", { class: "sr" }), h("div", { class: "message-content", "aria-hidden": addAriaHiddenForAriaLive ? 'true' : undefined }, h("slot", null))));
38
+ return (h("div", { tabindex: "-1", class: "message", role: description ? undefined : 'alert', "aria-live": description ? undefined : 'assertive', "aria-atomic": description ? undefined : 'true', "aria-relevant": description ? undefined : 'all' }, this.appearance === 'standard' ? generateIcon(this.type) : '', addDivForAriaLive && h("div", { class: "sr" }), h("div", { class: "message-content", "aria-hidden": addAriaHiddenForAriaLive ? 'true' : undefined }, h("slot", null))));
31
39
  }
32
40
  get hostElement() { return getElement(this); }
33
41
  };
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-be8376c0.js';
2
- import { c as createGuid, l as loc } from './index-476b86cc.js';
2
+ import { c as createGuid, l as loc } from './index-ec6660af.js';
3
3
 
4
- const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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}.q2-optgroup-header{background-color:var(\n --tct-optgroup-header-bg,\n var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l2, var(--app-gray-l2, #e6e6e6))))\n );padding:var(--tct-scale-1, var(--app-scale-1, 5px))\n var(--tct-scale-2, var(--app-scale-2, 10px));font-weight:var(--tct-optgroup-header-font-weight, 600);text-transform:var(--tct-optgroup-header-text-transform, uppercase);}";
4
+ const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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}.q2-optgroup-header{background-color:var(--tct-optgroup-header-bg, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l2, var(--app-gray-l2, #e6e6e6)))));padding:var(--tct-scale-1, var(--app-scale-1, 5px)) var(--tct-scale-2, var(--app-scale-2, 10px));font-weight:var(--tct-optgroup-header-font-weight, 600);text-transform:var(--tct-optgroup-header-text-transform, uppercase);}";
5
5
 
6
6
  const Q2Optgroup = class {
7
7
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement } from './index-be8376c0.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-be8376c0.js';
2
2
 
3
3
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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{padding:0 var(--tct-scale-2, var(--app-scale-2, 10px));min-height:44px;align-items:center;cursor:pointer;grid-template-columns:var(--tct-option-selected-icon-size, var(--tct-scale-3, var(--app-scale-3, 15px))) 1fr;align-items:center;grid-template-areas:\"icon content\";gap:var(--tct-scale-1, var(--app-scale-1, 5px))}:host([aria-disabled]){cursor:not-allowed;opacity:var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4));pointer-events:none}:host([aria-hidden]){display:none}:host(:not([hidden]):not([aria-hidden])){display:grid}:host(:not([aria-disabled]):hover),:host([active]),:host(:focus){background-color:var(--tct-option-active-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2)))))}q2-icon{grid-area:icon;--tct-icon-size:var(--tct-option-selected-icon-size, var(--tct-scale-3, var(--app-scale-3, 15px)))}.content{display:block;grid-area:content}:host(:not([multiline])) .content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}";
4
4
 
@@ -17,43 +17,12 @@ const Q2Option = class {
17
17
  this.click.emit();
18
18
  };
19
19
  }
20
- connectedCallback() {
21
- this.checkDisabledStatus();
22
- this.checkSelectedStatus();
23
- this.checkMultiSelectHiddenStatus();
24
- }
25
- checkDisabledStatus() {
26
- const { disabled, disabledGroup, hostElement } = this;
27
- const isDisabled = disabled || disabledGroup;
28
- if (isDisabled)
29
- hostElement.setAttribute('aria-disabled', 'true');
30
- else
31
- hostElement.removeAttribute('aria-disabled');
32
- }
33
- checkSelectedStatus() {
34
- const { selected, hostElement } = this;
35
- if (selected)
36
- hostElement.setAttribute('aria-selected', 'true');
37
- else
38
- hostElement.removeAttribute('aria-selected');
39
- }
40
- checkMultiSelectHiddenStatus() {
41
- const { _multiSelectHidden, hostElement } = this;
42
- if (_multiSelectHidden)
43
- hostElement.setAttribute('aria-hidden', 'true');
44
- else
45
- hostElement.removeAttribute('aria-hidden');
46
- }
47
20
  render() {
48
- return (h(Fragment, null, this.selected && h("q2-icon", { type: "checkmark" }), h("div", { class: "content", onClick: this.onClick }, h("slot", null))));
21
+ const { disabled, disabledGroup, selected, _multiSelectHidden } = this;
22
+ const isDisabled = disabled || disabledGroup;
23
+ return (h(Host, { "aria-disabled": isDisabled ? 'true' : undefined, "aria-selected": selected ? 'true' : undefined, "aria-hidden": _multiSelectHidden ? 'true' : undefined }, this.selected && h("q2-icon", { type: "checkmark" }), h("div", { class: "content", onClick: this.onClick }, h("slot", null))));
49
24
  }
50
25
  get hostElement() { return getElement(this); }
51
- static get watchers() { return {
52
- "disabled": ["checkDisabledStatus"],
53
- "disabledGroup": ["checkDisabledStatus"],
54
- "selected": ["checkSelectedStatus"],
55
- "_multiSelectHidden": ["checkMultiSelectHiddenStatus"]
56
- }; }
57
26
  };
58
27
  Q2Option.style = stylesCss;
59
28
 
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-be8376c0.js';
2
- import { c as createGuid, l as loc } from './index-476b86cc.js';
2
+ import { c as createGuid, o as overrideFocus, i as isEventFromElement, l as loc } from './index-ec6660af.js';
3
3
 
4
- const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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{margin-top:var(--tct-scale-2, var(--app-scale-2, 10px))}fieldset{padding:0;margin:0;border:0}fieldset.has-error{border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #c30000));border-width:1px;border-style:solid;border-radius:var(--tct-border-radius-1, var(--app-border-radius-1, 2px));position:relative}fieldset.has-error .error-icon-container{top:8px;right:8px;position:absolute;width:40%;text-align:right;background:linear-gradient(to right, transparent, white)}fieldset.has-error legend+div.error-icon-container.no-label{top:28px}.group-legend{font-weight:600}legend.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0}.optional-tag{margin-left:var(\n --tct-input-label-optional-margin-left,\n var(--tct-scale-1, var(--app-scale-1, 5px))\n );color:var(\n --tct-input-label-optional-font-color,\n var(--tct-a11y-color, var(--t-a11y-gray-color, #767676))\n );font-size:var(--tct-input-label-optional-font-size, 12px);font-weight:var(--tct-input-label-optional-font-weight, 400)}.flexed{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.flexed.left{justify-content:left}.flexed.right{justify-content:right}";
4
+ const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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{margin-top:var(--tct-scale-2, var(--app-scale-2, 10px))}fieldset{padding:0;margin:0;border:0}fieldset.has-error{border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #c30000));border-width:1px;border-style:solid;border-radius:var(--tct-border-radius-1, var(--app-border-radius-1, 2px));position:relative}fieldset.has-error .error-icon-container{top:8px;right:8px;position:absolute;width:40%;text-align:right;background:linear-gradient(to right, transparent, white)}fieldset.has-error legend+div.error-icon-container.no-label{top:28px}.group-legend{font-weight:600}legend.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0}.optional-tag{margin-left:var(--tct-input-label-optional-margin-left, var(--tct-scale-1, var(--app-scale-1, 5px)));color:var(--tct-input-label-optional-font-color, var(--tct-a11y-color, var(--t-a11y-gray-color, #767676)));font-size:var(--tct-input-label-optional-font-size, 12px);font-weight:var(--tct-input-label-optional-font-weight, 400)}.flexed{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.flexed.left{justify-content:left}.flexed.right{justify-content:right}";
5
5
 
6
6
  const Q2RadioGroup = class {
7
7
  constructor(hostRef) {
@@ -31,6 +31,7 @@ const Q2RadioGroup = class {
31
31
  observer.observe(this.hostElement, { childList: true });
32
32
  this.mutationObserver = observer;
33
33
  this.onMutationObserved();
34
+ overrideFocus(this.hostElement);
34
35
  }
35
36
  /////// OBSERVERS ///////
36
37
  valueUpdated() {
@@ -60,6 +61,13 @@ const Q2RadioGroup = class {
60
61
  }
61
62
  }
62
63
  }
64
+ delegateFocus(event) {
65
+ if (!isEventFromElement(event, this.hostElement))
66
+ return;
67
+ const radio = this.hostElement.querySelector('q2-radio[checked]') ||
68
+ this.hostElement.querySelector('q2-radio');
69
+ radio === null || radio === void 0 ? void 0 : radio.dispatchEvent(new FocusEvent('focus'));
70
+ }
63
71
  render() {
64
72
  return (h("div", null, this.label || this.optional ? (h("div", { class: "group-legend" }, this.label && loc(this.label), this.optional ? (h("span", { class: "optional-tag" }, loc('tecton.element.input.optional'))) : (''))) : (''), h("fieldset", { class: `q2-radio-fieldset ${this.hasError ? 'has-error' : ''}`, onChange: this.onInnerRadioChange, "aria-required": `${!this.optional}` }, this.label || this.optional ? (h("legend", { class: "sr-only" }, this.label && loc(this.label), this.optional ? (h("span", { class: "optional-tag" }, loc('tecton.element.input.optional'))) : (''))) : (''), this.hasError ? (h("div", { class: `error-icon-container ${this.label || this.optional ? '' : 'no-label'}` }, h("q2-icon", { class: "h(4) w(4) mrg-b(2)", type: "error" }))) : (''), this.inputDom())));
65
73
  }
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-be8376c0.js';
2
- import { c as createGuid, h as handleAriaLabel, l as loc } from './index-476b86cc.js';
2
+ import { c as createGuid, h as handleAriaLabel, o as overrideFocus, l as loc } from './index-ec6660af.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size: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}q2-radio{margin-top:var(--tct-radio-margin-vertical, var(--tct-scale-2, 10px));margin-right:var(--tct-radio-margin-horizontal, var(--tct-scale-3, 15px));display:block}q2-radio .radio-container{margin-bottom:var(--tct-radio-margin-vertical, var(--tct-scale-2, 10px))}q2-radio .radio-container label[for]{font-weight:var(--tct-radio-font-weight, var(--tct-checkbox-font-weight, 400));align-items:center;cursor:pointer;margin-right:1rem;display:grid;grid-template-columns:18px 1fr;gap:var(--tct-scale-1, var(--app-scale-1, 5px))}q2-radio .radio-container svg{border-radius:50%;transition:box-shadow var(--tct-tween-1, var(--app-tween-1, 0.2s ease));outline:0;width:100%}q2-radio .radio-container circle:nth-child(1){stroke-width:2;stroke:var(--tct-radio-stroke-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc)))))}q2-radio .radio-container input:focus+label svg{box-shadow:var(--tct-global-focus, var(--const-global-focus, 0 0 0 2px #33b4ff))}q2-radio .radio-container input:focus+label circle:nth-child(1){stroke:var(--tct-radio-focus-stroke-color, var(--tct-checkbox-check-stroke-color, var(--t-checkbox-fill, #2e2e2e)))}q2-radio .radio-container input:checked+label circle:nth-child(1){background-color:var(--tct-radio-checked-bg, transparent);stroke:var(--tct-radio-checked-stroke-color, var(--tct-radio-stroke-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))))}q2-radio .radio-container input:checked+label .label-content{font-weight:var(--tct-checkbox-selected-font-weight, 600);letter-spacing:var(--tct-checkbox-selected-letter-spacing, 0.25)}q2-radio .radio-container input:checked+label circle:nth-child(2){fill:var(--tct-radio-checked-fill, var(--tct-checkbox-check-stroke-color, var(--t-checkbox-fill, #2e2e2e)))}q2-radio .radio-tile{flex-basis:100px;flex-grow:0;flex-wrap:wrap}q2-radio .radio-tile label[for]{align-items:center;border-radius:3px;border:2px solid var(--tct-radio-stroke-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc)))));cursor:pointer;display:block;padding:1rem;position:relative;text-align:center;transition:border-color var(--tct-tween-1, var(--app-tween-1, 0.2s ease));white-space:nowrap}q2-radio .radio-tile input:focus+label{border-color:#0079c1;box-shadow:var(--tct-global-focus, var(--const-global-focus, 0 0 0 2px #33b4ff))}q2-radio .radio-tile input:checked+label{border-color:var(--tct-checkbox-check-stroke-color, var(--t-checkbox-fill, #2e2e2e));box-shadow:inset 0 0 0 2px #ffffff}q2-radio .radio-tile input:checked+label:after{border-bottom-width:3px;border-bottom:5px solid #0079c1;border-left-width:5px;border-left:8px solid transparent;border-right-width:5px;border-right:8px solid transparent;bottom:0;content:\"\";height:0;left:50%;margin-left:-5px;position:absolute;width:0}q2-radio input:disabled+label{cursor:not-allowed;opacity:var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))}";
5
5
 
@@ -21,6 +21,9 @@ const Q2Radio = class {
21
21
  componentWillLoad() {
22
22
  handleAriaLabel(this);
23
23
  }
24
+ componentDidLoad() {
25
+ overrideFocus(this.hostElement);
26
+ }
24
27
  ////////// OBSERVERS //////////
25
28
  ariaLabelObserver() {
26
29
  handleAriaLabel(this);
@@ -31,8 +34,13 @@ const Q2Radio = class {
31
34
  event.stopImmediatePropagation();
32
35
  }
33
36
  }
37
+ delegateFocus(event) {
38
+ if (event.target === this.hostElement) {
39
+ this.inputField.focus();
40
+ }
41
+ }
34
42
  render() {
35
- return (h("div", { class: this.groupTileLayout ? 'radio-tile' : 'radio-container' }, h("input", { class: "sr", id: this.id, type: "radio", name: this.name, value: this.value, disabled: this.disabled || this.groupDisabled, checked: this.checked, "aria-label": this.label && this.hideLabel ? loc(this.label) : undefined, onChange: this.inputChange, "test-id": "q2RadioInnerRadioBox" }), h("label", { htmlFor: this.id, "test-id": "radioButton" }, !this.groupTileLayout && (h("svg", { viewBox: "0 0 18 18" }, h("circle", { stroke: "none", fill: "none", cx: "9", cy: "9", r: "8" }), h("circle", { stroke: "none", fill: "none", cx: "9", cy: "9", r: "4" }))), !this.hideLabel && (h("div", { class: "label-content" }, (this.label && loc(this.label)) || '', h("slot", null))))));
43
+ return (h("div", { class: this.groupTileLayout ? 'radio-tile' : 'radio-container' }, h("input", { ref: el => (this.inputField = el), class: "sr", id: this.id, type: "radio", name: this.name, value: this.value, disabled: this.disabled || this.groupDisabled, checked: this.checked, "aria-label": this.label && this.hideLabel ? loc(this.label) : undefined, onChange: this.inputChange, "test-id": "q2RadioInnerRadioBox" }), h("label", { htmlFor: this.id, "test-id": "radioButton" }, !this.groupTileLayout && (h("svg", { viewBox: "0 0 18 18" }, h("circle", { stroke: "none", fill: "none", cx: "9", cy: "9", r: "8" }), h("circle", { stroke: "none", fill: "none", cx: "9", cy: "9", r: "4" }))), !this.hideLabel && (h("div", { class: "label-content" }, (this.label && loc(this.label)) || '', h("slot", null))))));
36
44
  }
37
45
  get hostElement() { return getElement(this); }
38
46
  static get watchers() { return {