q2-tecton-elements 1.18.0 → 1.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/dist/cjs/click-elsewhere.cjs.entry.js +1 -1
  2. package/dist/cjs/{icons-e2bc9ee9.js → icons-afbdf88a.js} +1 -1
  3. package/dist/cjs/{index-eccd5617.js → index-3518c78c.js} +1 -1
  4. package/dist/cjs/{index-0128397d.js → index-734296a7.js} +476 -271
  5. package/dist/cjs/loader.cjs.js +3 -3
  6. package/dist/cjs/q2-avatar.cjs.entry.js +9 -6
  7. package/dist/cjs/q2-badge_2.cjs.entry.js +46 -7
  8. package/dist/cjs/q2-btn_2.cjs.entry.js +30 -5
  9. package/dist/cjs/q2-calendar.cjs.entry.js +102 -63
  10. package/dist/cjs/q2-card.cjs.entry.js +17 -6
  11. package/dist/cjs/q2-carousel-pane.cjs.entry.js +7 -3
  12. package/dist/cjs/q2-carousel.cjs.entry.js +196 -285
  13. package/dist/cjs/q2-chart-donut.cjs.entry.js +583 -504
  14. package/dist/cjs/q2-checkbox-group.cjs.entry.js +9 -7
  15. package/dist/cjs/q2-checkbox.cjs.entry.js +17 -4
  16. package/dist/cjs/q2-dropdown-item.cjs.entry.js +9 -3
  17. package/dist/cjs/q2-dropdown.cjs.entry.js +16 -5
  18. package/dist/cjs/q2-editable-field.cjs.entry.js +16 -6
  19. package/dist/cjs/q2-icon.cjs.entry.js +6 -4
  20. package/dist/cjs/q2-loading-element.cjs.entry.js +6 -2
  21. package/dist/cjs/q2-loc.cjs.entry.js +5 -3
  22. package/dist/cjs/q2-message.cjs.entry.js +4 -3
  23. package/dist/cjs/q2-month-picker.cjs.entry.js +9 -7
  24. package/dist/cjs/q2-optgroup.cjs.entry.js +6 -5
  25. package/dist/cjs/q2-option-list_2.cjs.entry.js +21 -7
  26. package/dist/cjs/q2-option.cjs.entry.js +12 -2
  27. package/dist/cjs/q2-pagination.cjs.entry.js +11 -3
  28. package/dist/cjs/q2-pill.cjs.entry.js +25 -7
  29. package/dist/cjs/q2-radio-group.cjs.entry.js +13 -6
  30. package/dist/cjs/q2-radio.cjs.entry.js +13 -8
  31. package/dist/cjs/q2-section.cjs.entry.js +44 -11
  32. package/dist/cjs/q2-select.cjs.entry.js +26 -17
  33. package/dist/cjs/q2-stepper-pane.cjs.entry.js +8 -3
  34. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +5 -4
  35. package/dist/cjs/q2-stepper.cjs.entry.js +9 -7
  36. package/dist/cjs/q2-tab-container.cjs.entry.js +14 -9
  37. package/dist/cjs/q2-tab-pane.cjs.entry.js +10 -2
  38. package/dist/cjs/q2-tag.cjs.entry.js +20 -7
  39. package/dist/cjs/q2-tecton-elements.cjs.js +3 -3
  40. package/dist/cjs/q2-textarea.cjs.entry.js +20 -4
  41. package/dist/cjs/q2-tooltip.cjs.entry.js +9 -3
  42. package/dist/cjs/{shapes-c1a60d46.js → shapes-aad2b98f.js} +1 -1
  43. package/dist/cjs/tecton-tab-pane.cjs.entry.js +17 -2
  44. package/dist/collection/collection-manifest.json +2 -2
  45. package/dist/collection/components/click-elsewhere/index.js +18 -17
  46. package/dist/collection/components/q2-avatar/index.js +100 -92
  47. package/dist/collection/components/q2-avatar/styles.css +1 -1
  48. package/dist/collection/components/q2-badge/index.js +119 -111
  49. package/dist/collection/components/q2-badge/styles.css +1 -1
  50. package/dist/collection/components/q2-btn/index.js +349 -322
  51. package/dist/collection/components/q2-btn/styles.css +7 -7
  52. package/dist/collection/components/q2-calendar/index.js +578 -552
  53. package/dist/collection/components/q2-calendar/q2-month-picker.css +1 -1
  54. package/dist/collection/components/q2-calendar/q2-month-picker.js +112 -116
  55. package/dist/collection/components/q2-calendar/styles.css +1 -1
  56. package/dist/collection/components/q2-card/index.js +262 -244
  57. package/dist/collection/components/q2-card/styles.css +9 -2
  58. package/dist/collection/components/q2-carousel/index.js +249 -253
  59. package/dist/collection/components/q2-carousel/styles.css +1 -1
  60. package/dist/collection/components/q2-carousel-pane/index.js +108 -96
  61. package/dist/collection/components/q2-carousel-pane/styles.css +5 -4
  62. package/dist/collection/components/q2-chart-donut/index.js +350 -334
  63. package/dist/collection/components/q2-chart-donut/styles.css +3 -3
  64. package/dist/collection/components/q2-checkbox/index.js +296 -287
  65. package/dist/collection/components/q2-checkbox/styles.css +2 -2
  66. package/dist/collection/components/q2-checkbox-group/index.js +156 -152
  67. package/dist/collection/components/q2-checkbox-group/styles.css +1 -1
  68. package/dist/collection/components/q2-dropdown/index.js +255 -240
  69. package/dist/collection/components/q2-dropdown/styles.css +1 -1
  70. package/dist/collection/components/q2-dropdown-item/index.js +134 -123
  71. package/dist/collection/components/q2-dropdown-item/styles.css +12 -10
  72. package/dist/collection/components/q2-editable-field/index.js +300 -293
  73. package/dist/collection/components/q2-editable-field/styles.css +1 -1
  74. package/dist/collection/components/q2-icon/icons.js +358 -2158
  75. package/dist/collection/components/q2-icon/index.js +59 -49
  76. package/dist/collection/components/q2-icon/styles.css +1 -1
  77. package/dist/collection/components/q2-input/index.js +729 -705
  78. package/dist/collection/components/q2-input/styles.css +2 -2
  79. package/dist/collection/components/q2-loading/index.js +143 -132
  80. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js +85 -74
  81. package/dist/collection/components/q2-loading/skeleton/shapes.js +23 -36
  82. package/dist/collection/components/q2-loading/styles.css +1 -1
  83. package/dist/collection/components/q2-loc/index.js +49 -39
  84. package/dist/collection/components/q2-loc/styles.css +1 -1
  85. package/dist/collection/components/q2-message/index.js +101 -92
  86. package/dist/collection/components/q2-message/styles.css +1 -1
  87. package/dist/collection/components/q2-optgroup/index.js +64 -56
  88. package/dist/collection/components/q2-optgroup/styles.css +1 -1
  89. package/dist/collection/components/q2-option/index.js +244 -229
  90. package/dist/collection/components/q2-option/styles.css +5 -1
  91. package/dist/collection/components/q2-option-list/index.js +291 -270
  92. package/dist/collection/components/q2-option-list/styles.css +1 -1
  93. package/dist/collection/components/q2-pagination/index.js +183 -179
  94. package/dist/collection/components/q2-pagination/styles.css +1 -1
  95. package/dist/collection/components/q2-pill/index.js +260 -208
  96. package/dist/collection/components/q2-pill/styles.css +1 -1
  97. package/dist/collection/components/q2-popover/index.js +169 -151
  98. package/dist/collection/components/q2-popover/styles.css +2 -2
  99. package/dist/collection/components/q2-radio/index.js +233 -224
  100. package/dist/collection/components/q2-radio/styles.css +3 -3
  101. package/dist/collection/components/q2-radio-group/index.js +252 -244
  102. package/dist/collection/components/q2-radio-group/styles.css +1 -1
  103. package/dist/collection/components/q2-section/index.js +169 -131
  104. package/dist/collection/components/q2-section/styles.css +8 -6
  105. package/dist/collection/components/q2-select/index.js +393 -381
  106. package/dist/collection/components/q2-select/styles.css +1 -1
  107. package/dist/collection/components/q2-stepper/index.js +124 -126
  108. package/dist/collection/components/q2-stepper/styles.css +2 -1
  109. package/dist/collection/components/q2-stepper-pane/index.js +165 -149
  110. package/dist/collection/components/q2-stepper-pane/styles.css +1 -1
  111. package/dist/collection/components/q2-stepper-vertical/index.js +86 -85
  112. package/dist/collection/components/q2-stepper-vertical/styles.css +1 -1
  113. package/dist/collection/components/q2-tab-container/index.js +189 -184
  114. package/dist/collection/components/q2-tab-container/styles.css +1 -1
  115. package/dist/collection/components/q2-tab-pane/index.js +185 -166
  116. package/dist/collection/components/q2-tab-pane/styles.css +1 -1
  117. package/dist/collection/components/q2-tag/index.js +168 -116
  118. package/dist/collection/components/q2-tag/styles.css +1 -1
  119. package/dist/collection/components/q2-textarea/index.js +344 -327
  120. package/dist/collection/components/q2-textarea/styles.css +2 -2
  121. package/dist/collection/components/q2-tooltip/index.js +147 -133
  122. package/dist/collection/components/q2-tooltip/styles.css +1 -1
  123. package/dist/collection/components/tecton-tab-pane/index.js +287 -266
  124. package/dist/collection/components/tecton-tab-pane/styles.css +1 -1
  125. package/dist/collection/utils/index.js +2 -6
  126. package/dist/esm/click-elsewhere.entry.js +1 -1
  127. package/dist/esm/{icons-ed54e307.js → icons-78da5dd2.js} +1 -1
  128. package/dist/esm/{index-eac6b89e.js → index-9c591682.js} +1 -1
  129. package/dist/esm/{index-6d5ed7cc.js → index-bb1c8c7f.js} +476 -271
  130. package/dist/esm/loader.js +3 -3
  131. package/dist/esm/polyfills/css-shim.js +1 -1
  132. package/dist/esm/q2-avatar.entry.js +9 -6
  133. package/dist/esm/q2-badge_2.entry.js +46 -7
  134. package/dist/esm/q2-btn_2.entry.js +30 -5
  135. package/dist/esm/q2-calendar.entry.js +102 -63
  136. package/dist/esm/q2-card.entry.js +17 -6
  137. package/dist/esm/q2-carousel-pane.entry.js +7 -3
  138. package/dist/esm/q2-carousel.entry.js +196 -285
  139. package/dist/esm/q2-chart-donut.entry.js +583 -504
  140. package/dist/esm/q2-checkbox-group.entry.js +9 -7
  141. package/dist/esm/q2-checkbox.entry.js +17 -4
  142. package/dist/esm/q2-dropdown-item.entry.js +9 -3
  143. package/dist/esm/q2-dropdown.entry.js +16 -5
  144. package/dist/esm/q2-editable-field.entry.js +16 -6
  145. package/dist/esm/q2-icon.entry.js +6 -4
  146. package/dist/esm/q2-loading-element.entry.js +6 -2
  147. package/dist/esm/q2-loc.entry.js +5 -3
  148. package/dist/esm/q2-message.entry.js +4 -3
  149. package/dist/esm/q2-month-picker.entry.js +9 -7
  150. package/dist/esm/q2-optgroup.entry.js +6 -5
  151. package/dist/esm/q2-option-list_2.entry.js +21 -7
  152. package/dist/esm/q2-option.entry.js +12 -2
  153. package/dist/esm/q2-pagination.entry.js +11 -3
  154. package/dist/esm/q2-pill.entry.js +25 -7
  155. package/dist/esm/q2-radio-group.entry.js +13 -6
  156. package/dist/esm/q2-radio.entry.js +13 -8
  157. package/dist/esm/q2-section.entry.js +44 -11
  158. package/dist/esm/q2-select.entry.js +26 -17
  159. package/dist/esm/q2-stepper-pane.entry.js +8 -3
  160. package/dist/esm/q2-stepper-vertical.entry.js +5 -4
  161. package/dist/esm/q2-stepper.entry.js +9 -7
  162. package/dist/esm/q2-tab-container.entry.js +14 -9
  163. package/dist/esm/q2-tab-pane.entry.js +10 -2
  164. package/dist/esm/q2-tag.entry.js +20 -7
  165. package/dist/esm/q2-tecton-elements.js +3 -3
  166. package/dist/esm/q2-textarea.entry.js +20 -4
  167. package/dist/esm/q2-tooltip.entry.js +9 -3
  168. package/dist/esm/{shapes-c32e3ba2.js → shapes-62b8a431.js} +1 -1
  169. package/dist/esm/tecton-tab-pane.entry.js +17 -2
  170. package/dist/loader/package.json +1 -0
  171. package/dist/q2-tecton-elements/p-0ba564b1.entry.js +1 -0
  172. package/dist/q2-tecton-elements/p-0fad9c5a.entry.js +1 -0
  173. package/dist/q2-tecton-elements/{p-73154834.js → p-13a639cf.js} +1 -1
  174. package/dist/q2-tecton-elements/p-16c11d74.entry.js +1 -0
  175. package/dist/q2-tecton-elements/p-17e0cbf1.entry.js +1 -0
  176. package/dist/q2-tecton-elements/p-2c9b1308.entry.js +1 -0
  177. package/dist/q2-tecton-elements/p-2e832e42.entry.js +1 -0
  178. package/dist/q2-tecton-elements/p-315fdb74.entry.js +1 -0
  179. package/dist/q2-tecton-elements/{p-c608e3c9.entry.js → p-444415b5.entry.js} +1 -1
  180. package/dist/q2-tecton-elements/p-4d700630.entry.js +1 -0
  181. package/dist/q2-tecton-elements/p-54e792bd.entry.js +1 -0
  182. package/dist/q2-tecton-elements/{p-80014da0.js → p-5e374fbd.js} +1 -1
  183. package/dist/q2-tecton-elements/p-5f064e1e.entry.js +39 -0
  184. package/dist/q2-tecton-elements/p-692f2d09.entry.js +1 -0
  185. package/dist/q2-tecton-elements/p-6e6b5b80.entry.js +1 -0
  186. package/dist/q2-tecton-elements/p-74136b15.entry.js +1 -0
  187. package/dist/q2-tecton-elements/p-7e8f43d1.entry.js +1 -0
  188. package/dist/q2-tecton-elements/p-8e380edf.entry.js +1 -0
  189. package/dist/q2-tecton-elements/p-926a3e80.js +2 -0
  190. package/dist/q2-tecton-elements/{p-93c00587.js → p-92e1faf8.js} +1 -1
  191. package/dist/q2-tecton-elements/p-9772b15f.entry.js +1 -0
  192. package/dist/q2-tecton-elements/p-97aa8423.entry.js +1 -0
  193. package/dist/q2-tecton-elements/{p-17cffd7d.entry.js → p-a987402e.entry.js} +1 -1
  194. package/dist/q2-tecton-elements/p-aaf42539.entry.js +1 -0
  195. package/dist/q2-tecton-elements/p-ac674c20.entry.js +1 -0
  196. package/dist/q2-tecton-elements/p-b8b00394.entry.js +1 -0
  197. package/dist/q2-tecton-elements/p-c444a60b.entry.js +1 -0
  198. package/dist/q2-tecton-elements/p-c6c489fe.entry.js +1 -0
  199. package/dist/q2-tecton-elements/p-ce015552.entry.js +1 -0
  200. package/dist/q2-tecton-elements/p-d464fccc.entry.js +1 -0
  201. package/dist/q2-tecton-elements/p-de164483.entry.js +1 -0
  202. package/dist/q2-tecton-elements/p-df91e954.entry.js +1 -0
  203. package/dist/q2-tecton-elements/p-e6d26f39.entry.js +1 -0
  204. package/dist/q2-tecton-elements/p-e8e113c2.entry.js +1 -0
  205. package/dist/q2-tecton-elements/p-f1d06917.entry.js +1 -0
  206. package/dist/q2-tecton-elements/p-f219fe9d.entry.js +1 -0
  207. package/dist/q2-tecton-elements/p-f800fd1e.entry.js +1 -0
  208. package/dist/q2-tecton-elements/p-fb37e67e.entry.js +1 -0
  209. package/dist/q2-tecton-elements/p-fc134a5d.entry.js +1 -0
  210. package/dist/q2-tecton-elements/p-fe88e979.entry.js +1 -0
  211. package/dist/q2-tecton-elements/p-ffb48ccc.entry.js +1 -0
  212. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  213. package/dist/test/helpers.js +6 -0
  214. package/dist/types/components/q2-pill/index.d.ts +3 -0
  215. package/dist/types/components/q2-section/index.d.ts +3 -0
  216. package/dist/types/components/q2-tag/index.d.ts +3 -0
  217. package/dist/types/components.d.ts +154 -38
  218. package/dist/types/stencil-public-runtime.d.ts +20 -4
  219. package/dist/types/workspace/workspace/{Tecton_tecton-production_master → tecton-production_release_1.19.x}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +2 -0
  220. package/package.json +6 -6
  221. package/dist/q2-tecton-elements/p-02c1b7fd.entry.js +0 -1
  222. package/dist/q2-tecton-elements/p-04c743f2.entry.js +0 -1
  223. package/dist/q2-tecton-elements/p-07dc509c.entry.js +0 -1
  224. package/dist/q2-tecton-elements/p-12caa479.entry.js +0 -1
  225. package/dist/q2-tecton-elements/p-160dd1c2.entry.js +0 -1
  226. package/dist/q2-tecton-elements/p-1a3de749.entry.js +0 -1
  227. package/dist/q2-tecton-elements/p-2061c3fd.entry.js +0 -1
  228. package/dist/q2-tecton-elements/p-2a217895.entry.js +0 -1
  229. package/dist/q2-tecton-elements/p-2b94ae62.entry.js +0 -1
  230. package/dist/q2-tecton-elements/p-2e54f9a0.entry.js +0 -1
  231. package/dist/q2-tecton-elements/p-375569ff.entry.js +0 -1
  232. package/dist/q2-tecton-elements/p-3766cc6c.entry.js +0 -1
  233. package/dist/q2-tecton-elements/p-3eda2714.entry.js +0 -1
  234. package/dist/q2-tecton-elements/p-421af42d.entry.js +0 -1
  235. package/dist/q2-tecton-elements/p-4c53713d.entry.js +0 -1
  236. package/dist/q2-tecton-elements/p-4fd405f5.entry.js +0 -1
  237. package/dist/q2-tecton-elements/p-509c8924.entry.js +0 -1
  238. package/dist/q2-tecton-elements/p-55dc3dc1.entry.js +0 -1
  239. package/dist/q2-tecton-elements/p-5fffb28a.entry.js +0 -1
  240. package/dist/q2-tecton-elements/p-612e9974.entry.js +0 -1
  241. package/dist/q2-tecton-elements/p-64ca8c59.entry.js +0 -1
  242. package/dist/q2-tecton-elements/p-796c2bb5.entry.js +0 -1
  243. package/dist/q2-tecton-elements/p-86887866.entry.js +0 -1
  244. package/dist/q2-tecton-elements/p-9204c34d.entry.js +0 -1
  245. package/dist/q2-tecton-elements/p-9725d55f.entry.js +0 -1
  246. package/dist/q2-tecton-elements/p-a0fa416d.entry.js +0 -39
  247. package/dist/q2-tecton-elements/p-bd83e8e2.entry.js +0 -1
  248. package/dist/q2-tecton-elements/p-be0f2539.entry.js +0 -1
  249. package/dist/q2-tecton-elements/p-c05b0b55.entry.js +0 -1
  250. package/dist/q2-tecton-elements/p-c5691700.js +0 -1
  251. package/dist/q2-tecton-elements/p-d826d7ad.entry.js +0 -1
  252. package/dist/q2-tecton-elements/p-d9e9340c.entry.js +0 -1
  253. package/dist/q2-tecton-elements/p-e5757895.entry.js +0 -1
  254. package/dist/q2-tecton-elements/p-e68c9ef0.entry.js +0 -1
  255. package/dist/q2-tecton-elements/p-eb33bda4.entry.js +0 -1
  256. package/dist/q2-tecton-elements/p-f319549d.entry.js +0 -1
