q2-tecton-elements 1.60.0 → 1.60.2

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 (223) hide show
  1. package/dist/bundle-report.json +911 -870
  2. package/dist/cjs/click-elsewhere.cjs.entry.js +1 -1
  3. package/dist/cjs/{index-JnAD7tEB.js → index-BYXz4owL.js} +5 -2
  4. package/dist/cjs/index-BYXz4owL.js.map +1 -0
  5. package/dist/cjs/{index-B6mUspT0.js → index-BuXzB2ML.js} +3 -3
  6. package/dist/cjs/{index-B6mUspT0.js.map → index-BuXzB2ML.js.map} +1 -1
  7. package/dist/cjs/loader.cjs.js +2 -2
  8. package/dist/cjs/q2-action-group_2.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  10. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-badge.q2-btn.q2-icon.q2-input.q2-loading.q2-tab-container.q2-tab-pane.entry.cjs.js.map +1 -1
  12. package/dist/cjs/q2-badge_7.cjs.entry.js +171 -27
  13. package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
  14. package/dist/cjs/q2-calendar.cjs.entry.js +2 -2
  15. package/dist/cjs/q2-card.cjs.entry.js +2 -2
  16. package/dist/cjs/q2-carousel-pane.cjs.entry.js +2 -2
  17. package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  20. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  22. package/dist/cjs/q2-checkbox.cjs.entry.js +3 -3
  23. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-checkbox.entry.cjs.js.map +1 -1
  25. package/dist/cjs/q2-context.cjs.entry.js +2 -2
  26. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  28. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  30. package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
  32. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  33. package/dist/cjs/q2-file-picker.cjs.entry.js +2 -2
  34. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-grid-area.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-grid.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-item.cjs.entry.js +2 -2
  39. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  40. package/dist/cjs/q2-link_2.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-loading-element.cjs.entry.js +2 -2
  42. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  43. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  44. package/dist/cjs/q2-modal.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-month-picker.cjs.entry.js +2 -2
  46. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  47. package/dist/cjs/q2-option-list_2.cjs.entry.js +2 -2
  48. package/dist/cjs/q2-option.cjs.entry.js +2 -2
  49. package/dist/cjs/q2-pagination.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  54. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  55. package/dist/cjs/q2-select.cjs.entry.js +2 -2
  56. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  57. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  58. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  59. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  60. package/dist/cjs/q2-tecton-elements.cjs.js +2 -2
  61. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  62. package/dist/cjs/q2-tooltip.cjs.entry.js +2 -2
  63. package/dist/cjs/{shapes-CmBHp0YP.js → shapes-AGx9jMFH.js} +3 -3
  64. package/dist/cjs/{shapes-CmBHp0YP.js.map → shapes-AGx9jMFH.js.map} +1 -1
  65. package/dist/cjs/tecton-tab-pane.cjs.entry.js +1 -1
  66. package/dist/collection/components/q2-checkbox/q2-checkbox.css +1 -0
  67. package/dist/collection/components/q2-data-table/q2-data-table.js +7 -7
  68. package/dist/collection/components/q2-file-picker/q2-file-picker.js +3 -3
  69. package/dist/collection/components/q2-grid/q2-grid.js +30 -30
  70. package/dist/collection/components/q2-grid-area/q2-grid-area.js +42 -42
  71. package/dist/collection/components/q2-icon/q2-icon.js +5 -20
  72. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  73. package/dist/collection/components/q2-input/q2-input.js +1 -1
  74. package/dist/collection/components/q2-loading/q2-loading.css +8 -0
  75. package/dist/collection/components/q2-loading/q2-loading.js +168 -5
  76. package/dist/collection/components/q2-loading/q2-loading.js.map +1 -1
  77. package/dist/collection/components/q2-option-list/q2-option-list.js +4 -4
  78. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +2 -2
  79. package/dist/collection/utils/sprites.js +16 -0
  80. package/dist/collection/utils/sprites.js.map +1 -0
  81. package/dist/components/q2-checkbox2.js +1 -1
  82. package/dist/components/q2-checkbox2.js.map +1 -1
  83. package/dist/components/q2-icon2.js +5 -20
  84. package/dist/components/q2-icon2.js.map +1 -1
  85. package/dist/components/q2-loading2.js +154 -5
  86. package/dist/components/q2-loading2.js.map +1 -1
  87. package/dist/components/sprites.js +20 -0
  88. package/dist/components/sprites.js.map +1 -0
  89. package/dist/esm/click-elsewhere.entry.js +1 -1
  90. package/dist/esm/{index-COzomxjJ.js → index-CGkHOjh1.js} +5 -2
  91. package/dist/esm/index-CGkHOjh1.js.map +1 -0
  92. package/dist/esm/{index-CkXFIBxL.js → index-xCuy-dFb.js} +3 -3
  93. package/dist/{q2-tecton-elements/index-CkXFIBxL.js.map → esm/index-xCuy-dFb.js.map} +1 -1
  94. package/dist/esm/loader.js +3 -3
  95. package/dist/esm/q2-action-group_2.entry.js +2 -2
  96. package/dist/esm/q2-action-sheet.entry.js +2 -2
  97. package/dist/esm/q2-avatar.entry.js +1 -1
  98. package/dist/esm/q2-badge.q2-btn.q2-icon.q2-input.q2-loading.q2-tab-container.q2-tab-pane.entry.js.map +1 -1
  99. package/dist/esm/q2-badge_7.entry.js +171 -27
  100. package/dist/esm/q2-badge_7.entry.js.map +1 -1
  101. package/dist/esm/q2-calendar.entry.js +2 -2
  102. package/dist/esm/q2-card.entry.js +2 -2
  103. package/dist/esm/q2-carousel-pane.entry.js +2 -2
  104. package/dist/esm/q2-carousel.entry.js +2 -2
  105. package/dist/esm/q2-chart-area.entry.js +2 -2
  106. package/dist/esm/q2-chart-bar.entry.js +2 -2
  107. package/dist/esm/q2-chart-donut.entry.js +2 -2
  108. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  109. package/dist/esm/q2-checkbox.entry.js +3 -3
  110. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  111. package/dist/esm/q2-context.entry.js +2 -2
  112. package/dist/esm/q2-currency.entry.js +1 -1
  113. package/dist/esm/q2-data-table.entry.js +2 -2
  114. package/dist/esm/q2-detail.entry.js +2 -2
  115. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  116. package/dist/esm/q2-dropdown.entry.js +2 -2
  117. package/dist/esm/q2-editable-field.entry.js +2 -2
  118. package/dist/esm/q2-example.entry.js +1 -1
  119. package/dist/esm/q2-file-picker.entry.js +2 -2
  120. package/dist/esm/q2-form.entry.js +1 -1
  121. package/dist/esm/q2-formatted-text.entry.js +1 -1
  122. package/dist/esm/q2-grid-area.entry.js +1 -1
  123. package/dist/esm/q2-grid.entry.js +1 -1
  124. package/dist/esm/q2-item.entry.js +2 -2
  125. package/dist/esm/q2-legend.entry.js +1 -1
  126. package/dist/esm/q2-link_2.entry.js +2 -2
  127. package/dist/esm/q2-loading-element.entry.js +2 -2
  128. package/dist/esm/q2-loc.entry.js +2 -2
  129. package/dist/esm/q2-message.entry.js +2 -2
  130. package/dist/esm/q2-modal.entry.js +2 -2
  131. package/dist/esm/q2-month-picker.entry.js +2 -2
  132. package/dist/esm/q2-optgroup.entry.js +2 -2
  133. package/dist/esm/q2-option-list_2.entry.js +2 -2
  134. package/dist/esm/q2-option.entry.js +2 -2
  135. package/dist/esm/q2-pagination.entry.js +2 -2
  136. package/dist/esm/q2-pill.entry.js +2 -2
  137. package/dist/esm/q2-radio-group.entry.js +2 -2
  138. package/dist/esm/q2-radio.entry.js +2 -2
  139. package/dist/esm/q2-relative-time.entry.js +2 -2
  140. package/dist/esm/q2-section.entry.js +2 -2
  141. package/dist/esm/q2-select.entry.js +2 -2
  142. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  143. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  144. package/dist/esm/q2-stepper.entry.js +2 -2
  145. package/dist/esm/q2-tag.entry.js +2 -2
  146. package/dist/esm/q2-tecton-elements.js +3 -3
  147. package/dist/esm/q2-textarea.entry.js +2 -2
  148. package/dist/esm/q2-tooltip.entry.js +2 -2
  149. package/dist/esm/{shapes-ElQYMSyu.js → shapes-B6iI6sMH.js} +3 -3
  150. package/dist/esm/{shapes-ElQYMSyu.js.map → shapes-B6iI6sMH.js.map} +1 -1
  151. package/dist/esm/tecton-tab-pane.entry.js +1 -1
  152. package/dist/q2-tecton-elements/click-elsewhere.entry.js +1 -1
  153. package/dist/q2-tecton-elements/{index-COzomxjJ.js → index-CGkHOjh1.js} +5 -2
  154. package/dist/q2-tecton-elements/index-CGkHOjh1.js.map +1 -0
  155. package/dist/q2-tecton-elements/{index-CkXFIBxL.js → index-xCuy-dFb.js} +3 -3
  156. package/dist/{esm/index-CkXFIBxL.js.map → q2-tecton-elements/index-xCuy-dFb.js.map} +1 -1
  157. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +2 -2
  158. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +2 -2
  159. package/dist/q2-tecton-elements/q2-avatar.entry.js +1 -1
  160. package/dist/q2-tecton-elements/q2-badge.q2-btn.q2-icon.q2-input.q2-loading.q2-tab-container.q2-tab-pane.entry.esm.js.map +1 -1
  161. package/dist/q2-tecton-elements/q2-badge_7.entry.js +259 -121
  162. package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
  163. package/dist/q2-tecton-elements/q2-calendar.entry.js +2 -2
  164. package/dist/q2-tecton-elements/q2-card.entry.js +2 -2
  165. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +2 -2
  166. package/dist/q2-tecton-elements/q2-carousel.entry.js +2 -2
  167. package/dist/q2-tecton-elements/q2-chart-area.entry.js +2 -2
  168. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +2 -2
  169. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +2 -2
  170. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +2 -2
  171. package/dist/q2-tecton-elements/q2-checkbox.entry.esm.js.map +1 -1
  172. package/dist/q2-tecton-elements/q2-checkbox.entry.js +3 -3
  173. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +1 -1
  174. package/dist/q2-tecton-elements/q2-context.entry.js +2 -2
  175. package/dist/q2-tecton-elements/q2-currency.entry.js +1 -1
  176. package/dist/q2-tecton-elements/q2-data-table.entry.js +2 -2
  177. package/dist/q2-tecton-elements/q2-detail.entry.js +2 -2
  178. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +2 -2
  179. package/dist/q2-tecton-elements/q2-dropdown.entry.js +9 -9
  180. package/dist/q2-tecton-elements/q2-editable-field.entry.js +2 -2
  181. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  182. package/dist/q2-tecton-elements/q2-file-picker.entry.js +2 -2
  183. package/dist/q2-tecton-elements/q2-form.entry.js +5 -5
  184. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +1 -1
  185. package/dist/q2-tecton-elements/q2-grid-area.entry.js +1 -1
  186. package/dist/q2-tecton-elements/q2-grid.entry.js +1 -1
  187. package/dist/q2-tecton-elements/q2-item.entry.js +2 -2
  188. package/dist/q2-tecton-elements/q2-legend.entry.js +1 -1
  189. package/dist/q2-tecton-elements/q2-link_2.entry.js +2 -2
  190. package/dist/q2-tecton-elements/q2-loading-element.entry.js +2 -2
  191. package/dist/q2-tecton-elements/q2-loc.entry.js +2 -2
  192. package/dist/q2-tecton-elements/q2-message.entry.js +2 -2
  193. package/dist/q2-tecton-elements/q2-modal.entry.js +2 -2
  194. package/dist/q2-tecton-elements/q2-month-picker.entry.js +2 -2
  195. package/dist/q2-tecton-elements/q2-optgroup.entry.js +2 -2
  196. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +16 -16
  197. package/dist/q2-tecton-elements/q2-option.entry.js +2 -2
  198. package/dist/q2-tecton-elements/q2-pagination.entry.js +2 -2
  199. package/dist/q2-tecton-elements/q2-pill.entry.js +2 -2
  200. package/dist/q2-tecton-elements/q2-radio-group.entry.js +12 -12
  201. package/dist/q2-tecton-elements/q2-radio.entry.js +5 -5
  202. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  203. package/dist/q2-tecton-elements/q2-section.entry.js +2 -2
  204. package/dist/q2-tecton-elements/q2-select.entry.js +2 -2
  205. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +2 -2
  206. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +2 -2
  207. package/dist/q2-tecton-elements/q2-stepper.entry.js +8 -8
  208. package/dist/q2-tecton-elements/q2-tag.entry.js +2 -2
  209. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +3 -3
  210. package/dist/q2-tecton-elements/q2-textarea.entry.js +2 -2
  211. package/dist/q2-tecton-elements/q2-tooltip.entry.js +2 -2
  212. package/dist/q2-tecton-elements/{shapes-ElQYMSyu.js → shapes-B6iI6sMH.js} +3 -3
  213. package/dist/q2-tecton-elements/{shapes-ElQYMSyu.js.map → shapes-B6iI6sMH.js.map} +1 -1
  214. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +4 -4
  215. package/dist/types/components/q2-icon/q2-icon.d.ts +0 -5
  216. package/dist/types/components/q2-loading/q2-loading.d.ts +16 -2
  217. package/dist/types/components.d.ts +2 -2
  218. package/dist/types/utils/sprites.d.ts +5 -0
  219. package/package.json +3 -3
  220. package/dist/cjs/index-JnAD7tEB.js.map +0 -1
  221. package/dist/esm/index-COzomxjJ.js.map +0 -1
  222. package/dist/q2-tecton-elements/index-COzomxjJ.js.map +0 -1
  223. /package/dist/types/{home/gitlab-runner/builds → builds}/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +0 -0