@@ -1,8 +1,7 @@
1
- import { Component, Prop, Element, Listen, State, Watch, h, Event, } from '@stencil/core';
1
+ import { h, } from '@stencil/core';
2
2
  import { isEventFromElement, loc, nextPaint, overrideFocus, resizeIframe } from 'src/utils';
3
3
  export class Q2Section {
4
4
  constructor() {
5
- this.hasYieldedHeader = false;
6
5
  this.titleId = 'title';
7
6
  this.contentId = 'content';
8
7
  /// Event Handlers ///
@@ -12,7 +11,12 @@ export class Q2Section {
12
11
  });
13
12
  };
14
13
  this.onTransitionEnd = () => {
15
- this.contentHeight = this.currentHeight;
14
+ if (this.expanded) {
15
+ this.contentHeight = undefined;
16
+ }
17
+ else {
18
+ this.hideContent = true;
19
+ }
16
20
  setTimeout(() => {
17
21
  // This gives enough time for all values to get passed over
18
22
  // Previously, the interval was never cleared and the fn was called indefinitely then filtered
@@ -65,9 +69,19 @@ export class Q2Section {
65
69
  }
66
70
  this.contentSlotMutationObserver.disconnect();
67
71
  };
72
+ this.label = undefined;
73
+ this.collapsible = undefined;
74
+ this.noCollapseIcon = undefined;
75
+ this.expanded = undefined;
76
+ this.contentHeight = undefined;
77
+ this.hideContent = false;
78
+ this.hasYieldedHeader = false;
68
79
  }
69
80
  componentWillLoad() {
70
81
  this.onHeaderSlotChange();
82
+ const { collapsible, expanded } = this;
83
+ this.contentHeight = collapsible && expanded ? undefined : '0px';
84
+ this.hideContent = !expanded;
71
85
  }
72
86
  componentDidLoad() {
73
87
  this.addHeaderSlotListener();
@@ -94,15 +108,24 @@ export class Q2Section {
94
108
  this.clearResizeInterval();
95
109
  this.resizerFn = setInterval(resizeIframe, 5);
96
110
  if (expanded) {
97
- this.contentHeight = this.currentHeight;
111
+ this.expandSection();
98
112
  }
99
113
  else {
100
- this.contentHeight = this.contentContainerHeight;
101
- await nextPaint(() => {
102
- this.contentHeight = this.currentHeight;
103
- });
114
+ this.collapseSection();
104
115
  }
105
116
  }
117
+ async collapseSection() {
118
+ this.contentHeight = this.contentContainerHeight;
119
+ await nextPaint(() => {
120
+ this.contentHeight = this.currentHeight;
121
+ });
122
+ }
123
+ async expandSection() {
124
+ this.hideContent = false;
125
+ await nextPaint(() => {
126
+ this.contentHeight = this.currentHeight;
127
+ });
128
+ }
106
129
  collapsibleObserver() {
107
130
  this.contentHeight = this.currentHeight;
108
131
  }
@@ -124,135 +147,150 @@ export class Q2Section {
124
147
  }
125
148
  render() {
126
149
  const hasHeader = this.label || this.hasYieldedHeader;
127
- return (h("section", { class: "wrapper" },
128
- h("header", { class: hasHeader ? 'has-header' : '' },
129
- h("div", { class: "header-content", id: this.titleId, onClick: this.collapsible && this.onHeaderClick },
130
- !this.hasYieldedHeader && !!this.label ? h("h2", { class: "title" }, loc(this.label)) : '',
131
- h("div", { ref: el => (this.headerSlotWrapper = el), class: "header-slot-wrapper" },
132
- h("slot", { ref: (el) => (this.headerSlot = el), name: "q2-section-header" }))),
133
- this.collapsible && !this.noCollapseIcon && (h("q2-btn", { label: this.label, ariaExpanded: `${!!this.expanded}`, ariaControls: this.contentId, "test-id": "toggleButton", "hide-label": true, onClick: this.onHeaderClick },
134
- h("q2-icon", { type: "chevron-up" })))),
135
- h("div", { class: "content-wrapper", id: this.contentId, "aria-labelledby": this.titleId, role: "region", onTransitionEnd: this.onTransitionEnd, style: this.collapsible && { height: this.contentHeight } },
136
- h("div", { ref: el => (this.contentContainer = el), class: "content", tabindex: "-1" },
137
- h("slot", { ref: (el) => (this.contentSlot = el) })))));
150
+ const wrapperClasses = ['content-wrapper'];
151
+ const { collapsible, hideContent, contentHeight } = this;
152
+ if (collapsible) {
153
+ if (hideContent)
154
+ wrapperClasses.push('is-closed');
155
+ else if (contentHeight)
156
+ wrapperClasses.push('is-transitioning');
157
+ }
158
+ return (h("section", { class: "wrapper" }, h("header", { class: hasHeader ? 'has-header' : '' }, h("div", { class: "header-content", id: this.titleId, onClick: this.collapsible && this.onHeaderClick }, !this.hasYieldedHeader && !!this.label ? h("h2", { class: "title" }, loc(this.label)) : '', h("div", { ref: el => (this.headerSlotWrapper = el), class: "header-slot-wrapper" }, h("slot", { ref: (el) => (this.headerSlot = el), name: "q2-section-header" }))), this.collapsible && !this.noCollapseIcon && (h("q2-btn", { label: this.label, ariaExpanded: `${!!this.expanded}`, ariaControls: this.contentId, "test-id": "toggleButton", "hide-label": true, onClick: this.onHeaderClick }, h("q2-icon", { type: "chevron-up" })))), h("div", { class: wrapperClasses.join(' '), id: this.contentId, "aria-labelledby": this.titleId, role: "region", onTransitionEnd: this.onTransitionEnd, style: this.collapsible && {
159
+ height: this.contentHeight,
160
+ } }, h("div", { ref: el => (this.contentContainer = el), class: "content", tabindex: "-1" }, h("slot", { ref: (el) => (this.contentSlot = el) })))));
138
161
  }
139
162
  static get is() { return "q2-section"; }
140
163
  static get encapsulation() { return "shadow"; }
141
- static get originalStyleUrls() { return {
142
- "$": ["styles.scss"]
143
- }; }
144
- static get styleUrls() { return {
145
- "$": ["styles.css"]
146
- }; }
147
- static get properties() { return {
148
- "label": {
149
- "type": "string",
150
- "mutable": false,
151
- "complexType": {
152
- "original": "string",
153
- "resolved": "string",
154
- "references": {}
155
- },
156
- "required": false,
157
- "optional": false,
158
- "docs": {
159
- "tags": [],
160
- "text": ""
161
- },
162
- "attribute": "label",
163
- "reflect": true
164
- },
165
- "collapsible": {
166
- "type": "boolean",
167
- "mutable": false,
168
- "complexType": {
169
- "original": "boolean",
170
- "resolved": "boolean",
171
- "references": {}
172
- },
173
- "required": false,
174
- "optional": false,
175
- "docs": {
176
- "tags": [],
177
- "text": ""
178
- },
179
- "attribute": "collapsible",
180
- "reflect": true
181
- },
182
- "noCollapseIcon": {
183
- "type": "boolean",
184
- "mutable": false,
185
- "complexType": {
186
- "original": "boolean",
187
- "resolved": "boolean",
188
- "references": {}
189
- },
190
- "required": false,
191
- "optional": false,
192
- "docs": {
193
- "tags": [],
194
- "text": ""
195
- },
196
- "attribute": "no-collapse-icon",
197
- "reflect": true
198
- },
199
- "expanded": {
200
- "type": "boolean",
201
- "mutable": true,
202
- "complexType": {
203
- "original": "boolean",
204
- "resolved": "boolean",
205
- "references": {}
164
+ static get originalStyleUrls() {
165
+ return {
166
+ "$": ["styles.scss"]
167
+ };
168
+ }
169
+ static get styleUrls() {
170
+ return {
171
+ "$": ["styles.css"]
172
+ };
173
+ }
174
+ static get properties() {
175
+ return {
176
+ "label": {
177
+ "type": "string",
178
+ "mutable": false,
179
+ "complexType": {
180
+ "original": "string",
181
+ "resolved": "string",
182
+ "references": {}
183
+ },
184
+ "required": false,
185
+ "optional": false,
186
+ "docs": {
187
+ "tags": [],
188
+ "text": ""
189
+ },
190
+ "attribute": "label",
191
+ "reflect": true
206
192
  },
207
- "required": false,
208
- "optional": false,
209
- "docs": {
210
- "tags": [],
211
- "text": ""
193
+ "collapsible": {
194
+ "type": "boolean",
195
+ "mutable": false,
196
+ "complexType": {
197
+ "original": "boolean",
198
+ "resolved": "boolean",
199
+ "references": {}
200
+ },
201
+ "required": false,
202
+ "optional": false,
203
+ "docs": {
204
+ "tags": [],
205
+ "text": ""
206
+ },
207
+ "attribute": "collapsible",
208
+ "reflect": true
212
209
  },
213
- "attribute": "expanded",
214
- "reflect": true
215
- }
216
- }; }
217
- static get states() { return {
218
- "contentHeight": {},
219
- "hasYieldedHeader": {}
220
- }; }
221
- static get events() { return [{
222
- "method": "change",
223
- "name": "change",
224
- "bubbles": true,
225
- "cancelable": true,
226
- "composed": true,
227
- "docs": {
228
- "tags": [],
229
- "text": ""
210
+ "noCollapseIcon": {
211
+ "type": "boolean",
212
+ "mutable": false,
213
+ "complexType": {
214
+ "original": "boolean",
215
+ "resolved": "boolean",
216
+ "references": {}
217
+ },
218
+ "required": false,
219
+ "optional": false,
220
+ "docs": {
221
+ "tags": [],
222
+ "text": ""
223
+ },
224
+ "attribute": "no-collapse-icon",
225
+ "reflect": true
230
226
  },
231
- "complexType": {
232
- "original": "any",
233
- "resolved": "any",
234
- "references": {}
227
+ "expanded": {
228
+ "type": "boolean",
229
+ "mutable": true,
230
+ "complexType": {
231
+ "original": "boolean",
232
+ "resolved": "boolean",
233
+ "references": {}
234
+ },
235
+ "required": false,
236
+ "optional": false,
237
+ "docs": {
238
+ "tags": [],
239
+ "text": ""
240
+ },
241
+ "attribute": "expanded",
242
+ "reflect": true
235
243
  }
236
- }]; }
244
+ };
245
+ }
246
+ static get states() {
247
+ return {
248
+ "contentHeight": {},
249
+ "hideContent": {},
250
+ "hasYieldedHeader": {}
251
+ };
252
+ }
253
+ static get events() {
254
+ return [{
255
+ "method": "change",
256
+ "name": "change",
257
+ "bubbles": true,
258
+ "cancelable": true,
259
+ "composed": true,
260
+ "docs": {
261
+ "tags": [],
262
+ "text": ""
263
+ },
264
+ "complexType": {
265
+ "original": "any",
266
+ "resolved": "any",
267
+ "references": {}
268
+ }
269
+ }];
270
+ }
237
271
  static get elementRef() { return "hostElement"; }
238
- static get watchers() { return [{
239
- "propName": "expanded",
240
- "methodName": "expandedObserver"
241
- }, {
242
- "propName": "collapsible",
243
- "methodName": "collapsibleObserver"
244
- }]; }
245
- static get listeners() { return [{
246
- "name": "change",
247
- "method": "defaultChangeHandler",
248
- "target": undefined,
249
- "capture": false,
250
- "passive": false
251
- }, {
252
- "name": "focus",
253
- "method": "delegateFocus",
254
- "target": undefined,
255
- "capture": false,
256
- "passive": false
257
- }]; }
272
+ static get watchers() {
273
+ return [{
274
+ "propName": "expanded",
275
+ "methodName": "expandedObserver"
276
+ }, {
277
+ "propName": "collapsible",
278
+ "methodName": "collapsibleObserver"
279
+ }];
280
+ }
281
+ static get listeners() {
282
+ return [{
283
+ "name": "change",
284
+ "method": "defaultChangeHandler",
285
+ "target": undefined,
286
+ "capture": false,
287
+ "passive": false
288
+ }, {
289
+ "name": "focus",
290
+ "method": "delegateFocus",
291
+ "target": undefined,
292
+ "capture": false,
293
+ "passive": false
294
+ }];
295
+ }
258
296
  }
@@ -8,7 +8,7 @@
8
8
 
9
9
  *:focus {
10
10
  outline: none;
11
- box-shadow: var(--const-global-focus, 0 0 0 2px #33b4ff);
11
+ box-shadow: var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C);
12
12
  }
13
13
 
14
14
  :host {
@@ -129,13 +129,15 @@ q2-icon {
129
129
  .content-wrapper {
130
130
  height: auto;
131
131
  }
132
- :host([collapsible]) .content-wrapper {
133
- transition: height var(--comp-tween);
132
+ .content-wrapper.is-closed {
133
+ display: none;
134
134
  overflow: hidden;
135
135
  }
136
- :host([collapsible]) :host(:not([expanded])) .content-wrapper {
137
- height: 0;
138
- padding-top: 0;
136
+ .content-wrapper.is-transitioning {
137
+ overflow: hidden;
138
+ }
139
+ :host([collapsible]) .content-wrapper {
140
+ transition: height var(--comp-tween);
139
141
  }
140
142
 
141
143
  .content {