@@ -122,7 +122,7 @@ export class Q2GridArea {
122
122
  "references": {
123
123
  "TQ2GridAreaAlignOptions": {
124
124
  "location": "local",
125
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
125
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
126
126
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaAlignOptions"
127
127
  }
128
128
  }
@@ -148,7 +148,7 @@ export class Q2GridArea {
148
148
  "references": {
149
149
  "TQ2GridAreaColumnSpanOptions": {
150
150
  "location": "local",
151
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
151
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
152
152
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnSpanOptions"
153
153
  }
154
154
  }
@@ -174,7 +174,7 @@ export class Q2GridArea {
174
174
  "references": {
175
175
  "TQ2GridAreaColumnStartOptions": {
176
176
  "location": "local",
177
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
177
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
178
178
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnStartOptions"
179
179
  }
180
180
  }
@@ -200,7 +200,7 @@ export class Q2GridArea {
200
200
  "references": {
201
201
  "TQ2GridAreaJustifyOptions": {
202
202
  "location": "local",
203
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
203
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
204
204
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaJustifyOptions"
205
205
  }
206
206
  }
@@ -226,7 +226,7 @@ export class Q2GridArea {
226
226
  "references": {
227
227
  "TQ2GridAreaAlignOptions": {
228
228
  "location": "local",
229
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
229
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
230
230
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaAlignOptions"
231
231
  }
232
232
  }
@@ -251,7 +251,7 @@ export class Q2GridArea {
251
251
  "references": {
252
252
  "TQ2GridAreaColumnSpanOptions": {
253
253
  "location": "local",
254
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
254
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
255
255
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnSpanOptions"
256
256
  }
257
257
  }
@@ -276,7 +276,7 @@ export class Q2GridArea {
276
276
  "references": {
277
277
  "TQ2GridAreaColumnStartOptions": {
278
278
  "location": "local",
279
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
279
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
280
280
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnStartOptions"
281
281
  }
282
282
  }
@@ -301,7 +301,7 @@ export class Q2GridArea {
301
301
  "references": {
302
302
  "TQ2GridAreaJustifyOptions": {
303
303
  "location": "local",
304
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
304
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
305
305
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaJustifyOptions"
306
306
  }
307
307
  }
@@ -326,7 +326,7 @@ export class Q2GridArea {
326
326
  "references": {
327
327
  "TQ2GridAreaRowSpanOptions": {
328
328
  "location": "local",
329
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
329
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
330
330
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowSpanOptions"
331
331
  }
332
332
  }
@@ -351,7 +351,7 @@ export class Q2GridArea {
351
351
  "references": {
352
352
  "TQ2GridAreaRowStartOptions": {
353
353
  "location": "local",
354
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
354
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
355
355
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowStartOptions"
356
356
  }
357
357
  }
@@ -376,7 +376,7 @@ export class Q2GridArea {
376
376
  "references": {
377
377
  "TQ2GridAreaZIndexOptions": {
378
378
  "location": "local",
379
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
379
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
380
380
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaZIndexOptions"
381
381
  }
382
382
  }
@@ -401,7 +401,7 @@ export class Q2GridArea {
401
401
  "references": {
402
402
  "TQ2GridAreaAlignOptions": {
403
403
  "location": "local",
404
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
404
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
405
405
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaAlignOptions"
406
406
  }
407
407
  }
@@ -426,7 +426,7 @@ export class Q2GridArea {
426
426
  "references": {
427
427
  "TQ2GridAreaColumnSpanOptions": {
428
428
  "location": "local",
429
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
429
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
430
430
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnSpanOptions"
431
431
  }
432
432
  }
@@ -451,7 +451,7 @@ export class Q2GridArea {
451
451
  "references": {
452
452
  "TQ2GridAreaColumnStartOptions": {
453
453
  "location": "local",
454
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
454
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
455
455
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnStartOptions"
456
456
  }
457
457
  }
@@ -476,7 +476,7 @@ export class Q2GridArea {
476
476
  "references": {
477
477
  "TQ2GridAreaJustifyOptions": {
478
478
  "location": "local",
479
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
479
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
480
480
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaJustifyOptions"
481
481
  }
482
482
  }
@@ -501,7 +501,7 @@ export class Q2GridArea {
501
501
  "references": {
502
502
  "TQ2GridAreaRowSpanOptions": {
503
503
  "location": "local",
504
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
504
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
505
505
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowSpanOptions"
506
506
  }
507
507
  }
@@ -526,7 +526,7 @@ export class Q2GridArea {
526
526
  "references": {
527
527
  "TQ2GridAreaRowStartOptions": {
528
528
  "location": "local",
529
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
529
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
530
530
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowStartOptions"
531
531
  }
532
532
  }
@@ -551,7 +551,7 @@ export class Q2GridArea {
551
551
  "references": {
552
552
  "TQ2GridAreaZIndexOptions": {
553
553
  "location": "local",
554
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
554
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
555
555
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaZIndexOptions"
556
556
  }
557
557
  }
@@ -576,7 +576,7 @@ export class Q2GridArea {
576
576
  "references": {
577
577
  "TQ2GridAreaRowSpanOptions": {
578
578
  "location": "local",
579
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
579
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
580
580
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowSpanOptions"
581
581
  }
582
582
  }
@@ -602,7 +602,7 @@ export class Q2GridArea {
602
602
  "references": {
603
603
  "TQ2GridAreaRowStartOptions": {
604
604
  "location": "local",
605
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
605
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
606
606
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowStartOptions"
607
607
  }
608
608
  }
@@ -628,7 +628,7 @@ export class Q2GridArea {
628
628
  "references": {
629
629
  "TQ2GridAreaAlignOptions": {
630
630
  "location": "local",
631
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
631
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
632
632
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaAlignOptions"
633
633
  }
634
634
  }
@@ -653,7 +653,7 @@ export class Q2GridArea {
653
653
  "references": {
654
654
  "TQ2GridAreaColumnSpanOptions": {
655
655
  "location": "local",
656
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
656
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
657
657
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnSpanOptions"
658
658
  }
659
659
  }
@@ -678,7 +678,7 @@ export class Q2GridArea {
678
678
  "references": {
679
679
  "TQ2GridAreaColumnStartOptions": {
680
680
  "location": "local",
681
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
681
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
682
682
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnStartOptions"
683
683
  }
684
684
  }
@@ -703,7 +703,7 @@ export class Q2GridArea {
703
703
  "references": {
704
704
  "TQ2GridAreaJustifyOptions": {
705
705
  "location": "local",
706
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
706
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
707
707
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaJustifyOptions"
708
708
  }
709
709
  }
@@ -728,7 +728,7 @@ export class Q2GridArea {
728
728
  "references": {
729
729
  "TQ2GridAreaRowSpanOptions": {
730
730
  "location": "local",
731
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
731
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
732
732
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowSpanOptions"
733
733
  }
734
734
  }
@@ -753,7 +753,7 @@ export class Q2GridArea {
753
753
  "references": {
754
754
  "TQ2GridAreaRowStartOptions": {
755
755
  "location": "local",
756
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
756
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
757
757
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowStartOptions"
758
758
  }
759
759
  }
@@ -778,7 +778,7 @@ export class Q2GridArea {
778
778
  "references": {
779
779
  "TQ2GridAreaZIndexOptions": {
780
780
  "location": "local",
781
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
781
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
782
782
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaZIndexOptions"
783
783
  }
784
784
  }
@@ -803,7 +803,7 @@ export class Q2GridArea {
803
803
  "references": {
804
804
  "TQ2GridAreaAlignOptions": {
805
805
  "location": "local",
806
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
806
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
807
807
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaAlignOptions"
808
808
  }
809
809
  }
@@ -828,7 +828,7 @@ export class Q2GridArea {
828
828
  "references": {
829
829
  "TQ2GridAreaColumnSpanOptions": {
830
830
  "location": "local",
831
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
831
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
832
832
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnSpanOptions"
833
833
  }
834
834
  }
@@ -853,7 +853,7 @@ export class Q2GridArea {
853
853
  "references": {
854
854
  "TQ2GridAreaColumnStartOptions": {
855
855
  "location": "local",
856
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
856
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
857
857
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnStartOptions"
858
858
  }
859
859
  }
@@ -878,7 +878,7 @@ export class Q2GridArea {
878
878
  "references": {
879
879
  "TQ2GridAreaJustifyOptions": {
880
880
  "location": "local",
881
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
881
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
882
882
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaJustifyOptions"
883
883
  }
884
884
  }
@@ -903,7 +903,7 @@ export class Q2GridArea {
903
903
  "references": {
904
904
  "TQ2GridAreaRowSpanOptions": {
905
905
  "location": "local",
906
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
906
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
907
907
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowSpanOptions"
908
908
  }
909
909
  }
@@ -928,7 +928,7 @@ export class Q2GridArea {
928
928
  "references": {
929
929
  "TQ2GridAreaRowStartOptions": {
930
930
  "location": "local",
931
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
931
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
932
932
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowStartOptions"
933
933
  }
934
934
  }
@@ -953,7 +953,7 @@ export class Q2GridArea {
953
953
  "references": {
954
954
  "TQ2GridAreaZIndexOptions": {
955
955
  "location": "local",
956
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
956
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
957
957
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaZIndexOptions"
958
958
  }
959
959
  }
@@ -978,7 +978,7 @@ export class Q2GridArea {
978
978
  "references": {
979
979
  "TQ2GridAreaAlignOptions": {
980
980
  "location": "local",
981
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
981
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
982
982
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaAlignOptions"
983
983
  }
984
984
  }
@@ -1003,7 +1003,7 @@ export class Q2GridArea {
1003
1003
  "references": {
1004
1004
  "TQ2GridAreaColumnSpanOptions": {
1005
1005
  "location": "local",
1006
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1006
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1007
1007
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnSpanOptions"
1008
1008
  }
1009
1009
  }
@@ -1028,7 +1028,7 @@ export class Q2GridArea {
1028
1028
  "references": {
1029
1029
  "TQ2GridAreaColumnStartOptions": {
1030
1030
  "location": "local",
1031
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1031
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1032
1032
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaColumnStartOptions"
1033
1033
  }
1034
1034
  }
@@ -1053,7 +1053,7 @@ export class Q2GridArea {
1053
1053
  "references": {
1054
1054
  "TQ2GridAreaJustifyOptions": {
1055
1055
  "location": "local",
1056
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1056
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1057
1057
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaJustifyOptions"
1058
1058
  }
1059
1059
  }
@@ -1078,7 +1078,7 @@ export class Q2GridArea {
1078
1078
  "references": {
1079
1079
  "TQ2GridAreaRowSpanOptions": {
1080
1080
  "location": "local",
1081
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1081
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1082
1082
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowSpanOptions"
1083
1083
  }
1084
1084
  }
@@ -1103,7 +1103,7 @@ export class Q2GridArea {
1103
1103
  "references": {
1104
1104
  "TQ2GridAreaRowStartOptions": {
1105
1105
  "location": "local",
1106
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1106
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1107
1107
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaRowStartOptions"
1108
1108
  }
1109
1109
  }
@@ -1128,7 +1128,7 @@ export class Q2GridArea {
1128
1128
  "references": {
1129
1129
  "TQ2GridAreaZIndexOptions": {
1130
1130
  "location": "local",
1131
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1131
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1132
1132
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaZIndexOptions"
1133
1133
  }
1134
1134
  }
@@ -1153,7 +1153,7 @@ export class Q2GridArea {
1153
1153
  "references": {
1154
1154
  "TQ2GridAreaZIndexOptions": {
1155
1155
  "location": "local",
1156
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1156
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-grid-area/q2-grid-area.tsx",
1157
1157
  "id": "src/components/q2-grid-area/q2-grid-area.tsx::TQ2GridAreaZIndexOptions"
1158
1158
  }
1159
1159
  }
@@ -1,5 +1,6 @@
1
1
  import { h, getAssetPath } from "@stencil/core";
2
2
  import { createGuid } from "../../utils/index";
3
+ import { getOrCreateSpriteContainer } from "../../utils/sprites";
3
4
  import iconMap from "./assets/icon-map.json";
4
5
  export class Q2Icon {
5
6
  constructor() {
@@ -73,8 +74,8 @@ export class Q2Icon {
73
74
  checkForSprite() {
74
75
  var _a;
75
76
  const { spriteId, spriteEventName } = this;
76
- const spriteContainer = this.getOrCreateSpriteContainer();
77
- let spriteElement = document.querySelector(`#${spriteId}`);
77
+ const spriteContainer = getOrCreateSpriteContainer();
78
+ let spriteElement = document.getElementById(spriteId);
78
79
  // If the sprite element exists and has the `data-loaded` attribute, we know we have everything we need
79
80
  if ((_a = spriteElement === null || spriteElement === void 0 ? void 0 : spriteElement.hasAttribute('data-loaded')) !== null && _a !== void 0 ? _a : false) {
80
81
  this.cloneSpriteNode();
@@ -96,8 +97,7 @@ export class Q2Icon {
96
97
  return false;
97
98
  }
98
99
  cloneSpriteNode() {
99
- const spriteContainer = this.getOrCreateSpriteContainer();
100
- const spriteNode = spriteContainer.querySelector(`#tct-${this.type}`);
100
+ const spriteNode = document.getElementById(`tct-${this.type}`);
101
101
  this.iconClone = spriteNode ? spriteNode.cloneNode(true) : undefined;
102
102
  }
103
103
  async fetchSprite() {
@@ -124,24 +124,9 @@ export class Q2Icon {
124
124
  else {
125
125
  spriteElement.parentNode.replaceChild(svg, spriteElement);
126
126
  }
127
- spriteElement = document.querySelector(`#${spriteId}`);
127
+ spriteElement = document.getElementById(spriteId);
128
128
  spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));
129
129
  }
130
- /**
131
- * Checks for the sprite container element in the global DOM
132
- * If it does not exist, it creates and appends it to the body
133
- */
134
- getOrCreateSpriteContainer() {
135
- const spriteContainerId = 'tecton-sprites';
136
- let spriteContainer = document.querySelector(`#${spriteContainerId}`);
137
- if (spriteContainer)
138
- return spriteContainer;
139
- spriteContainer = document.createElement('div');
140
- spriteContainer.id = spriteContainerId;
141
- spriteContainer.style.display = 'none';
142
- document.body.appendChild(spriteContainer);
143
- return spriteContainer;
144
- }
145
130
  setCustomSVGAttrs() {
146
131
  const innerSVG = this.hostElement.querySelector('svg');
147
132
  if (!innerSVG)
@@ -1 +1 @@
1
- {"version":3,"file":"q2-icon.js","sourceRoot":"","sources":["../../../../src/components/q2-icon/q2-icon.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, h, Element, Watch, getAssetPath, State } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport iconMap from './assets/icon-map.json';\n\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n // #region Own Properties\n\n spriteGroup: SVGElement;\n spritePrefix: string = 'tecton-sprite-';\n spriteUse: SVGElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n iconClone: SVGSymbolElement;\n\n // #endregion\n // #region Public Property API\n\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true })\n inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true })\n label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true })\n type: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n this.handleIcon();\n }\n\n componentDidRender(): void {\n if (!this.iconClone) return;\n this.spriteGroup?.firstElementChild?.remove();\n const appendedClone = this.spriteGroup?.appendChild(this.iconClone);\n\n // We have to set the `href` attribute after the symbol is appended to the DOM to avoid a bug in Safari\n this.spriteUse?.setAttribute('href', `#${appendedClone.id}`);\n }\n\n disconnectedCallback(): void {\n this.spriteGroup = null;\n this.spriteUse = null;\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('type')\n handleIcon() {\n if (this.isCustom) {\n this.setCustomSVGAttrs();\n } else if (this.type) {\n this.fetchSprite();\n } else {\n this.iconClone = null;\n this.spriteGroup?.firstElementChild?.remove();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n get isCustom() {\n return this.type === 'custom';\n }\n\n get spriteElement() {\n const { spriteId } = this;\n if (!spriteId) return;\n return document.querySelector<HTMLElement>(`#${spriteId}`);\n }\n\n get spriteEventName() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tct-loaded-${spriteFileName}`;\n }\n\n get spriteFileName() {\n if (this.isCustom) return;\n return iconMap[this.type];\n }\n\n get spriteId() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `${this.spritePrefix}${spriteFileName}`;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = this.getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.querySelector(`#${spriteId}`);\n\n // If the sprite element exists and has the `data-loaded` attribute, we know we have everything we need\n if (spriteElement?.hasAttribute('data-loaded') ?? false) {\n this.cloneSpriteNode();\n return true;\n }\n\n // If the sprite element exists but does not have the `data-loaded` attribute, we know it's being loaded\n // We'll listen for the event that will be dispatched when the sprite is loaded\n spriteContainer.addEventListener(\n spriteEventName,\n () => {\n this.cloneSpriteNode();\n },\n { once: true }\n );\n\n // If the sprite element exists, we know it's being loaded and will be handled by the event listener\n if (spriteElement) return true;\n\n // If sprite element does not exist, create a placeholder\n // This will let other icons know the sprite is being loaded\n spriteElement = document.createElement('div');\n spriteElement.id = spriteId;\n spriteContainer.appendChild(spriteElement);\n return false;\n }\n\n cloneSpriteNode() {\n const spriteContainer = this.getOrCreateSpriteContainer();\n const spriteNode = spriteContainer.querySelector<HTMLElement>(`#tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\n }\n\n async fetchSprite() {\n const { spriteFileName, spriteId, spriteEventName } = this;\n\n const spriteExists = this.checkForSprite();\n if (spriteExists) return;\n\n if (!spriteFileName) return;\n const spritePath = getAssetPath(`assets/${spriteFileName}.symbol.svg`);\n const response = await fetch(spritePath);\n const data = await response.text();\n const wrappingDiv = document.createElement('div');\n wrappingDiv.innerHTML = data;\n const svg = wrappingDiv.querySelector('svg');\n\n svg.id = spriteId;\n svg.setAttribute('data-loaded', '');\n\n let { spriteElement } = this;\n if (spriteElement?.tagName === 'SVG') return;\n\n if (typeof spriteElement.replaceWith === 'function') {\n spriteElement.replaceWith(svg);\n } else {\n spriteElement.parentNode.replaceChild(svg, spriteElement);\n }\n\n spriteElement = document.querySelector(`#${spriteId}`);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n /**\n * Checks for the sprite container element in the global DOM\n * If it does not exist, it creates and appends it to the body\n */\n getOrCreateSpriteContainer() {\n const spriteContainerId = 'tecton-sprites';\n let spriteContainer: HTMLDivElement = document.querySelector(`#${spriteContainerId}`);\n\n if (spriteContainer) return spriteContainer;\n spriteContainer = document.createElement('div');\n spriteContainer.id = spriteContainerId;\n spriteContainer.style.display = 'none';\n document.body.appendChild(spriteContainer);\n return spriteContainer;\n }\n\n setCustomSVGAttrs() {\n const innerSVG = this.hostElement.querySelector('svg');\n\n if (!innerSVG) return;\n\n innerSVG.setAttribute('role', 'img');\n innerSVG.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n const { label } = this;\n if (label) {\n const title = document.createElement('title');\n const labelId = `label-${createGuid()}`;\n title.id = labelId;\n title.textContent = label;\n innerSVG.appendChild(title);\n innerSVG.setAttribute('aria-labelledby', labelId);\n } else {\n innerSVG.setAttribute('aria-hidden', 'true');\n }\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { label, type } = this;\n return this.isCustom ? (\n <slot />\n ) : (\n <svg\n aria-hidden={!!label ? undefined : 'true'}\n role={!!label ? 'img' : undefined}\n aria-labelledby={!!label ? 'label' : undefined}\n viewBox={this.iconCloneViewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\n class={this.spriteFileName}\n >\n {!!label && <title id=\"label\">{label}</title>}\n {!!type && <use ref={el => (this.spriteUse = el)} />}\n <g ref={el => (this.spriteGroup = el)}></g>\n </svg>\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-icon.js","sourceRoot":"","sources":["../../../../src/components/q2-icon/q2-icon.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, ComponentInterface, Prop, h, Element, Watch, getAssetPath, State } from '@stencil/core';\nimport { createGuid } from 'src/utils';\nimport { getOrCreateSpriteContainer } from '@/utils/sprites';\nimport iconMap from './assets/icon-map.json';\n\n@Component({ tag: 'q2-icon', shadow: true, styleUrl: 'q2-icon.scss', assetsDirs: ['assets'] })\nexport class Q2Icon implements ComponentInterface {\n // #region Own Properties\n\n spriteGroup: SVGElement;\n spritePrefix: string = 'tecton-sprite-';\n spriteUse: SVGElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n iconClone: SVGSymbolElement;\n\n // #endregion\n // #region Public Property API\n\n /** Styles the component to have a `height` and `width` of `1em`, making it easy to place alongside text. */\n @Prop({ reflect: true })\n inline: boolean;\n\n /** The text that is presented by screen-readers when they encounter the icon. */\n @Prop({ reflect: true })\n label: string;\n\n /** The name of the icon to be displayed. */\n @Prop({ reflect: true })\n type: string;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n this.handleIcon();\n }\n\n componentDidRender(): void {\n if (!this.iconClone) return;\n this.spriteGroup?.firstElementChild?.remove();\n const appendedClone = this.spriteGroup?.appendChild(this.iconClone);\n\n // We have to set the `href` attribute after the symbol is appended to the DOM to avoid a bug in Safari\n this.spriteUse?.setAttribute('href', `#${appendedClone.id}`);\n }\n\n disconnectedCallback(): void {\n this.spriteGroup = null;\n this.spriteUse = null;\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('type')\n handleIcon() {\n if (this.isCustom) {\n this.setCustomSVGAttrs();\n } else if (this.type) {\n this.fetchSprite();\n } else {\n this.iconClone = null;\n this.spriteGroup?.firstElementChild?.remove();\n }\n }\n\n // #endregion\n // #region Local Methods\n\n get iconCloneViewBox() {\n return this.iconClone?.getAttribute('viewBox') ?? '0 0 24 24';\n }\n\n get isCustom() {\n return this.type === 'custom';\n }\n\n get spriteElement() {\n const { spriteId } = this;\n if (!spriteId) return;\n return document.querySelector<HTMLElement>(`#${spriteId}`);\n }\n\n get spriteEventName() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `tct-loaded-${spriteFileName}`;\n }\n\n get spriteFileName() {\n if (this.isCustom) return;\n return iconMap[this.type];\n }\n\n get spriteId() {\n const { spriteFileName } = this;\n if (!spriteFileName) return;\n return `${this.spritePrefix}${spriteFileName}`;\n }\n\n checkForSprite() {\n const { spriteId, spriteEventName } = this;\n const spriteContainer = getOrCreateSpriteContainer();\n let spriteElement: HTMLElement = document.getElementById(spriteId);\n\n // If the sprite element exists and has the `data-loaded` attribute, we know we have everything we need\n if (spriteElement?.hasAttribute('data-loaded') ?? false) {\n this.cloneSpriteNode();\n return true;\n }\n\n // If the sprite element exists but does not have the `data-loaded` attribute, we know it's being loaded\n // We'll listen for the event that will be dispatched when the sprite is loaded\n spriteContainer.addEventListener(\n spriteEventName,\n () => {\n this.cloneSpriteNode();\n },\n { once: true }\n );\n\n // If the sprite element exists, we know it's being loaded and will be handled by the event listener\n if (spriteElement) return true;\n\n // If sprite element does not exist, create a placeholder\n // This will let other icons know the sprite is being loaded\n spriteElement = document.createElement('div');\n spriteElement.id = spriteId;\n spriteContainer.appendChild(spriteElement);\n return false;\n }\n\n cloneSpriteNode() {\n const spriteNode = document.getElementById(`tct-${this.type}`);\n this.iconClone = spriteNode ? (spriteNode.cloneNode(true) as SVGSymbolElement) : undefined;\n }\n\n async fetchSprite() {\n const { spriteFileName, spriteId, spriteEventName } = this;\n\n const spriteExists = this.checkForSprite();\n if (spriteExists) return;\n\n if (!spriteFileName) return;\n const spritePath = getAssetPath(`assets/${spriteFileName}.symbol.svg`);\n const response = await fetch(spritePath);\n const data = await response.text();\n const wrappingDiv = document.createElement('div');\n wrappingDiv.innerHTML = data;\n const svg = wrappingDiv.querySelector('svg');\n\n svg.id = spriteId;\n svg.setAttribute('data-loaded', '');\n\n let { spriteElement } = this;\n if (spriteElement?.tagName === 'SVG') return;\n\n if (typeof spriteElement.replaceWith === 'function') {\n spriteElement.replaceWith(svg);\n } else {\n spriteElement.parentNode.replaceChild(svg, spriteElement);\n }\n\n spriteElement = document.getElementById(spriteId);\n spriteElement.dispatchEvent(new CustomEvent(spriteEventName, { bubbles: true }));\n }\n\n setCustomSVGAttrs() {\n const innerSVG = this.hostElement.querySelector('svg');\n\n if (!innerSVG) return;\n\n innerSVG.setAttribute('role', 'img');\n innerSVG.setAttribute('xmlns', 'http://www.w3.org/2000/svg');\n\n const { label } = this;\n if (label) {\n const title = document.createElement('title');\n const labelId = `label-${createGuid()}`;\n title.id = labelId;\n title.textContent = label;\n innerSVG.appendChild(title);\n innerSVG.setAttribute('aria-labelledby', labelId);\n } else {\n innerSVG.setAttribute('aria-hidden', 'true');\n }\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const { label, type } = this;\n return this.isCustom ? (\n <slot />\n ) : (\n <svg\n aria-hidden={!!label ? undefined : 'true'}\n role={!!label ? 'img' : undefined}\n aria-labelledby={!!label ? 'label' : undefined}\n viewBox={this.iconCloneViewBox}\n xmlns=\"http://www.w3.org/2000/svg\"\n class={this.spriteFileName}\n >\n {!!label && <title id=\"label\">{label}</title>}\n {!!type && <use ref={el => (this.spriteUse = el)} />}\n <g ref={el => (this.spriteGroup = el)}></g>\n </svg>\n );\n }\n\n // #endregion\n}\n"]}
@@ -1493,7 +1493,7 @@ export class Q2Input {
1493
1493
  "references": {
1494
1494
  "InputType": {
1495
1495
  "location": "local",
1496
- "path": "/home/gitlab-runner/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-input/q2-input.tsx",
1496
+ "path": "/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/src/components/q2-input/q2-input.tsx",
1497
1497
  "id": "src/components/q2-input/q2-input.tsx::InputType"
1498
1498
  }
1499
1499
  }
@@ -111,6 +111,14 @@ button {
111
111
  width: 1em;
112
112
  }
113
113
 
114
+ #custom-loader-container {
115
+ min-height: 1em;
116
+ min-width: 1em;
117
+ }
118
+ #custom-loader-container svg {
119
+ display: block;
120
+ }
121
+
114
122
  .half-circle-spinner,
115
123
  .half-circle-spinner * {
116
124
  box-sizing: border-box;