q2-tecton-elements 1.55.4 → 1.56.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/dist/bundle-report.json +15973 -11906
  2. package/dist/cjs/{index-905f4c87.js → index-99667782.js} +5 -1
  3. package/dist/cjs/index-99667782.js.map +1 -0
  4. package/dist/cjs/{index-e0aba375.js → index-f69742cf.js} +1 -1
  5. package/dist/cjs/{index-e0aba375.js.map → index-f69742cf.js.map} +1 -1
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/q2-action-group.cjs.entry.js +2 -2
  8. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-avatar.cjs.entry.js +2 -2
  10. package/dist/cjs/q2-avatar.cjs.entry.js.map +1 -1
  11. package/dist/cjs/q2-badge_7.cjs.entry.js +56 -55
  12. package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  14. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  16. package/dist/cjs/q2-carousel.cjs.entry.js +2 -2
  17. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  19. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  20. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-checkbox.cjs.entry.js +3 -3
  22. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  23. package/dist/cjs/q2-currency.cjs.entry.js +2 -2
  24. package/dist/cjs/q2-currency.cjs.entry.js.map +1 -1
  25. package/dist/cjs/q2-data-table.cjs.entry.js +3 -3
  26. package/dist/cjs/q2-data-table.cjs.entry.js.map +1 -1
  27. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  28. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-dropdown.cjs.entry.js +2 -2
  30. package/dist/cjs/q2-editable-field.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-file-picker.cjs.entry.js +20 -7
  33. package/dist/cjs/q2-file-picker.cjs.entry.js.map +1 -1
  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 +133 -0
  37. package/dist/cjs/q2-grid-area.cjs.entry.js.map +1 -0
  38. package/dist/cjs/q2-grid.cjs.entry.js +109 -0
  39. package/dist/cjs/q2-grid.cjs.entry.js.map +1 -0
  40. package/dist/cjs/q2-item_3.cjs.entry.js +4 -4
  41. package/dist/cjs/q2-item_3.cjs.entry.js.map +1 -1
  42. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  43. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  44. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  45. package/dist/cjs/q2-modal.cjs.entry.js +2 -2
  46. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  47. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  48. package/dist/cjs/q2-option-list_2.cjs.entry.js +18 -6
  49. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  51. package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
  52. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  53. package/dist/cjs/q2-radio-group.cjs.entry.js +2 -2
  54. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  55. package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
  56. package/dist/cjs/q2-resize-observer.cjs.entry.js +1 -1
  57. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  58. package/dist/cjs/q2-select.cjs.entry.js +3 -3
  59. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  60. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  61. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  62. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  63. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  64. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  65. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  66. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  67. package/dist/collection/collection-manifest.json +8 -6
  68. package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
  69. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  70. package/dist/collection/components/q2-avatar/q2-avatar.css +8 -8
  71. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  72. package/dist/collection/components/q2-calendar/q2-calendar.js +1 -1
  73. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  74. package/dist/collection/components/q2-carousel/q2-carousel.js +1 -1
  75. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  76. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  77. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  78. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  79. package/dist/collection/components/q2-checkbox/q2-checkbox.css +6 -2
  80. package/dist/collection/components/q2-checkbox/q2-checkbox.js +1 -1
  81. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.js +1 -1
  82. package/dist/collection/components/q2-currency/q2-currency.css +2 -2
  83. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  84. package/dist/collection/components/q2-data-table/q2-data-table.css +1 -2
  85. package/dist/collection/components/q2-data-table/q2-data-table.js +8 -8
  86. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  87. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  88. package/dist/collection/components/q2-editable-field/q2-editable-field.js +1 -1
  89. package/dist/collection/components/q2-example/q2-example.js +1 -1
  90. package/dist/collection/components/q2-file-picker/q2-file-picker.css +11 -2
  91. package/dist/collection/components/q2-file-picker/q2-file-picker.js +54 -14
  92. package/dist/collection/components/q2-file-picker/q2-file-picker.js.map +1 -1
  93. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js +25 -0
  94. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.e2e.js.map +1 -1
  95. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js +107 -18
  96. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.spec.js.map +1 -1
  97. package/dist/collection/components/q2-form/q2-form.js +1 -1
  98. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  99. package/dist/collection/components/q2-grid/q2-grid.css +98 -0
  100. package/dist/collection/components/q2-grid/q2-grid.js +807 -0
  101. package/dist/collection/components/q2-grid/q2-grid.js.map +1 -0
  102. package/dist/collection/components/q2-grid/test/q2-grid.e2e.js +218 -0
  103. package/dist/collection/components/q2-grid/test/q2-grid.e2e.js.map +1 -0
  104. package/dist/collection/components/q2-grid-area/q2-grid-area.css +110 -0
  105. package/dist/collection/components/q2-grid-area/q2-grid-area.js +1109 -0
  106. package/dist/collection/components/q2-grid-area/q2-grid-area.js.map +1 -0
  107. package/dist/collection/components/q2-grid-area/test/q2-grid-area.e2e.js +196 -0
  108. package/dist/collection/components/q2-grid-area/test/q2-grid-area.e2e.js.map +1 -0
  109. package/dist/collection/components/q2-icon/assets/brand.symbol.svg +1 -1
  110. package/dist/collection/components/q2-icon/assets/browsersos.symbol.svg +1 -0
  111. package/dist/collection/components/q2-icon/assets/cards.symbol.svg +1 -1
  112. package/dist/collection/components/q2-icon/assets/{system.symbol.svg → devices.symbol.svg} +1 -1
  113. package/dist/collection/components/q2-icon/assets/icon-file-list.json +1 -1
  114. package/dist/collection/components/q2-icon/assets/icon-map.json +1 -1
  115. package/dist/collection/components/q2-icon/assets/legacy.symbol.svg +1 -1
  116. package/dist/collection/components/q2-icon/assets/mobile.symbol.svg +1 -1
  117. package/dist/collection/components/q2-icon/q2-icon.css +7 -1
  118. package/dist/collection/components/q2-icon/q2-icon.js +3 -2
  119. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  120. package/dist/collection/components/q2-icon/test/q2-icon-test.spec.js +3 -3
  121. package/dist/collection/components/q2-icon/test/q2-icon-test.spec.js.map +1 -1
  122. package/dist/collection/components/q2-input/q2-input.js +2 -2
  123. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js +5 -3
  124. package/dist/collection/components/q2-input/test/q2-input-test.e2e.js.map +1 -1
  125. package/dist/collection/components/q2-item/q2-item.css +3 -3
  126. package/dist/collection/components/q2-item/q2-item.js +1 -1
  127. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  128. package/dist/collection/components/q2-list/q2-list.js +1 -1
  129. package/dist/collection/components/q2-message/q2-message.js +1 -1
  130. package/dist/collection/components/q2-modal/q2-modal.js +1 -1
  131. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  132. package/dist/collection/components/q2-option-list/q2-option-list.js +7 -7
  133. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  134. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  135. package/dist/collection/components/q2-popover/q2-popover.js +40 -5
  136. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  137. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js +2 -2
  138. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
  139. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  140. package/dist/collection/components/q2-radio-group/q2-radio-group.js +1 -1
  141. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  142. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  143. package/dist/collection/components/q2-section/q2-section.js +2 -2
  144. package/dist/collection/components/q2-select/q2-select.js +2 -2
  145. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  146. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +3 -3
  147. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  148. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  149. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  150. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  151. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  152. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  153. package/dist/collection/utils/helpers.js +15 -0
  154. package/dist/collection/utils/helpers.js.map +1 -1
  155. package/dist/collection/utils/index.js +3 -0
  156. package/dist/collection/utils/index.js.map +1 -1
  157. package/dist/components/index.js +4 -0
  158. package/dist/components/index.js.map +1 -1
  159. package/dist/components/index2.js +4 -1
  160. package/dist/components/index2.js.map +1 -1
  161. package/dist/components/q2-action-group2.js +1 -1
  162. package/dist/components/q2-action-sheet.js +1 -1
  163. package/dist/components/q2-avatar2.js +2 -2
  164. package/dist/components/q2-avatar2.js.map +1 -1
  165. package/dist/components/q2-calendar.js +1 -1
  166. package/dist/components/q2-carousel-pane.js +2 -2
  167. package/dist/components/q2-carousel.js +1 -1
  168. package/dist/components/q2-chart-area.js +1 -1
  169. package/dist/components/q2-chart-bar.js +1 -1
  170. package/dist/components/q2-chart-donut.js +1 -1
  171. package/dist/components/q2-checkbox-group.js +1 -1
  172. package/dist/components/q2-checkbox2.js +2 -2
  173. package/dist/components/q2-checkbox2.js.map +1 -1
  174. package/dist/components/q2-currency.js +2 -2
  175. package/dist/components/q2-currency.js.map +1 -1
  176. package/dist/components/q2-data-table.js +2 -2
  177. package/dist/components/q2-data-table.js.map +1 -1
  178. package/dist/components/q2-detail.js +1 -1
  179. package/dist/components/q2-dropdown.js +1 -1
  180. package/dist/components/q2-editable-field.js +1 -1
  181. package/dist/components/q2-example.js +1 -1
  182. package/dist/components/q2-file-picker.js +20 -6
  183. package/dist/components/q2-file-picker.js.map +1 -1
  184. package/dist/components/q2-form.js +1 -1
  185. package/dist/components/q2-formatted-text.js +1 -1
  186. package/dist/components/q2-grid-area.d.ts +11 -0
  187. package/dist/components/q2-grid-area.js +190 -0
  188. package/dist/components/q2-grid-area.js.map +1 -0
  189. package/dist/components/q2-grid.d.ts +11 -0
  190. package/dist/components/q2-grid.js +154 -0
  191. package/dist/components/q2-grid.js.map +1 -0
  192. package/dist/components/q2-icon2.js +52 -51
  193. package/dist/components/q2-icon2.js.map +1 -1
  194. package/dist/components/q2-input2.js +1 -1
  195. package/dist/components/q2-item2.js +2 -2
  196. package/dist/components/q2-item2.js.map +1 -1
  197. package/dist/components/q2-legend2.js +1 -1
  198. package/dist/components/q2-list2.js +1 -1
  199. package/dist/components/q2-message2.js +1 -1
  200. package/dist/components/q2-modal.js +1 -1
  201. package/dist/components/q2-month-picker.js +2 -2
  202. package/dist/components/q2-optgroup2.js +1 -1
  203. package/dist/components/q2-option-list2.js +1 -1
  204. package/dist/components/q2-pagination.js +3 -3
  205. package/dist/components/q2-pill.js +1 -1
  206. package/dist/components/q2-popover2.js +17 -5
  207. package/dist/components/q2-popover2.js.map +1 -1
  208. package/dist/components/q2-radio-group.js +1 -1
  209. package/dist/components/q2-radio.js +1 -1
  210. package/dist/components/q2-relative-time.js +1 -1
  211. package/dist/components/q2-resize-observer2.js +1 -1
  212. package/dist/components/q2-section.js +2 -2
  213. package/dist/components/q2-select2.js +3 -3
  214. package/dist/components/q2-stepper-pane.js +1 -1
  215. package/dist/components/q2-stepper-vertical.js +1 -1
  216. package/dist/components/q2-stepper.js +1 -1
  217. package/dist/components/q2-tab-container.js +1 -1
  218. package/dist/components/q2-tab-pane.js +1 -1
  219. package/dist/components/q2-tag.js +1 -1
  220. package/dist/components/q2-textarea.js +1 -1
  221. package/dist/components/tecton-tab-pane.js +2 -2
  222. package/dist/esm/{index-3bb7a785.js → index-3184c760.js} +1 -1
  223. package/dist/esm/{index-3bb7a785.js.map → index-3184c760.js.map} +1 -1
  224. package/dist/esm/{index-f2a66217.js → index-c215e8ef.js} +5 -2
  225. package/dist/esm/index-c215e8ef.js.map +1 -0
  226. package/dist/esm/loader.js +1 -1
  227. package/dist/esm/q2-action-group.entry.js +2 -2
  228. package/dist/esm/q2-action-sheet.entry.js +2 -2
  229. package/dist/esm/q2-avatar.entry.js +2 -2
  230. package/dist/esm/q2-avatar.entry.js.map +1 -1
  231. package/dist/esm/q2-badge_7.entry.js +56 -55
  232. package/dist/esm/q2-badge_7.entry.js.map +1 -1
  233. package/dist/esm/q2-calendar.entry.js +3 -3
  234. package/dist/esm/q2-card.entry.js +1 -1
  235. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  236. package/dist/esm/q2-carousel.entry.js +2 -2
  237. package/dist/esm/q2-chart-area.entry.js +2 -2
  238. package/dist/esm/q2-chart-bar.entry.js +2 -2
  239. package/dist/esm/q2-chart-donut.entry.js +2 -2
  240. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  241. package/dist/esm/q2-checkbox.entry.js +3 -3
  242. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  243. package/dist/esm/q2-currency.entry.js +2 -2
  244. package/dist/esm/q2-currency.entry.js.map +1 -1
  245. package/dist/esm/q2-data-table.entry.js +3 -3
  246. package/dist/esm/q2-data-table.entry.js.map +1 -1
  247. package/dist/esm/q2-detail.entry.js +2 -2
  248. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  249. package/dist/esm/q2-dropdown.entry.js +2 -2
  250. package/dist/esm/q2-editable-field.entry.js +2 -2
  251. package/dist/esm/q2-example.entry.js +1 -1
  252. package/dist/esm/q2-file-picker.entry.js +20 -7
  253. package/dist/esm/q2-file-picker.entry.js.map +1 -1
  254. package/dist/esm/q2-form.entry.js +1 -1
  255. package/dist/esm/q2-formatted-text.entry.js +1 -1
  256. package/dist/esm/q2-grid-area.entry.js +129 -0
  257. package/dist/esm/q2-grid-area.entry.js.map +1 -0
  258. package/dist/esm/q2-grid.entry.js +105 -0
  259. package/dist/esm/q2-grid.entry.js.map +1 -0
  260. package/dist/esm/q2-item_3.entry.js +4 -4
  261. package/dist/esm/q2-item_3.entry.js.map +1 -1
  262. package/dist/esm/q2-legend.entry.js +1 -1
  263. package/dist/esm/q2-loc.entry.js +1 -1
  264. package/dist/esm/q2-message.entry.js +2 -2
  265. package/dist/esm/q2-modal.entry.js +2 -2
  266. package/dist/esm/q2-month-picker.entry.js +3 -3
  267. package/dist/esm/q2-optgroup.entry.js +2 -2
  268. package/dist/esm/q2-option-list_2.entry.js +18 -6
  269. package/dist/esm/q2-option-list_2.entry.js.map +1 -1
  270. package/dist/esm/q2-option.entry.js +1 -1
  271. package/dist/esm/q2-pagination.entry.js +4 -4
  272. package/dist/esm/q2-pill.entry.js +2 -2
  273. package/dist/esm/q2-radio-group.entry.js +2 -2
  274. package/dist/esm/q2-radio.entry.js +2 -2
  275. package/dist/esm/q2-relative-time.entry.js +3 -3
  276. package/dist/esm/q2-resize-observer.entry.js +1 -1
  277. package/dist/esm/q2-section.entry.js +3 -3
  278. package/dist/esm/q2-select.entry.js +3 -3
  279. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  280. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  281. package/dist/esm/q2-stepper.entry.js +2 -2
  282. package/dist/esm/q2-tag.entry.js +2 -2
  283. package/dist/esm/q2-tecton-elements.js +1 -1
  284. package/dist/esm/q2-textarea.entry.js +2 -2
  285. package/dist/esm/q2-tooltip.entry.js +1 -1
  286. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  287. package/dist/q2-tecton-elements/assets/brand.symbol.svg +1 -1
  288. package/dist/q2-tecton-elements/assets/browsersos.symbol.svg +1 -0
  289. package/dist/q2-tecton-elements/assets/cards.symbol.svg +1 -1
  290. package/dist/q2-tecton-elements/assets/{system.symbol.svg → devices.symbol.svg} +1 -1
  291. package/dist/q2-tecton-elements/assets/icon-file-list.json +1 -1
  292. package/dist/q2-tecton-elements/assets/icon-map.json +1 -1
  293. package/dist/q2-tecton-elements/assets/legacy.symbol.svg +1 -1
  294. package/dist/q2-tecton-elements/assets/mobile.symbol.svg +1 -1
  295. package/dist/q2-tecton-elements/{index-3bb7a785.js → index-3184c760.js} +1 -1
  296. package/dist/q2-tecton-elements/{index-f2a66217.js → index-c215e8ef.js} +6 -2
  297. package/dist/q2-tecton-elements/index-c215e8ef.js.map +1 -0
  298. package/dist/q2-tecton-elements/q2-action-group.entry.js +4 -4
  299. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +63 -63
  300. package/dist/q2-tecton-elements/q2-avatar.entry.js +7 -7
  301. package/dist/q2-tecton-elements/q2-avatar.entry.js.map +1 -1
  302. package/dist/q2-tecton-elements/q2-badge_7.entry.js +70 -68
  303. package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
  304. package/dist/q2-tecton-elements/q2-calendar.entry.js +4 -4
  305. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  306. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +4 -4
  307. package/dist/q2-tecton-elements/q2-carousel.entry.js +2 -2
  308. package/dist/q2-tecton-elements/q2-chart-area.entry.js +3 -3
  309. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +3 -3
  310. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +7 -7
  311. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +7 -7
  312. package/dist/q2-tecton-elements/q2-checkbox.entry.js +12 -12
  313. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +1 -1
  314. package/dist/q2-tecton-elements/q2-currency.entry.js +7 -7
  315. package/dist/q2-tecton-elements/q2-currency.entry.js.map +1 -1
  316. package/dist/q2-tecton-elements/q2-data-table.entry.js +5 -5
  317. package/dist/q2-tecton-elements/q2-data-table.entry.js.map +1 -1
  318. package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
  319. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  320. package/dist/q2-tecton-elements/q2-dropdown.entry.js +6 -6
  321. package/dist/q2-tecton-elements/q2-editable-field.entry.js +2 -2
  322. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  323. package/dist/q2-tecton-elements/q2-file-picker.entry.js +31 -20
  324. package/dist/q2-tecton-elements/q2-file-picker.entry.js.map +1 -1
  325. package/dist/q2-tecton-elements/q2-form.entry.js +2 -2
  326. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  327. package/dist/q2-tecton-elements/q2-grid-area.entry.js +135 -0
  328. package/dist/q2-tecton-elements/q2-grid-area.entry.js.map +1 -0
  329. package/dist/q2-tecton-elements/q2-grid.entry.js +114 -0
  330. package/dist/q2-tecton-elements/q2-grid.entry.js.map +1 -0
  331. package/dist/q2-tecton-elements/q2-item_3.entry.js +23 -23
  332. package/dist/q2-tecton-elements/q2-item_3.entry.js.map +1 -1
  333. package/dist/q2-tecton-elements/q2-legend.entry.js +5 -5
  334. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  335. package/dist/q2-tecton-elements/q2-message.entry.js +6 -6
  336. package/dist/q2-tecton-elements/q2-modal.entry.js +18 -18
  337. package/dist/q2-tecton-elements/q2-month-picker.entry.js +14 -14
  338. package/dist/q2-tecton-elements/q2-optgroup.entry.js +5 -5
  339. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +41 -31
  340. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -1
  341. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  342. package/dist/q2-tecton-elements/q2-pagination.entry.js +38 -38
  343. package/dist/q2-tecton-elements/q2-pill.entry.js +14 -14
  344. package/dist/q2-tecton-elements/q2-radio-group.entry.js +12 -12
  345. package/dist/q2-tecton-elements/q2-radio.entry.js +9 -9
  346. package/dist/q2-tecton-elements/q2-relative-time.entry.js +3 -3
  347. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +1 -1
  348. package/dist/q2-tecton-elements/q2-section.entry.js +19 -19
  349. package/dist/q2-tecton-elements/q2-select.entry.js +6 -6
  350. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +14 -14
  351. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +37 -37
  352. package/dist/q2-tecton-elements/q2-stepper.entry.js +29 -29
  353. package/dist/q2-tecton-elements/q2-tag.entry.js +6 -6
  354. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  355. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  356. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -3
  357. package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
  358. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  359. package/dist/types/components/q2-action-group/q2-action-group.d.ts +1 -0
  360. package/dist/types/components/q2-action-sheet/q2-action-sheet.d.ts +60 -0
  361. package/dist/types/components/q2-calendar/q2-calendar.d.ts +327 -0
  362. package/dist/types/components/q2-carousel/q2-carousel.d.ts +95 -0
  363. package/dist/types/components/q2-data-table/q2-data-table.d.ts +261 -0
  364. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +181 -0
  365. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +140 -0
  366. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +31 -17
  367. package/dist/types/components/q2-grid/q2-grid.d.ts +157 -0
  368. package/dist/types/components/q2-grid-area/q2-grid-area.d.ts +168 -0
  369. package/dist/types/components/q2-icon/q2-icon.d.ts +1 -0
  370. package/dist/types/components/q2-loading/skeleton/shapes.d.ts +1 -0
  371. package/dist/types/components/q2-optgroup/q2-optgroup.d.ts +1 -1
  372. package/dist/types/components/q2-option-list/q2-option-list.d.ts +100 -0
  373. package/dist/types/components/q2-pagination/q2-pagination.d.ts +117 -0
  374. package/dist/types/components/q2-pill/q2-pill.d.ts +143 -0
  375. package/dist/types/components/q2-popover/q2-popover.d.ts +23 -0
  376. package/dist/types/components/q2-select/q2-select.d.ts +238 -0
  377. package/dist/types/components/q2-stepper/q2-stepper.d.ts +61 -0
  378. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +68 -0
  379. package/dist/types/components/q2-tab-container/q2-tab-container.d.ts +2 -2
  380. package/dist/types/components/q2-tag/q2-tag.d.ts +91 -0
  381. package/dist/types/components.d.ts +698 -6
  382. package/dist/types/util.d.ts +2 -2
  383. package/dist/types/utils/action-sheet.d.ts +12 -0
  384. package/dist/types/utils/helpers.d.ts +1 -0
  385. package/dist/types/utils/index.d.ts +1 -0
  386. package/package.json +4 -3
  387. package/dist/cjs/index-905f4c87.js.map +0 -1
  388. package/dist/esm/index-f2a66217.js.map +0 -1
  389. package/dist/q2-tecton-elements/index-f2a66217.js.map +0 -1
  390. /package/dist/q2-tecton-elements/{index-3bb7a785.js.map → index-3184c760.js.map} +0 -0
  391. /package/dist/types/{Users/kvanhouten/Documents/Work/tecton_extra → builds/q2e/development/tecton/tecton}/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +0 -0
@@ -1 +1 @@
1
- {"file":"q2-file-picker.js","mappings":"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","names":["Q2FilePicker"],"sources":["src/components/q2-file-picker/q2-file-picker.scss?tag=q2-file-picker&encapsulation=shadow","src/components/q2-file-picker/q2-file-picker.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n@import '../q2-btn/q2-btn-mixins';\n\n@keyframes growFromCenterFadeIn {\n from {\n transform: scaleX(0.75) scaleY(0.75);\n opacity: 0;\n }\n to {\n transform: scaleX(1) scaleY(1);\n opacity: 1;\n }\n}\n\n@keyframes shrinkToCenterFadeOut {\n from {\n transform: scaleX(1) scaleY(1);\n opacity: 1;\n }\n to {\n transform: scaleX(0.75) scaleY(0.75);\n opacity: 0;\n }\n}\n\n:host {\n --comp-default-file-picker-margin: #{var-list(var-prefixer(file-picker-margin-top), --app-scale-5x, 25px) 0\n var-list(var-prefixer(file-picker-margin-bottom), --app-scale-5x, 25px)};\n display: block;\n margin: var-list(--tct-file-picker-margin, --comp-default-file-picker-margin);\n}\n\n.browse {\n text-align: left;\n}\n\n.drop-zone-text {\n color: var-list(--tct-file-picker-drop-zone-text-color, --t-gray-6, #4d4d4d);\n font-size: var-list(--tct-file-picker-drop-zone-font-size, --app-font-size-small, 12px);\n font-weight: var(--tct-file-picker-browse-link-font-weight, 700);\n margin-bottom: 0;\n margin-top: var-list(--tct-file-picker-drop-zone-text-margin-top, --app-scale-2x, 10px);\n}\n\n.description {\n color: var-list(--tct-file-picker-description-text-color, --t-gray-1, #0d0d0d);\n font-size: var-list(--tct-file-picker-description-font-size, --app-font-size-small, 12px);\n font-weight: var(--tct-file-picker-description-font-weight, 400);\n text-align: var(--tct-file-picker-description-text-align, left);\n}\n\n.drop-zone {\n align-items: center;\n background-color: var-list(--tct-file-picker-drop-zone-background, --t-tertiary, #e8f5fc);\n border-radius: var-list(--tct-file-picker-drop-zone-border-radius, --app-border-radius-2, 6px);\n border-width: var(--tct-file-picker-drop-zone-border-width, 2px);\n border-style: var(--tct-file-picker-drop-zone-border-style, dashed);\n border-color: var-list(--tct-file-picker-drop-zone-border-color, --t-gray-8, #808080);\n color: var(--tct-file-picker-drop-zone-color, #747474);\n display: flex;\n flex-direction: column;\n font-size: var(--tct-file-picker-drop-zone-font-size, --app-font-size, 14px);\n font-weight: var(--tct-file-picker-drop-zone-font-weight, 400);\n height: var(--tct-file-picker-drop-zone-height, 150px);\n justify-content: center;\n padding: var(--tct-file-picker-drop-zone-padding, 20px);\n text-align: center;\n width: var(--tct-file-picker-drop-zone-width, 100%);\n}\n\n.drop-zone-highlighted {\n background-color: var-list(--tct-file-picker-drop-zone-highlighted-background, --tertiary-d-1, #bee1f6);\n border-color: var-list(--tct-file-picker-drop-zone-highlighted-border, --t-gray-8, #808080);\n}\n\n.fade-in {\n animation-fill-mode: both;\n animation-play-state: running;\n animation: growFromCenterFadeIn 0.2s ease-in;\n}\n\n.fade-out {\n animation: shrinkToCenterFadeOut 0.1s ease-out;\n animation-play-state: running;\n animation-fill-mode: both;\n}\n\n.file-item {\n --tct-btn-icon-border-radius: 4px;\n --tct-btn-neutral-text-active-font-color: #{var-list(\n --tct-file-picker-item-close-btn-active-color,\n --t-gray-1,\n #0d0d0d\n )};\n --tct-btn-neutral-text-focus-visible-outer-ring-color: #{var-list(\n --tct-file-picker-item-close-btn-color,\n --t-gray-1,\n #0d0d0d\n )};\n --tct-btn-neutral-text-font-color: #{var-list(--tct-file-picker-item-close-btn-color, --t-gray-1, #0d0d0d)};\n --tct-btn-neutral-text-hover-outer-ring-color: #{var-list(\n --tct-file-picker-item-close-btn-hover-focus-ring-color,\n --t-gray-1,\n #0d0d0d\n )};\n --tct-btn-icon-padding: 0;\n --tct-icon-stroke-primary: #{var-list(--tct-file-picker-item-close-btn-color, --t-gray-1, #0d0d0d)};\n --tct-item-body-font-size: #{var-list(--tct-file-picker-item-font-size, --app-font-size-small, 12px)};\n --tct-item-body-font-weight: var(--tct-file-picker-item-font-weight, 400);\n --tct-item-border-radius: #{var-list(--tct-file-picker-item-border-radius, --app-border-radius-3, 12px)};\n --tct-item-border: var(--tct-file-picker-item-border-width, 1px) solid #{var-list(\n --tct-file-picker-item-border-color,\n --t-gray-8,\n #808080\n )};\n --tct-item-header-color: #{var-list(--tct-file-picker-item-name-color, --t-gray-1, #0d0d0d)};\n --tct-item-header-font-size: #{var-list(--tct-file-picker-item-name-font-size, --app-font-size-small, 12px)};\n --tct-item-header-font-weight: var(--tct-file-picker-item-name-font-weight, 400);\n --tct-item-padding: var(--tct-file-picker-item-padding, var(--app-scale-1x, 5px) var(--app-scale-2x, 10px));\n text-align: left;\n}\n\n.file-item-loading {\n font-size: var-list(--tct-file-picker-file-item-loading-size, --app-scale-6x, 30px);\n // FIXME: This is a temporary fix to match the height of the closing icon which has 3.5px of padding I can't account for\n margin-bottom: calc(var-list(--tct-file-picker-file-item-loading-margin-bottom, --app-scale-6x, 30px) / 8.57);\n margin-left: calc(var-list(--tct-file-picker-file-item-loading-margin-bottom, --app-scale-1x, 5px) / 2);\n}\n\n.file-list {\n --tct-list-item-gap: #{var-list(--tct-file-picker-section-gap, --app-scale-3x, 15px)};\n}\n\n.file-list-container {\n max-height: var(--tct-file-picker-list-max-height, 190px);\n overflow-y: auto;\n scrollbar-width: thin;\n scrollbar-color: #{var-list(--tct-file-picker-scrollbar-color, --t-a11y-gray-color, #949494)} transparent;\n}\n\n.file-picker {\n display: flex;\n flex-direction: column;\n gap: #{var-list(--tct-file-picker-file-item-gap, --app-scale-3x, 15px)};\n}\n\n.heading {\n display: flex;\n flex-direction: column;\n gap: #{var-list(--tct-file-picker-heading-gap, --app-scale-1x, 5px)};\n justify-content: space-between;\n}\n\n.icon-success,\n.icon-error {\n --tct-icon-size: #{var-list(--tct-file-picker-file-item-icon-size, --app-scale-6x, 30px)};\n --tct-icon-stroke-width: 2px;\n}\n\n.label {\n color: var-list(--tct-file-picker-label-color, --t-gray-1, #0d0d0d);\n display: inline-block;\n font-size: var-list(--tct-file-picker-label-font-size, --app-font-size, 14px);\n font-weight: var(--tct-file-picker-label-font-weight, 600);\n text-align: var(--tct-file-picker-label-text-align, left);\n}\n\n.loading {\n font-size: var-list(--tct-file-picker-loading-size, --app-scale-6x, 25px);\n}\n\n.loading-file {\n color: var-list(--tct-file-picker-loading-file-color, --t-gray-1, #0d0d0d);\n font-size: var-list(--tct-file-picker-loading-file-font-size, --app-font-size-small, 12px);\n font-weight: var(--tct-file-picker-loading-file-font-weight, 400);\n margin: 0;\n}\n\n.loading-message {\n color: var-list(--tct-file-picker-loading-message-color, --t-gray-1, #0d0d0d);\n font-size: var-list(--tct-file-picker-loading-message-font-size, --app-font-size-small, 12px);\n font-weight: var(--tct-file-picker-loading-message-font-weight, 700);\n margin-bottom: var-list(--tct-file-picker-loading-message-margin-bottom, --app-scale-2x, 10px);\n margin-top: var-list(--tct-file-picker-loading-message-margin-top, --app-scale-2x, 10px);\n}\n\n.dismiss-button {\n height: 30px;\n width: 30px;\n &:hover {\n --tct-icon-stroke-primary: #{var-list(--tct-file-picker-item-close-btn-hover-color, --t-gray-1, #0d0d0d)};\n }\n}\n\n[slot='action'] {\n display: flex;\n align-items: center;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { hasSlotContent, loc } from 'src/utils';\n\ntype FileStatus = 'invalid-type' | 'over-size-limit' | 'over-max-files-limit' | 'in-progress' | 'failed' | 'uploaded';\nexport type FilesObject = {\n invalidFiles: {\n file: File;\n status: 'invalid-type' | 'over-size-limit' | 'over-max-files-limit' | 'in-progress' | 'failed' | 'uploaded';\n }[];\n validFiles: File[];\n};\n\n@Component({\n tag: 'q2-file-picker',\n styleUrl: 'q2-file-picker.scss',\n shadow: true,\n})\nexport class Q2FilePicker implements ComponentInterface {\n // #region Own Properties\n\n browseButtonInput: HTMLElement;\n dropZone: HTMLElement;\n fileItemsToBeDeleted;\n queuedFiles: File[] = [];\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n el: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n areFilesUploading: boolean = false;\n\n @State()\n displayedFiles: {\n file: File;\n status: FileStatus;\n toBeRemoved?: boolean;\n }[] = [];\n\n @State()\n isDropZoneHighlighted: boolean = false;\n\n @State()\n refreshCounter = 0;\n\n // #endregion\n // #region Public Property API\n\n /**\n * A description of the field. This is announced by screen readers when the field is focused.\n * @localizable\n */\n @Prop({ reflect: true })\n description: string;\n\n /**\n * Allowed file types based on extensions (e.g., ['jpg', 'png', 'pdf'] or\n * 'jpg, png, pdf'). When using the attribute, provide a comma-separated\n * string (e.g., 'jpg, png, pdf'). Arrays can only be set programmatically\n * via JavaScript.\n */\n @Prop({ reflect: true })\n fileTypes: string[] | string = [];\n\n /**\n * The label for the field. This is announced by screen readers when the field is focused.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /**\n * The maximum number of files that can be selected.\n */\n @Prop({ reflect: true })\n // maxFiles: number | string = Infinity;\n maxFiles: number = Infinity;\n\n /**\n * The maximum size (in bytes) of any file that can be selected.\n */\n @Prop({ reflect: true })\n maxFileSize: number = Infinity;\n\n /**\n * An array of objects representing the status of the files being uploaded.\n * Each object should have a `name` property (the file name) and a `status`\n * property (the status of the file) that equals either 'in-progress',\n * 'failed' or 'uploaded'.\n */\n @Prop({ reflect: true })\n status: { name: string; status: 'in-progress' | 'failed' | 'uploaded' }[] = [];\n\n /**\n * Returns an array of File objects representing the files selected by the\n * user. If no files are selected, the value is an empty array.\n * @readonly\n */\n @Prop({ mutable: true })\n value: FilesObject = { invalidFiles: [], validFiles: [] }; // Ensure FilesObject is exported or imported correctly\n\n /**\n * Determines if the file picker is a browse button or a drop zone with a\n * browse link.\n */\n @Prop({ reflect: true })\n variant: 'browse' | 'browse-drop' = 'browse';\n\n // #endregion\n // #region Events\n\n @Event()\n tctChange: EventEmitter<FilesObject>;\n\n // #endregion\n // #region Watchers\n\n @Watch('status')\n updateFileList(newValue: { name: string; status: FileStatus }[]) {\n newValue.forEach(statusItem => {\n const matchingQueuedFileIndex = this.queuedFiles.findIndex(file => file.name === statusItem.name);\n if (matchingQueuedFileIndex > -1) {\n const matchingFile = this.queuedFiles.splice(matchingQueuedFileIndex, 1)[0];\n this.displayedFiles = [{ file: matchingFile, status: statusItem.status }, ...this.displayedFiles];\n } else {\n const matchingDisplayedFileIndex = this.displayedFiles.findIndex(\n file => file.file.name === statusItem.name\n );\n if (matchingDisplayedFileIndex > -1) {\n this.displayedFiles[matchingDisplayedFileIndex].status = statusItem.status;\n this.disableLoaderIfAllFilesUploaded();\n }\n }\n });\n }\n\n // #endregion\n // #region Local Methods\n\n get dropZoneClasses() {\n const classes = ['drop-zone'];\n if (this.isDropZoneHighlighted) {\n classes.push('drop-zone-highlighted');\n }\n\n return classes.join(' ');\n }\n\n get fileTypesArray() {\n return Array.isArray(this.fileTypes) ? this.fileTypes : this.fileTypes.split(',').map(type => type.trim());\n }\n\n get hasDescription() {\n return !!this.description || this.hasDescriptionSlotContent;\n }\n\n get hasDescriptionSlotContent() {\n return hasSlotContent(this.el, 'description');\n }\n\n get hasLabel() {\n return !!this.label || this.hasLabelSlotContent;\n }\n\n get hasLabelSlotContent() {\n return hasSlotContent(this.el, 'label');\n }\n\n buildFilesObject(filesToUpload: File[]): FilesObject {\n const invalidFiles = [];\n invalidFiles.push(...this.extractFilesOfInvalidTypes(filesToUpload));\n invalidFiles.push(...this.extractFilesOverSizeLimit(filesToUpload));\n invalidFiles.push(...this.extractFilesOverMaxFilesLimit(filesToUpload));\n this.displayedFiles = [...invalidFiles];\n\n if (filesToUpload.length === 0) {\n this.areFilesUploading = false;\n } else {\n this.queuedFiles = filesToUpload;\n }\n\n return { invalidFiles, validFiles: filesToUpload };\n }\n\n dimDropZone = (e: DragEvent) => {\n this.disableEvent(e);\n this.isDropZoneHighlighted = false;\n };\n\n disableEvent(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n disableLoaderIfAllFilesUploaded() {\n if (this.queuedFiles.length === 0 && !this.displayedFiles.some(file => file.status === 'in-progress')) {\n this.areFilesUploading = false;\n }\n }\n\n emitChange(filesObject: FilesObject) {\n this.areFilesUploading = filesObject.validFiles.length > 0;\n this.tctChange.emit(filesObject);\n }\n\n extractFilesOfInvalidTypes(files: File[]) {\n const invalidFiles = [];\n\n if (this.fileTypesArray.length === 0) return invalidFiles;\n\n files.forEach(file => {\n const fileExtension = file.name.split('.').pop().toLowerCase();\n if (!this.fileTypesArray.includes(fileExtension)) {\n invalidFiles.push({ file, status: 'invalid-type' });\n }\n });\n\n // Remove invalid files from the files array\n invalidFiles.forEach(invalidFile => {\n const index = files.indexOf(invalidFile.file);\n if (index > -1) {\n files.splice(index, 1);\n }\n });\n\n return invalidFiles;\n }\n\n extractFilesOverMaxFilesLimit(files: File[]) {\n const filesOverMaxFilesLimit = [];\n\n if (this.maxFiles === Infinity) return filesOverMaxFilesLimit;\n\n if (files.length > this.maxFiles) {\n const excessFiles = files.splice(this.maxFiles);\n excessFiles.forEach(file => {\n filesOverMaxFilesLimit.push({ file, status: 'over-max-files-limit' });\n });\n }\n\n return filesOverMaxFilesLimit;\n }\n\n extractFilesOverSizeLimit(files: File[]) {\n const filesOverSizeLimit = [];\n\n if (this.maxFileSize === Infinity) return filesOverSizeLimit;\n\n files.forEach(file => {\n if (file.size > this.maxFileSize) {\n filesOverSizeLimit.push({ file, status: 'over-size-limit' });\n }\n });\n\n // Remove files over size limit from the files array\n filesOverSizeLimit.forEach(overSizeFile => {\n const index = files.indexOf(overSizeFile.file);\n if (index > -1) {\n files.splice(index, 1);\n }\n });\n\n return filesOverSizeLimit;\n }\n\n forceRerender() {\n this.refreshCounter += 1; // Triggers re-render\n }\n\n getAnimationendHandlerToRemoveFileItem(fileName: string) {\n return (e: AnimationEvent) => {\n if (e.animationName === 'shrinkToCenterFadeOut') {\n this.displayedFiles = this.displayedFiles.filter(file => file.file.name !== fileName);\n }\n };\n }\n\n getClickHandlerToRemoveFileItem(fileName: string) {\n return () => {\n const fileToDelete = this.displayedFiles.find(file => file.file.name === fileName);\n if (fileToDelete) {\n fileToDelete.toBeRemoved = true;\n this.forceRerender();\n }\n };\n }\n\n getFileItemClasses(fileName: string) {\n const classes = ['file-item'];\n const matchingFile = this.displayedFiles.find(file => file.file.name === fileName);\n if (matchingFile?.toBeRemoved) {\n classes.push('fade-out');\n } else {\n classes.push('fade-in');\n }\n return classes.join(' ');\n }\n\n getFileItemStatusMessage(status: FileStatus, size: number) {\n switch (status) {\n case 'invalid-type':\n return loc('tecton.element.filePicker.unsupportedFileType');\n case 'over-size-limit':\n return loc('tecton.element.filePicker.sizeExceedsLimit');\n case 'over-max-files-limit':\n return loc('tecton.element.filePicker.overMaxFilesLimit');\n case 'in-progress':\n return loc('tecton.element.filePicker.uploadingEllipsis');\n case 'failed':\n return loc('tecton.element.filePicker.uploadFailed');\n case 'uploaded':\n default:\n return loc('tecton.element.filePicker.fileSize', [(size / (1000 * 1000)).toFixed(2)]);\n }\n }\n\n grabDroppedFiles = (e: DragEvent) => {\n this.disableEvent(e);\n this.isDropZoneHighlighted = false;\n const droppedFiles = Array.from(e.dataTransfer.files);\n const filesObject = this.buildFilesObject(droppedFiles);\n\n this.emitChange(filesObject);\n this.value = filesObject;\n };\n\n grabSelectedFiles = (e: Event) => {\n const selectedFiles = Array.from((e.target as HTMLInputElement).files);\n const filesObject = this.buildFilesObject(selectedFiles);\n\n this.emitChange(filesObject);\n this.value = filesObject;\n };\n\n highlightDropZone = (e: DragEvent) => {\n this.disableEvent(e);\n this.isDropZoneHighlighted = true;\n };\n\n launchFileBrowser() {\n this.browseButtonInput.dispatchEvent(new MouseEvent('click'));\n }\n\n // #endregion\n // #region Render Methods\n\n render = () => {\n return (\n <div class=\"file-picker\">\n {(this.hasLabel || this.hasDescription) && (\n <div class=\"heading\">\n {this.hasLabel && (\n <label\n class=\"label\"\n htmlFor=\"file-field\"\n test-id=\"label\"\n >\n {!!this.label ? loc(this.label) : this.hasLabelSlotContent ? <slot name=\"label\" /> : ''}\n </label>\n )}\n {this.hasDescription && (\n <div\n class=\"description\"\n id=\"description\"\n test-id=\"description\"\n >\n {!!this.description ? (\n loc(this.description)\n ) : this.hasDescriptionSlotContent ? (\n <slot name=\"description\" />\n ) : (\n ''\n )}\n </div>\n )}\n </div>\n )}\n\n {(this.variant === 'browse-drop' && (\n <div\n class={this.dropZoneClasses}\n onDragEnter={this.disableEvent}\n onDragLeave={this.dimDropZone}\n onDragOver={this.highlightDropZone}\n onDrop={this.grabDroppedFiles}\n ref={el => (this.dropZone = el ?? this.dropZone)}\n test-id=\"drop-zone\"\n >\n {(this.areFilesUploading && (\n <Fragment>\n <q2-loading class=\"loading\"></q2-loading>\n <p class=\"drop-zone-text\">{loc('tecton.element.filePicker.uploadingEllipsis')}</p>\n </Fragment>\n )) || (\n <Fragment>\n <q2-icon type=\"upload\"></q2-icon>\n <p class=\"drop-zone-text\">\n <q2-link\n label={loc('tecton.element.filePicker.browse')}\n onTctClick={() => this.launchFileBrowser()}\n variant=\"inline\"\n test-id=\"browse-link\"\n href=\"javascript:void(0)\"\n />\n {loc('tecton.element.filePicker.orDragFilesHere', [this.maxFiles])}\n </p>\n </Fragment>\n )}\n </div>\n )) || (\n <div\n class=\"browse\"\n test-id=\"browse\"\n >\n <q2-btn\n disabled={this.areFilesUploading}\n intent=\"workflow-primary\"\n loading={this.areFilesUploading}\n onClick={() => this.launchFileBrowser()}\n size=\"medium\"\n test-id=\"browse-button\"\n >\n <q2-icon type=\"paperclip\"></q2-icon>\n <span>{loc('tecton.element.filePicker.attachFiles', [this.maxFiles])}</span>\n </q2-btn>\n </div>\n )}\n <input\n aria-describedby={(!!this.description && 'description') || undefined}\n class=\"sr\"\n id=\"file-field\"\n onChange={this.grabSelectedFiles}\n ref={el => (this.browseButtonInput = el ?? this.browseButtonInput)}\n type=\"file\"\n test-id=\"file-input\"\n multiple\n />\n <div class=\"file-list-container\">\n <q2-list class=\"file-list\">\n {this.displayedFiles.map(file => (\n <q2-item\n class={this.getFileItemClasses(file.file.name)}\n key={file.file.name}\n onAnimationEnd={this.getAnimationendHandlerToRemoveFileItem(file.file.name)}\n >\n <div slot=\"bullet\">\n {file.status === 'invalid-type' ||\n file.status === 'over-size-limit' ||\n file.status === 'failed' ||\n file.status === 'over-max-files-limit' ? (\n <q2-icon\n class=\"icon-error\"\n type=\"error\"\n ></q2-icon>\n ) : file.status === 'in-progress' ? (\n <q2-loading class=\"file-item-loading\"></q2-loading>\n ) : (\n <q2-icon\n class=\"icon-success\"\n type=\"success\"\n ></q2-icon>\n )}\n </div>\n <div slot=\"header\">{file.file.name}</div>\n <div slot=\"body\">{this.getFileItemStatusMessage(file.status, file.file.size)}</div>\n <div slot=\"action\">\n <q2-btn\n class=\"dismiss-button\"\n intent=\"neutral-text\"\n onClick={this.getClickHandlerToRemoveFileItem(file.file.name)}\n >\n <q2-icon type=\"close\"></q2-icon>\n </q2-btn>\n </div>\n </q2-item>\n ))}\n </q2-list>\n </div>\n </div>\n );\n };\n\n // #endregion\n}\n"],"version":3}
1
+ {"file":"q2-file-picker.js","mappings":"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","names":["Q2FilePicker"],"sources":["src/components/q2-file-picker/q2-file-picker.scss?tag=q2-file-picker&encapsulation=shadow","src/components/q2-file-picker/q2-file-picker.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n@import '../q2-btn/q2-btn-mixins';\n\n@keyframes growFromCenterFadeIn {\n from {\n transform: scaleX(0.75) scaleY(0.75);\n opacity: 0;\n }\n to {\n transform: scaleX(1) scaleY(1);\n opacity: 1;\n }\n}\n\n@keyframes shrinkToCenterFadeOut {\n from {\n transform: scaleX(1) scaleY(1);\n opacity: 1;\n }\n to {\n transform: scaleX(0.75) scaleY(0.75);\n opacity: 0;\n }\n}\n\n:host {\n --comp-default-file-picker-margin: #{var-list(var-prefixer(file-picker-margin-top), --app-scale-5x, 25px) 0\n var-list(var-prefixer(file-picker-margin-bottom), --app-scale-5x, 25px)};\n display: block;\n margin: var-list(--tct-file-picker-margin, --comp-default-file-picker-margin);\n}\n\n.browse {\n text-align: left;\n}\n\n.drop-zone-text {\n color: var-list(--tct-file-picker-drop-zone-text-color, --t-gray-6, #4d4d4d);\n font-size: var-list(--tct-file-picker-drop-zone-font-size, --app-font-size-small, 12px);\n font-weight: var(--tct-file-picker-browse-link-font-weight, 700);\n margin-bottom: 0;\n margin-top: var-list(--tct-file-picker-drop-zone-text-margin-top, --app-scale-2x, 10px);\n}\n\n.description {\n color: var-list(--tct-file-picker-description-text-color, --t-gray-1, #0d0d0d);\n font-size: var-list(--tct-file-picker-description-font-size, --app-font-size-small, 12px);\n font-weight: var(--tct-file-picker-description-font-weight, 400);\n text-align: var(--tct-file-picker-description-text-align, left);\n}\n\n.drop-zone {\n align-items: center;\n background-color: var-list(--tct-file-picker-drop-zone-background, --t-tertiary, #e8f5fc);\n border-color: var-list(--tct-file-picker-drop-zone-border-color, --t-gray-8, #808080);\n border-radius: var-list(--tct-file-picker-drop-zone-border-radius, --app-border-radius-2, 6px);\n border-style: var(--tct-file-picker-drop-zone-border-style, dashed);\n border-width: var(--tct-file-picker-drop-zone-border-width, 2px);\n color: var(--tct-file-picker-drop-zone-color, #747474);\n display: flex;\n flex-direction: column;\n font-size: var(--tct-file-picker-drop-zone-font-size, --app-font-size, 14px);\n font-weight: var(--tct-file-picker-drop-zone-font-weight, 400);\n height: var(--tct-file-picker-drop-zone-height, 150px);\n justify-content: center;\n max-width: var(--tct-file-picker-drop-zone-max-width, 640px);\n min-width: var(--tct-file-picker-drop-zone-min-width, 320px);\n padding: var(--tct-file-picker-drop-zone-padding, 20px);\n text-align: center;\n width: var(--tct-file-picker-drop-zone-width, 100%);\n}\n\n.drop-zone-highlighted {\n background-color: var-list(--tct-file-picker-drop-zone-highlighted-background, --tertiary-d-1, #bee1f6);\n border-color: var-list(--tct-file-picker-drop-zone-highlighted-border, --t-gray-8, #808080);\n}\n\n.fade-in {\n animation-fill-mode: both;\n animation-play-state: running;\n animation: growFromCenterFadeIn 0.2s ease-in;\n}\n\n.fade-out {\n animation: shrinkToCenterFadeOut 0.1s ease-out;\n animation-play-state: running;\n animation-fill-mode: both;\n}\n\n.file-item {\n --tct-btn-icon-border-radius: 4px;\n --tct-btn-neutral-text-active-font-color: #{var-list(\n --tct-file-picker-item-close-btn-active-color,\n --t-gray-1,\n #0d0d0d\n )};\n --tct-btn-neutral-text-focus-visible-outer-ring-color: #{var-list(\n --tct-file-picker-item-close-btn-color,\n --t-gray-1,\n #0d0d0d\n )};\n --tct-btn-neutral-text-font-color: #{var-list(--tct-file-picker-item-close-btn-color, --t-gray-1, #0d0d0d)};\n --tct-btn-neutral-text-hover-outer-ring-color: #{var-list(\n --tct-file-picker-item-close-btn-hover-focus-ring-color,\n --t-gray-1,\n #0d0d0d\n )};\n --tct-btn-icon-padding: 0;\n --tct-icon-stroke-primary: #{var-list(--tct-file-picker-item-close-btn-color, --t-gray-1, #0d0d0d)};\n --tct-item-body-font-size: #{var-list(--tct-file-picker-item-font-size, --app-font-size-small, 12px)};\n --tct-item-body-font-weight: var(--tct-file-picker-item-font-weight, 400);\n --tct-item-border-radius: #{var-list(--tct-file-picker-item-border-radius, --app-border-radius-3, 12px)};\n --tct-item-border: var(--tct-file-picker-item-border-width, 1px) solid #{var-list(\n --tct-file-picker-item-border-color,\n --t-gray-8,\n #808080\n )};\n --tct-item-header-color: #{var-list(--tct-file-picker-item-name-color, --t-gray-1, #0d0d0d)};\n --tct-item-header-font-size: #{var-list(--tct-file-picker-item-name-font-size, --app-font-size-small, 12px)};\n --tct-item-header-font-weight: var(--tct-file-picker-item-name-font-weight, 400);\n --tct-item-padding: var(--tct-file-picker-item-padding, var(--app-scale-1x, 5px) var(--app-scale-2x, 10px));\n text-align: left;\n}\n\n.file-item-info {\n @include line-clamp(1);\n}\n\n.file-item-loading {\n font-size: var-list(--tct-file-picker-file-item-loading-size, --app-scale-6x, 30px);\n // FIXME: This is a temporary fix to match the height of the closing icon which has 3.5px of padding I can't account for\n margin-bottom: calc(var-list(--tct-file-picker-file-item-loading-margin-bottom, --app-scale-6x, 30px) / 8.57);\n margin-left: calc(var-list(--tct-file-picker-file-item-loading-margin-bottom, --app-scale-1x, 5px) / 2);\n}\n\n.file-list {\n --tct-list-item-gap: #{var-list(--tct-file-picker-section-gap, --app-scale-3x, 15px)};\n}\n\n.file-list-container {\n max-height: var(--tct-file-picker-list-max-height, 190px);\n max-width: var(--tct-file-picker-drop-zone-max-width, 640px);\n overflow-y: auto;\n scrollbar-width: thin;\n scrollbar-color: #{var-list(--tct-file-picker-scrollbar-color, --t-a11y-gray-color, #949494)} transparent;\n}\n\n.file-picker {\n display: flex;\n flex-direction: column;\n gap: #{var-list(--tct-file-picker-file-item-gap, --app-scale-3x, 15px)};\n}\n\n.heading {\n display: flex;\n flex-direction: column;\n gap: #{var-list(--tct-file-picker-heading-gap, --app-scale-1x, 5px)};\n justify-content: space-between;\n}\n\n.icon-success,\n.icon-error {\n --tct-icon-size: #{var-list(--tct-file-picker-file-item-icon-size, --app-scale-6x, 30px)};\n --tct-icon-stroke-width: 2px;\n}\n\n.label {\n color: var-list(--tct-file-picker-label-color, --t-gray-1, #0d0d0d);\n display: inline-block;\n font-size: var-list(--tct-file-picker-label-font-size, --app-font-size, 14px);\n font-weight: var(--tct-file-picker-label-font-weight, 600);\n text-align: var(--tct-file-picker-label-text-align, left);\n}\n\n.loading {\n font-size: var-list(--tct-file-picker-loading-size, --app-scale-6x, 25px);\n}\n\n.loading-file {\n color: var-list(--tct-file-picker-loading-file-color, --t-gray-1, #0d0d0d);\n font-size: var-list(--tct-file-picker-loading-file-font-size, --app-font-size-small, 12px);\n font-weight: var(--tct-file-picker-loading-file-font-weight, 400);\n margin: 0;\n}\n\n.loading-message {\n color: var-list(--tct-file-picker-loading-message-color, --t-gray-1, #0d0d0d);\n font-size: var-list(--tct-file-picker-loading-message-font-size, --app-font-size-small, 12px);\n font-weight: var(--tct-file-picker-loading-message-font-weight, 700);\n margin-bottom: var-list(--tct-file-picker-loading-message-margin-bottom, --app-scale-2x, 10px);\n margin-top: var-list(--tct-file-picker-loading-message-margin-top, --app-scale-2x, 10px);\n}\n\n.dismiss-button {\n height: 30px;\n width: 30px;\n &:hover {\n --tct-icon-stroke-primary: #{var-list(--tct-file-picker-item-close-btn-hover-color, --t-gray-1, #0d0d0d)};\n }\n}\n\n[slot='action'] {\n display: flex;\n align-items: center;\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { hasSlotContent, loc } from 'src/utils';\n\ntype DisplayedFile = {\n file: File;\n message?: string;\n status: FileStatus;\n toBeRemoved?: boolean;\n};\ntype UploadFileStatus = 'in-progress' | 'failed' | 'uploaded';\ntype FileStatus = UploadFileStatus | 'invalid-type' | 'over-size-limit' | 'over-max-files-limit';\nexport type StatusFile = {\n name: string;\n status: UploadFileStatus;\n message?: string;\n};\nexport type FilesObject = {\n invalidFiles: {\n file: File;\n status: 'invalid-type' | 'over-size-limit' | 'over-max-files-limit' | 'in-progress' | 'failed' | 'uploaded';\n }[];\n validFiles: File[];\n};\n@Component({\n tag: 'q2-file-picker',\n styleUrl: 'q2-file-picker.scss',\n shadow: true,\n})\nexport class Q2FilePicker implements ComponentInterface {\n // #region Own Properties\n\n browseButtonInput: HTMLElement;\n dropZone: HTMLElement;\n fileItemsToBeDeleted;\n queuedFiles: File[] = [];\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n el: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n areFilesUploading: boolean = false;\n\n @State()\n displayedFiles: DisplayedFile[] = [];\n\n @State()\n isDropZoneHighlighted: boolean = false;\n\n @State()\n refreshCounter = 0;\n\n // #endregion\n // #region Public Property API\n\n /**\n * The size of the browse button. Can be 'none', 'small', 'medium', or 'large'.\n */\n @Prop({ reflect: true })\n buttonSize: 'none' | 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * A description of the field. This is announced by screen readers when the field is focused.\n * @localizable\n */\n @Prop({ reflect: true })\n description: string;\n\n /**\n * Allowed file types based on extensions (e.g., ['jpg', 'png', 'pdf'] or\n * 'jpg, png, pdf'). When using the attribute, provide a comma-separated\n * string (e.g., 'jpg, png, pdf'). Arrays can only be set programmatically\n * via JavaScript.\n */\n @Prop({ reflect: true })\n fileTypes: string[] | string = [];\n\n /**\n * The label for the field. This is announced by screen readers when the field is focused.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /**\n * The maximum number of files that can be selected.\n */\n @Prop({ reflect: true })\n // maxFiles: number | string = Infinity;\n maxFiles: number = Infinity;\n\n /**\n * The maximum size (in bytes) of any file that can be selected.\n */\n @Prop({ reflect: true })\n maxFileSize: number = Infinity;\n\n /**\n * An array of objects representing the status of the files being uploaded.\n * Each object should have a `name` property (the file name), a `status`\n * property (the status of the file) that equals either 'in-progress',\n * 'failed', or 'uploaded', and an optional `message` property.\n *\n * Custom messages provided in the `message` property will only be used for\n * failed uploads (`status: 'failed'`). This allows for more specific error\n * messages in failure scenarios, while ensuring that all other file status\n * messages remain consistent and aligned with approved design/UX standards.\n * Custom messages for failed uploads are limited to a single line.\n * @localizable\n */\n @Prop({ reflect: true })\n status: StatusFile[] = [];\n\n /**\n * Returns an array of File objects representing the files selected by the\n * user. If no files are selected, the value is an empty array.\n * @readonly\n */\n @Prop({ mutable: true })\n value: FilesObject = { invalidFiles: [], validFiles: [] };\n\n /**\n * Determines if the file picker is a browse button or a drop zone with a\n * browse link.\n */\n @Prop({ reflect: true })\n variant: 'browse' | 'browse-drop' = 'browse';\n\n // #endregion\n // #region Events\n\n @Event()\n tctChange: EventEmitter<FilesObject>;\n\n // #endregion\n // #region Watchers\n\n @Watch('status')\n updateFileList(newValue: StatusFile[]) {\n newValue.forEach(statusItem => {\n const matchingQueuedFileIndex = this.queuedFiles.findIndex(file => file.name === statusItem.name);\n if (matchingQueuedFileIndex > -1) {\n const matchingFile = this.queuedFiles.splice(matchingQueuedFileIndex, 1)[0];\n this.displayedFiles = [{ file: matchingFile, status: statusItem.status }, ...this.displayedFiles];\n } else {\n const matchingDisplayedFileIndex = this.displayedFiles.findIndex(\n file => file.file.name === statusItem.name\n );\n if (matchingDisplayedFileIndex > -1) {\n this.displayedFiles[matchingDisplayedFileIndex].status = statusItem.status;\n if (statusItem.status === 'failed' && statusItem.message) {\n this.displayedFiles[matchingDisplayedFileIndex].message = statusItem.message;\n }\n this.disableLoaderIfAllFilesUploaded();\n }\n }\n });\n }\n\n // #endregion\n // #region Local Methods\n\n get actualButtonSize() {\n return this.buttonSize === 'none' ? undefined : this.buttonSize;\n }\n\n get dropZoneClasses() {\n const classes = ['drop-zone'];\n if (this.isDropZoneHighlighted) {\n classes.push('drop-zone-highlighted');\n }\n\n return classes.join(' ');\n }\n\n get fileTypesArray() {\n return Array.isArray(this.fileTypes) ? this.fileTypes : this.fileTypes.split(',').map(type => type.trim());\n }\n\n get hasDescription() {\n return !!this.description || this.hasDescriptionSlotContent;\n }\n\n get hasDescriptionSlotContent() {\n return hasSlotContent(this.el, 'description');\n }\n\n get hasLabel() {\n return !!this.label || this.hasLabelSlotContent;\n }\n\n get hasLabelSlotContent() {\n return hasSlotContent(this.el, 'label');\n }\n\n buildFilesObject(filesToUpload: File[]): FilesObject {\n const invalidFiles = [];\n invalidFiles.push(...this.extractFilesOfInvalidTypes(filesToUpload));\n invalidFiles.push(...this.extractFilesOverSizeLimit(filesToUpload));\n invalidFiles.push(...this.extractFilesOverMaxFilesLimit(filesToUpload));\n this.displayedFiles = [...invalidFiles];\n\n if (filesToUpload.length === 0) {\n this.areFilesUploading = false;\n } else {\n this.queuedFiles = filesToUpload;\n }\n\n return { invalidFiles, validFiles: filesToUpload };\n }\n\n dimDropZone = (e: DragEvent) => {\n this.disableEvent(e);\n this.isDropZoneHighlighted = false;\n };\n\n disableEvent(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n disableLoaderIfAllFilesUploaded() {\n if (this.queuedFiles.length === 0 && !this.displayedFiles.some(file => file.status === 'in-progress')) {\n this.areFilesUploading = false;\n }\n }\n\n emitChange(filesObject: FilesObject) {\n this.areFilesUploading = filesObject.validFiles.length > 0;\n this.tctChange.emit(filesObject);\n }\n\n extractFilesOfInvalidTypes(files: File[]) {\n const invalidFiles = [];\n\n if (this.fileTypesArray.length === 0) return invalidFiles;\n\n files.forEach(file => {\n const fileExtension = file.name.split('.').pop().toLowerCase();\n if (!this.fileTypesArray.includes(fileExtension)) {\n invalidFiles.push({ file, status: 'invalid-type' });\n }\n });\n\n // Remove invalid files from the files array\n invalidFiles.forEach(invalidFile => {\n const index = files.indexOf(invalidFile.file);\n if (index > -1) {\n files.splice(index, 1);\n }\n });\n\n return invalidFiles;\n }\n\n extractFilesOverMaxFilesLimit(files: File[]) {\n const filesOverMaxFilesLimit = [];\n\n if (this.maxFiles === Infinity) return filesOverMaxFilesLimit;\n\n if (files.length > this.maxFiles) {\n const excessFiles = files.splice(this.maxFiles);\n excessFiles.forEach(file => {\n filesOverMaxFilesLimit.push({ file, status: 'over-max-files-limit' });\n });\n }\n\n return filesOverMaxFilesLimit;\n }\n\n extractFilesOverSizeLimit(files: File[]) {\n const filesOverSizeLimit = [];\n\n if (this.maxFileSize === Infinity) return filesOverSizeLimit;\n\n files.forEach(file => {\n if (file.size > this.maxFileSize) {\n filesOverSizeLimit.push({ file, status: 'over-size-limit' });\n }\n });\n\n // Remove files over size limit from the files array\n filesOverSizeLimit.forEach(overSizeFile => {\n const index = files.indexOf(overSizeFile.file);\n if (index > -1) {\n files.splice(index, 1);\n }\n });\n\n return filesOverSizeLimit;\n }\n\n forceRerender() {\n this.refreshCounter += 1; // Triggers re-render\n }\n\n getAnimationendHandlerToRemoveFileItem(fileName: string) {\n return (e: AnimationEvent) => {\n if (e.animationName === 'shrinkToCenterFadeOut') {\n this.displayedFiles = this.displayedFiles.filter(file => file.file.name !== fileName);\n }\n };\n }\n\n getClickHandlerToRemoveFileItem(fileName: string) {\n return () => {\n const fileToDelete = this.displayedFiles.find(file => file.file.name === fileName);\n if (fileToDelete) {\n fileToDelete.toBeRemoved = true;\n this.forceRerender();\n }\n };\n }\n\n getFileItemClasses(fileName: string) {\n const classes = ['file-item'];\n const matchingFile = this.displayedFiles.find(file => file.file.name === fileName);\n if (matchingFile?.toBeRemoved) {\n classes.push('fade-out');\n } else {\n classes.push('fade-in');\n }\n return classes.join(' ');\n }\n\n getFileItemStatusMessage(displayedFile: DisplayedFile) {\n switch (displayedFile.status) {\n case 'invalid-type':\n return loc('tecton.element.filePicker.unsupportedFileType');\n case 'over-size-limit':\n return loc('tecton.element.filePicker.sizeExceedsLimit');\n case 'over-max-files-limit':\n return loc('tecton.element.filePicker.overMaxFilesLimit');\n case 'in-progress':\n return loc('tecton.element.filePicker.uploadingEllipsis');\n case 'failed':\n if (displayedFile.message) return loc(displayedFile.message);\n return loc('tecton.element.filePicker.uploadFailed');\n case 'uploaded':\n default:\n return loc('tecton.element.filePicker.fileSize', [\n (displayedFile.file.size / (1000 * 1000)).toFixed(2),\n ]);\n }\n }\n\n grabDroppedFiles = (e: DragEvent) => {\n this.disableEvent(e);\n this.isDropZoneHighlighted = false;\n const droppedFiles = Array.from(e.dataTransfer.files);\n const filesObject = this.buildFilesObject(droppedFiles);\n\n this.emitChange(filesObject);\n this.value = filesObject;\n };\n\n grabSelectedFiles = (e: Event) => {\n const selectedFiles = Array.from((e.target as HTMLInputElement).files);\n const filesObject = this.buildFilesObject(selectedFiles);\n // Reset the input value to allow re-selection of the same file\n (this.browseButtonInput as HTMLInputElement).value = '';\n\n this.emitChange(filesObject);\n this.value = filesObject;\n };\n\n highlightDropZone = (e: DragEvent) => {\n this.disableEvent(e);\n this.isDropZoneHighlighted = true;\n };\n\n launchFileBrowser() {\n this.browseButtonInput.dispatchEvent(new MouseEvent('click'));\n }\n\n // #endregion\n // #region Render Methods\n\n render = () => {\n return (\n <div class=\"file-picker\">\n {(this.hasLabel || this.hasDescription) && (\n <div class=\"heading\">\n {this.hasLabel && (\n <label\n class=\"label\"\n htmlFor=\"file-field\"\n test-id=\"label\"\n >\n {!!this.label ? loc(this.label) : this.hasLabelSlotContent ? <slot name=\"label\" /> : ''}\n </label>\n )}\n {this.hasDescription && (\n <div\n class=\"description\"\n id=\"description\"\n test-id=\"description\"\n >\n {!!this.description ? (\n loc(this.description)\n ) : this.hasDescriptionSlotContent ? (\n <slot name=\"description\" />\n ) : (\n ''\n )}\n </div>\n )}\n </div>\n )}\n\n {(this.variant === 'browse-drop' && (\n <div\n class={this.dropZoneClasses}\n onDragEnter={this.disableEvent}\n onDragLeave={this.dimDropZone}\n onDragOver={this.highlightDropZone}\n onDrop={this.grabDroppedFiles}\n ref={el => (this.dropZone = el ?? this.dropZone)}\n test-id=\"drop-zone\"\n >\n {(this.areFilesUploading && (\n <Fragment>\n <q2-loading class=\"loading\"></q2-loading>\n <p class=\"drop-zone-text\">{loc('tecton.element.filePicker.uploadingEllipsis')}</p>\n </Fragment>\n )) || (\n <Fragment>\n <q2-icon type=\"upload\"></q2-icon>\n <p class=\"drop-zone-text\">\n <q2-link\n label={loc('tecton.element.filePicker.browse')}\n onTctClick={() => this.launchFileBrowser()}\n variant=\"inline\"\n test-id=\"browse-link\"\n href=\"javascript:void(0)\"\n />\n {loc('tecton.element.filePicker.orDragFilesHere', [this.maxFiles])}\n </p>\n </Fragment>\n )}\n </div>\n )) || (\n <div\n class=\"browse\"\n test-id=\"browse\"\n >\n <q2-btn\n disabled={this.areFilesUploading}\n intent=\"workflow-primary\"\n loading={this.areFilesUploading}\n onClick={() => this.launchFileBrowser()}\n size={this.actualButtonSize}\n test-id=\"browse-button\"\n >\n <q2-icon type=\"paperclip\"></q2-icon>\n <span>{loc('tecton.element.filePicker.attachFiles', [this.maxFiles])}</span>\n </q2-btn>\n </div>\n )}\n <input\n aria-describedby={(!!this.description && 'description') || undefined}\n class=\"sr\"\n id=\"file-field\"\n onChange={this.grabSelectedFiles}\n ref={el => (this.browseButtonInput = el ?? this.browseButtonInput)}\n type=\"file\"\n test-id=\"file-input\"\n multiple\n />\n <div class=\"file-list-container\">\n <q2-list class=\"file-list\">\n {this.displayedFiles.map(file => (\n <q2-item\n class={this.getFileItemClasses(file.file.name)}\n key={file.file.name}\n onAnimationEnd={this.getAnimationendHandlerToRemoveFileItem(file.file.name)}\n >\n <div slot=\"bullet\">\n {file.status === 'invalid-type' ||\n file.status === 'over-size-limit' ||\n file.status === 'failed' ||\n file.status === 'over-max-files-limit' ? (\n <q2-icon\n class=\"icon-error\"\n type=\"error\"\n ></q2-icon>\n ) : file.status === 'in-progress' ? (\n <q2-loading class=\"file-item-loading\"></q2-loading>\n ) : (\n <q2-icon\n class=\"icon-success\"\n type=\"success\"\n ></q2-icon>\n )}\n </div>\n <div slot=\"header\">{file.file.name}</div>\n <div\n class=\"file-item-info\"\n slot=\"body\"\n >\n {this.getFileItemStatusMessage(file)}\n </div>\n <div slot=\"action\">\n <q2-btn\n class=\"dismiss-button\"\n intent=\"neutral-text\"\n onClick={this.getClickHandlerToRemoveFileItem(file.file.name)}\n >\n <q2-icon type=\"close\"></q2-icon>\n </q2-btn>\n </div>\n </q2-item>\n ))}\n </q2-list>\n </div>\n </div>\n );\n };\n\n // #endregion\n}\n"],"version":3}
@@ -11,7 +11,7 @@ const Q2Checkbox = /*@__PURE__*/ proxyCustomElement(class Q2Checkbox extends HTM
11
11
  this.spacing = 'normal';
12
12
  }
13
13
  render() {
14
- return (h("div", { key: '377fbc8245a6d6734536a37f3d733384801fd00b', class: "container" }, h("slot", { key: '73d1054f5ca1af44c78a4f85b1009143989a5530' })));
14
+ return (h("div", { key: '04799c303aece51e5a4db5b73b250b23042ac929', class: "container" }, h("slot", { key: '8461f1f0db3fe541583548fe574a12a6dfb8bd26' })));
15
15
  }
16
16
  static get style() { return Q2FormStyle0; }
17
17
  }, [1, "q2-form", {
@@ -53,7 +53,7 @@ const Q2FormattedText$1 = /*@__PURE__*/ proxyCustomElement(class Q2FormattedText
53
53
  // #region Render Methods
54
54
  render() {
55
55
  const { formattedTextClasses } = this;
56
- return (h("div", { key: '29aac8ea5e737d01243d42d0a9790d18a11f768c', class: formattedTextClasses, "aria-label": this.formattedValue }, h("span", { key: '613fe3f2d365edd4a2ffefd37ac2ec4f05220978' }, this.formattedValue)));
56
+ return (h("div", { key: '59f16336df671d957674678a7c129652ba98672d', class: formattedTextClasses, "aria-label": this.formattedValue }, h("span", { key: '9bdf70755092e11ad43b2f7d6d487d0bb0b838a1' }, this.formattedValue)));
57
57
  }
58
58
  static get watchers() { return {
59
59
  "value": ["propsUpdated"],
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface Q2GridArea extends Components.Q2GridArea, HTMLElement {}
4
+ export const Q2GridArea: {
5
+ prototype: Q2GridArea;
6
+ new (): Q2GridArea;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,190 @@
1
+ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
+
3
+ const q2GridAreaCss = ":host{--grid-column-start:\"\";--grid-column-end:\"\";--grid-row-start:\"\";--grid-row-end:\"\";--justify-self:\"\";--align-self:\"\";--z-index:\"\";--xs-grid-column-start:\"\";--xs-grid-column-end:\"\";--xs-grid-row-start:\"\";--xs-grid-row-end:\"\";--xs-justify-self:\"\";--xs-align-self:\"\";--xs-z-index:\"\";--sm-grid-column-start:\"\";--sm-grid-column-end:\"\";--sm-grid-row-start:\"\";--sm-grid-row-end:\"\";--sm-justify-self:\"\";--sm-align-self:\"\";--sm-z-index:\"\";--md-grid-column-start:\"\";--md-grid-column-end:\"\";--md-grid-row-start:\"\";--md-grid-row-end:\"\";--md-justify-self:\"\";--md-align-self:\"\";--md-z-index:\"\";--lg-grid-column-start:\"\";--lg-grid-column-end:\"\";--lg-grid-row-start:\"\";--lg-grid-row-end:\"\";--lg-justify-self:\"\";--lg-align-self:\"\";--lg-z-index:\"\";--xl-grid-column-start:\"\";--xl-grid-column-end:\"\";--xl-grid-row-start:\"\";--xl-grid-row-end:\"\";--xl-justify-self:\"\";--xl-align-self:\"\";--xl-z-index:\"\"}:host{grid-column-start:var(--grid-column-start);grid-column-end:var(--grid-column-end);grid-row-start:var(--grid-row-start);grid-row-end:var(--grid-row-end);justify-self:var(--justify-self);align-self:var(--align-self);z-index:var(--z-index)}@media screen and (min-width: 480px){:host{grid-column-start:var(--xs-grid-column-start);grid-column-end:var(--xs-grid-column-end);grid-row-start:var(--xs-grid-row-start);grid-row-end:var(--xs-grid-row-end);justify-self:var(--xs-justify-self);align-self:var(--xs-align-self);z-index:var(--xs-z-index)}}@media screen and (min-width: 768px){:host{grid-column-start:var(--sm-grid-column-start);grid-column-end:var(--sm-grid-column-end);grid-row-start:var(--sm-grid-row-start);grid-row-end:var(--sm-grid-row-end);justify-self:var(--sm-justify-self);align-self:var(--sm-align-self);z-index:var(--sm-z-index)}}@media screen and (min-width: 992px){:host{grid-column-start:var(--md-grid-column-start);grid-column-end:var(--md-grid-column-end);grid-row-start:var(--md-grid-row-start);grid-row-end:var(--md-grid-row-end);justify-self:var(--md-justify-self);align-self:var(--md-align-self);z-index:var(--md-z-index)}}@media screen and (min-width: 1200px){:host{grid-column-start:var(--lg-grid-column-start);grid-column-end:var(--lg-grid-column-end);grid-row-start:var(--lg-grid-row-start);grid-row-end:var(--lg-grid-row-end);justify-self:var(--lg-justify-self);align-self:var(--lg-align-self);z-index:var(--lg-z-index)}}@media screen and (min-width: 1400px){:host{grid-column-start:var(--xl-grid-column-start);grid-column-end:var(--xl-grid-column-end);grid-row-start:var(--xl-grid-row-start);grid-row-end:var(--xl-grid-row-end);justify-self:var(--xl-justify-self);align-self:var(--xl-align-self);z-index:var(--xl-z-index)}}";
4
+ const Q2GridAreaStyle0 = q2GridAreaCss;
5
+
6
+ const Q2GridArea$1 = /*@__PURE__*/ proxyCustomElement(class Q2GridArea extends HTMLElement {
7
+ constructor() {
8
+ super();
9
+ this.__registerHost();
10
+ this.__attachShadow();
11
+ this.align = 'auto';
12
+ this.columnSpan = 1;
13
+ this.columnStart = 'auto';
14
+ this.justify = 'auto';
15
+ this.lgAlign = undefined;
16
+ this.lgColumnSpan = undefined;
17
+ this.lgColumnStart = undefined;
18
+ this.lgJustify = undefined;
19
+ this.lgRowSpan = undefined;
20
+ this.lgRowStart = undefined;
21
+ this.lgZIndex = undefined;
22
+ this.mdAlign = undefined;
23
+ this.mdColumnSpan = undefined;
24
+ this.mdColumnStart = undefined;
25
+ this.mdJustify = undefined;
26
+ this.mdRowSpan = undefined;
27
+ this.mdRowStart = undefined;
28
+ this.mdZIndex = undefined;
29
+ this.rowSpan = 1;
30
+ this.rowStart = 'auto';
31
+ this.smAlign = undefined;
32
+ this.smColumnSpan = undefined;
33
+ this.smColumnStart = undefined;
34
+ this.smJustify = undefined;
35
+ this.smRowSpan = undefined;
36
+ this.smRowStart = undefined;
37
+ this.smZIndex = undefined;
38
+ this.xlAlign = undefined;
39
+ this.xlColumnSpan = undefined;
40
+ this.xlColumnStart = undefined;
41
+ this.xlJustify = undefined;
42
+ this.xlRowSpan = undefined;
43
+ this.xlRowStart = undefined;
44
+ this.xlZIndex = undefined;
45
+ this.xsAlign = undefined;
46
+ this.xsColumnSpan = undefined;
47
+ this.xsColumnStart = undefined;
48
+ this.xsJustify = undefined;
49
+ this.xsRowSpan = undefined;
50
+ this.xsRowStart = undefined;
51
+ this.xsZIndex = undefined;
52
+ this.zIndex = 0;
53
+ }
54
+ // #endregion
55
+ // #region Local Methods
56
+ get computedLgZIndex() {
57
+ return this.lgZIndex || this.lgZIndex === 0 ? this.lgZIndex : this.computedMdZIndex;
58
+ }
59
+ get computedMdZIndex() {
60
+ return this.mdZIndex || this.mdZIndex === 0 ? this.mdZIndex : this.computedSmZIndex;
61
+ }
62
+ get computedSmZIndex() {
63
+ return this.smZIndex || this.smZIndex === 0 ? this.smZIndex : this.computedXsZIndex;
64
+ }
65
+ get computedXlZIndex() {
66
+ return this.xlZIndex || this.xlZIndex === 0 ? this.xlZIndex : this.computedLgZIndex;
67
+ }
68
+ get computedXsZIndex() {
69
+ return this.xsZIndex || this.xsZIndex === 0 ? this.xsZIndex : this.zIndex;
70
+ }
71
+ // #endregion
72
+ // #region Render Methods
73
+ render() {
74
+ const q2GridAreaStyles = {
75
+ // base:
76
+ '--grid-column-start': `${this.columnStart}`,
77
+ '--grid-column-end': `span ${this.columnSpan}`,
78
+ '--grid-row-start': `${this.rowStart}`,
79
+ '--grid-row-end': `span ${this.rowSpan}`,
80
+ '--justify-self': this.justify,
81
+ '--align-self': this.align,
82
+ '--z-index': `${this.zIndex}`,
83
+ // xs:
84
+ '--xs-grid-column-start': `${this.xsColumnStart || this.columnStart}`,
85
+ '--xs-grid-column-end': `span ${this.xsColumnSpan || this.columnSpan}`,
86
+ '--xs-grid-row-start': `${this.xsRowStart || this.rowStart}`,
87
+ '--xs-grid-row-end': `span ${this.xsRowSpan || this.rowSpan}`,
88
+ '--xs-justify-self': this.xsJustify || this.justify,
89
+ '--xs-align-self': this.xsAlign || this.align,
90
+ '--xs-z-index': `${this.computedXsZIndex}`,
91
+ // sm:
92
+ '--sm-grid-column-start': `${this.smColumnStart || this.xsColumnStart || this.columnStart}`,
93
+ '--sm-grid-column-end': `span ${this.smColumnSpan || this.xsColumnSpan || this.columnSpan}`,
94
+ '--sm-grid-row-start': `${this.smRowStart || this.xsRowStart || this.rowStart}`,
95
+ '--sm-grid-row-end': `span ${this.smRowSpan || this.xsRowSpan || this.rowSpan}`,
96
+ '--sm-justify-self': this.smJustify || this.xsJustify || this.justify,
97
+ '--sm-align-self': this.smAlign || this.xsAlign || this.align,
98
+ '--sm-z-index': `${this.computedSmZIndex}`,
99
+ // md:
100
+ '--md-grid-column-start': `${this.mdColumnStart || this.smColumnStart || this.xsColumnStart || this.columnStart}`,
101
+ '--md-grid-column-end': `span ${this.mdColumnSpan || this.smColumnSpan || this.xsColumnSpan || this.columnSpan}`,
102
+ '--md-grid-row-start': `${this.mdRowStart || this.smRowStart || this.xsRowStart || this.rowStart}`,
103
+ '--md-grid-row-end': `span ${this.mdRowSpan || this.smRowSpan || this.xsRowSpan || this.rowSpan}`,
104
+ '--md-justify-self': this.mdJustify || this.smJustify || this.xsJustify || this.justify,
105
+ '--md-align-self': this.mdAlign || this.smAlign || this.xsAlign || this.align,
106
+ '--md-z-index': `${this.computedMdZIndex}`,
107
+ // lg:
108
+ '--lg-grid-column-start': `${this.lgColumnStart || this.mdColumnStart || this.smColumnStart || this.xsColumnStart || this.columnStart}`,
109
+ '--lg-grid-column-end': `span ${this.lgColumnSpan || this.mdColumnSpan || this.smColumnSpan || this.xsColumnSpan || this.columnSpan}`,
110
+ '--lg-grid-row-start': `${this.lgRowStart || this.mdRowStart || this.smRowStart || this.xsRowStart || this.rowStart}`,
111
+ '--lg-grid-row-end': `span ${this.lgRowSpan || this.mdRowSpan || this.smRowSpan || this.xsRowSpan || this.rowSpan}`,
112
+ '--lg-justify-self': this.lgJustify || this.mdJustify || this.smJustify || this.xsJustify || this.justify,
113
+ '--lg-align-self': this.lgAlign || this.mdAlign || this.smAlign || this.xsAlign || this.align,
114
+ '--lg-z-index': `${this.computedLgZIndex}`,
115
+ // xl:
116
+ '--xl-grid-column-start': `${this.xlColumnStart || this.lgColumnStart || this.mdColumnStart || this.smColumnStart || this.xsColumnStart || this.columnStart}`,
117
+ '--xl-grid-column-end': `span ${this.xlColumnSpan || this.lgColumnSpan || this.mdColumnSpan || this.smColumnSpan || this.xsColumnSpan || this.columnSpan}`,
118
+ '--xl-grid-row-start': `${this.xlRowStart || this.lgRowStart || this.mdRowStart || this.smRowStart || this.xsRowStart || this.rowStart}`,
119
+ '--xl-grid-row-end': `span ${this.xlRowSpan || this.lgRowSpan || this.mdRowSpan || this.smRowSpan || this.xsRowSpan || this.rowSpan}`,
120
+ '--xl-justify-self': this.xlJustify || this.lgJustify || this.mdJustify || this.smJustify || this.xsJustify || this.justify,
121
+ '--xl-align-self': this.xlAlign || this.lgAlign || this.mdAlign || this.smAlign || this.xsAlign || this.align,
122
+ '--xl-z-index': `${this.computedXlZIndex}`,
123
+ };
124
+ return (h(Host, { key: 'f8e261f2b0ef797a8b66f6da08579be08c1c47b0', style: q2GridAreaStyles }, h("slot", { key: '41d23b118b2030a76a31a151cee55e080d2b804e' })));
125
+ }
126
+ static get style() { return Q2GridAreaStyle0; }
127
+ }, [1, "q2-grid-area", {
128
+ "align": [513],
129
+ "columnSpan": [514, "column-span"],
130
+ "columnStart": [520, "column-start"],
131
+ "justify": [513],
132
+ "lgAlign": [513, "lg-align"],
133
+ "lgColumnSpan": [514, "lg-column-span"],
134
+ "lgColumnStart": [520, "lg-column-start"],
135
+ "lgJustify": [513, "lg-justify"],
136
+ "lgRowSpan": [514, "lg-row-span"],
137
+ "lgRowStart": [520, "lg-row-start"],
138
+ "lgZIndex": [514, "lg-z-index"],
139
+ "mdAlign": [513, "md-align"],
140
+ "mdColumnSpan": [514, "md-column-span"],
141
+ "mdColumnStart": [520, "md-column-start"],
142
+ "mdJustify": [513, "md-justify"],
143
+ "mdRowSpan": [514, "md-row-span"],
144
+ "mdRowStart": [520, "md-row-start"],
145
+ "mdZIndex": [514, "md-z-index"],
146
+ "rowSpan": [514, "row-span"],
147
+ "rowStart": [520, "row-start"],
148
+ "smAlign": [513, "sm-align"],
149
+ "smColumnSpan": [514, "sm-column-span"],
150
+ "smColumnStart": [520, "sm-column-start"],
151
+ "smJustify": [513, "sm-justify"],
152
+ "smRowSpan": [514, "sm-row-span"],
153
+ "smRowStart": [520, "sm-row-start"],
154
+ "smZIndex": [514, "sm-z-index"],
155
+ "xlAlign": [513, "xl-align"],
156
+ "xlColumnSpan": [514, "xl-column-span"],
157
+ "xlColumnStart": [520, "xl-column-start"],
158
+ "xlJustify": [513, "xl-justify"],
159
+ "xlRowSpan": [514, "xl-row-span"],
160
+ "xlRowStart": [520, "xl-row-start"],
161
+ "xlZIndex": [514, "xl-z-index"],
162
+ "xsAlign": [513, "xs-align"],
163
+ "xsColumnSpan": [514, "xs-column-span"],
164
+ "xsColumnStart": [520, "xs-column-start"],
165
+ "xsJustify": [513, "xs-justify"],
166
+ "xsRowSpan": [514, "xs-row-span"],
167
+ "xsRowStart": [520, "xs-row-start"],
168
+ "xsZIndex": [514, "xs-z-index"],
169
+ "zIndex": [514, "z-index"]
170
+ }]);
171
+ function defineCustomElement$1() {
172
+ if (typeof customElements === "undefined") {
173
+ return;
174
+ }
175
+ const components = ["q2-grid-area"];
176
+ components.forEach(tagName => { switch (tagName) {
177
+ case "q2-grid-area":
178
+ if (!customElements.get(tagName)) {
179
+ customElements.define(tagName, Q2GridArea$1);
180
+ }
181
+ break;
182
+ } });
183
+ }
184
+
185
+ const Q2GridArea = Q2GridArea$1;
186
+ const defineCustomElement = defineCustomElement$1;
187
+
188
+ export { Q2GridArea, defineCustomElement };
189
+
190
+ //# sourceMappingURL=q2-grid-area.js.map
@@ -0,0 +1 @@
1
+ {"file":"q2-grid-area.js","mappings":"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","names":["Q2GridArea"],"sources":["src/components/q2-grid-area/q2-grid-area.scss?tag=q2-grid-area&encapsulation=shadow","src/components/q2-grid-area/q2-grid-area.tsx"],"sourcesContent":["@import '../../styles/functions.scss';\n@import '../../styles/variables.scss';\n\n:host {\n // base:\n --grid-column-start: '';\n --grid-column-end: '';\n --grid-row-start: '';\n --grid-row-end: '';\n --justify-self: '';\n --align-self: '';\n --z-index: '';\n // xs:\n --xs-grid-column-start: '';\n --xs-grid-column-end: '';\n --xs-grid-row-start: '';\n --xs-grid-row-end: '';\n --xs-justify-self: '';\n --xs-align-self: '';\n --xs-z-index: '';\n // sm:\n --sm-grid-column-start: '';\n --sm-grid-column-end: '';\n --sm-grid-row-start: '';\n --sm-grid-row-end: '';\n --sm-justify-self: '';\n --sm-align-self: '';\n --sm-z-index: '';\n // md:\n --md-grid-column-start: '';\n --md-grid-column-end: '';\n --md-grid-row-start: '';\n --md-grid-row-end: '';\n --md-justify-self: '';\n --md-align-self: '';\n --md-z-index: '';\n // lg:\n --lg-grid-column-start: '';\n --lg-grid-column-end: '';\n --lg-grid-row-start: '';\n --lg-grid-row-end: '';\n --lg-justify-self: '';\n --lg-align-self: '';\n --lg-z-index: '';\n // xl:\n --xl-grid-column-start: '';\n --xl-grid-column-end: '';\n --xl-grid-row-start: '';\n --xl-grid-row-end: '';\n --xl-justify-self: '';\n --xl-align-self: '';\n --xl-z-index: '';\n}\n// base:\n@include generate-q2-grid-area-styles(\n var(--grid-column-start),\n var(--grid-column-end),\n var(--grid-row-start),\n var(--grid-row-end),\n var(--justify-self),\n var(--align-self),\n var(--z-index)\n);\n// xs, sm, md, lg, xl:\n@each $breakpoint in $breakpoint-list {\n @include breakpoint($breakpoint) {\n @include generate-q2-grid-area-styles(\n var(--#{$breakpoint}-grid-column-start),\n var(--#{$breakpoint}-grid-column-end),\n var(--#{$breakpoint}-grid-row-start),\n var(--#{$breakpoint}-grid-row-end),\n var(--#{$breakpoint}-justify-self),\n var(--#{$breakpoint}-align-self),\n var(--#{$breakpoint}-z-index)\n );\n }\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\nexport type TQ2GridAreaColumnStartOptions = 'auto' | number;\nexport type TQ2GridAreaColumnSpanOptions = number;\nexport type TQ2GridAreaRowStartOptions = 'auto' | number;\nexport type TQ2GridAreaRowSpanOptions = number;\nexport type TQ2GridAreaJustifyOptions = 'auto' | 'stretch' | 'start' | 'center' | 'end';\nexport type TQ2GridAreaAlignOptions = 'auto' | 'stretch' | 'start' | 'center' | 'end';\nexport type TQ2GridAreaZIndexOptions = number;\n\n@Component({ tag: 'q2-grid-area', shadow: true, styleUrl: 'q2-grid-area.scss' })\nexport class Q2GridArea {\n // #region Public Property API\n\n /**\n * Sets the vertical alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n align: TQ2GridAreaAlignOptions = 'auto';\n\n /** Sets the column span amount of the grid area at the baseline viewport size.*/\n @Prop({ reflect: true })\n columnSpan: TQ2GridAreaColumnSpanOptions = 1;\n\n /** Sets the starting column of the grid area at the baseline viewport size.*/\n @Prop({ reflect: true })\n columnStart: TQ2GridAreaColumnStartOptions = 'auto';\n\n /**\n * Sets the horizontal alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n justify: TQ2GridAreaJustifyOptions = 'auto';\n\n /**\n * Sets the vertical alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n lgAlign: TQ2GridAreaAlignOptions;\n\n /** Sets the column span amount of the grid area at the LG viewport size.*/\n @Prop({ reflect: true })\n lgColumnSpan: TQ2GridAreaColumnSpanOptions;\n\n /**\n * Sets the starting column of the grid area at the LG viewport size.\n * When set to `auto`, the grid area will automatically start at the first available column.\n */\n @Prop({ reflect: true })\n lgColumnStart: TQ2GridAreaColumnStartOptions;\n\n /**\n * Sets the horizontal alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n lgJustify: TQ2GridAreaJustifyOptions;\n\n /** Sets the row span amount of the grid area at the LG viewport size.*/\n @Prop({ reflect: true })\n lgRowSpan: TQ2GridAreaRowSpanOptions;\n\n /**\n * Sets the starting row of the grid area at the LG viewport size.\n * When set to `auto`, the grid area will automatically start at the first available row.\n */\n @Prop({ reflect: true })\n lgRowStart: TQ2GridAreaRowStartOptions;\n\n /** Sets the z-index of the grid area at the LG viewport size.*/\n @Prop({ reflect: true })\n lgZIndex: TQ2GridAreaZIndexOptions;\n\n /**\n * Sets the vertical alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n mdAlign: TQ2GridAreaAlignOptions;\n\n /** Sets the column span amount of the grid area at the MD viewport size.*/\n @Prop({ reflect: true })\n mdColumnSpan: TQ2GridAreaColumnSpanOptions;\n\n /**\n * Sets the starting column of the grid area at the MD viewport size.\n * When set to `auto`, the grid area will automatically start at the first available column.\n */\n @Prop({ reflect: true })\n mdColumnStart: TQ2GridAreaColumnStartOptions;\n\n /**\n * Sets the horizontal alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n mdJustify: TQ2GridAreaJustifyOptions;\n\n /** Sets the row span amount of the grid area at the MD viewport size.*/\n @Prop({ reflect: true })\n mdRowSpan: TQ2GridAreaRowSpanOptions;\n\n /**\n * Sets the starting row of the grid area at the MD viewport size.\n * When set to `auto`, the grid area will automatically start at the first available row.\n */\n @Prop({ reflect: true })\n mdRowStart: TQ2GridAreaRowStartOptions;\n\n /** Sets the z-index of the grid area at the MD viewport size.*/\n @Prop({ reflect: true })\n mdZIndex: TQ2GridAreaZIndexOptions;\n\n /** Sets the row span amount of the grid area at the baseline viewport size.*/\n @Prop({ reflect: true })\n rowSpan: TQ2GridAreaRowSpanOptions = 1;\n\n /**\n * Sets the starting row of the grid area at the baseline viewport size.\n * When set to `auto`, the grid area will automatically start at the first available row.\n */\n @Prop({ reflect: true })\n rowStart: TQ2GridAreaRowStartOptions = 'auto';\n\n /**\n * Sets the vertical alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n smAlign: TQ2GridAreaAlignOptions;\n\n /** Sets the column span amount of the grid area at the SM viewport size.*/\n @Prop({ reflect: true })\n smColumnSpan: TQ2GridAreaColumnSpanOptions;\n\n /**\n * Sets the starting column of the grid area at the SM viewport size.\n * When set to `auto`, the grid area will automatically start at the first available column.\n */\n @Prop({ reflect: true })\n smColumnStart: TQ2GridAreaColumnStartOptions;\n\n /**\n * Sets the horizontal alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n smJustify: TQ2GridAreaJustifyOptions;\n\n /** Sets the row span amount of the grid area at the SM viewport size.*/\n @Prop({ reflect: true })\n smRowSpan: TQ2GridAreaRowSpanOptions;\n\n /**\n * Sets the starting row of the grid area at the SM viewport size.\n * When set to `auto`, the grid area will automatically start at the first available row.\n */\n @Prop({ reflect: true })\n smRowStart: TQ2GridAreaRowStartOptions;\n\n /** Sets the z-index of the grid area at the SM viewport size.*/\n @Prop({ reflect: true })\n smZIndex: TQ2GridAreaZIndexOptions;\n\n /**\n * Sets the vertical alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n xlAlign: TQ2GridAreaAlignOptions;\n\n /** Sets the column span amount of the grid area at the XL viewport size.*/\n @Prop({ reflect: true })\n xlColumnSpan: TQ2GridAreaColumnSpanOptions;\n\n /**\n * Sets the starting column of the grid area at the XL viewport size.\n * When set to `auto`, the grid area will automatically start at the first available column.\n */\n @Prop({ reflect: true })\n xlColumnStart: TQ2GridAreaColumnStartOptions;\n\n /**\n * Sets the horizontal alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n xlJustify: TQ2GridAreaJustifyOptions;\n\n /** Sets the row span amount of the grid area at the XL viewport size.*/\n @Prop({ reflect: true })\n xlRowSpan: TQ2GridAreaRowSpanOptions;\n\n /**\n * Sets the starting row of the grid area at the XL viewport size.\n * When set to `auto`, the grid area will automatically start at the first available row.\n */\n @Prop({ reflect: true })\n xlRowStart: TQ2GridAreaRowStartOptions;\n\n /** Sets the z-index of the grid area at the XL viewport size.*/\n @Prop({ reflect: true })\n xlZIndex: TQ2GridAreaZIndexOptions;\n\n /**\n * Sets the vertical alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n xsAlign: TQ2GridAreaAlignOptions;\n\n /** Sets the column span amount of the grid area at the XS viewport size.*/\n @Prop({ reflect: true })\n xsColumnSpan: TQ2GridAreaColumnSpanOptions;\n\n /**\n * Sets the starting column of the grid area at the XS viewport size.\n * When set to `auto`, the grid area will automatically start at the first available column.\n */\n @Prop({ reflect: true })\n xsColumnStart: TQ2GridAreaColumnStartOptions;\n\n /**\n * Sets the horizontal alignment behavior of the q2-grid-area component within its grid track at the baseline viewport size.\n * When set to `auto`, the grid area will inherit this property from the parent q2-grid component.\n */\n @Prop({ reflect: true })\n xsJustify: TQ2GridAreaJustifyOptions;\n\n /** Sets the row span amount of the grid area at the XS viewport size.*/\n @Prop({ reflect: true })\n xsRowSpan: TQ2GridAreaRowSpanOptions;\n\n /**\n * Sets the starting row of the grid area at the XS viewport size.\n * When set to `auto`, the grid area will automatically start at the first available row.\n */\n @Prop({ reflect: true })\n xsRowStart: TQ2GridAreaRowStartOptions;\n\n /** Sets the z-index of the grid area at the XS viewport size.*/\n @Prop({ reflect: true })\n xsZIndex: TQ2GridAreaZIndexOptions;\n\n /** Sets the z-index of the grid area at the baseline viewport size.*/\n @Prop({ reflect: true })\n zIndex: TQ2GridAreaZIndexOptions = 0;\n\n // #endregion\n // #region Local Methods\n\n get computedLgZIndex() {\n return this.lgZIndex || this.lgZIndex === 0 ? this.lgZIndex : this.computedMdZIndex;\n }\n\n get computedMdZIndex() {\n return this.mdZIndex || this.mdZIndex === 0 ? this.mdZIndex : this.computedSmZIndex;\n }\n\n get computedSmZIndex() {\n return this.smZIndex || this.smZIndex === 0 ? this.smZIndex : this.computedXsZIndex;\n }\n\n get computedXlZIndex() {\n return this.xlZIndex || this.xlZIndex === 0 ? this.xlZIndex : this.computedLgZIndex;\n }\n\n get computedXsZIndex() {\n return this.xsZIndex || this.xsZIndex === 0 ? this.xsZIndex : this.zIndex;\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const q2GridAreaStyles: { [key: string]: string } = {\n // base:\n '--grid-column-start': `${this.columnStart}`,\n '--grid-column-end': `span ${this.columnSpan}`,\n '--grid-row-start': `${this.rowStart}`,\n '--grid-row-end': `span ${this.rowSpan}`,\n '--justify-self': this.justify,\n '--align-self': this.align,\n '--z-index': `${this.zIndex}`,\n // xs:\n '--xs-grid-column-start': `${this.xsColumnStart || this.columnStart}`,\n '--xs-grid-column-end': `span ${this.xsColumnSpan || this.columnSpan}`,\n '--xs-grid-row-start': `${this.xsRowStart || this.rowStart}`,\n '--xs-grid-row-end': `span ${this.xsRowSpan || this.rowSpan}`,\n '--xs-justify-self': this.xsJustify || this.justify,\n '--xs-align-self': this.xsAlign || this.align,\n '--xs-z-index': `${this.computedXsZIndex}`,\n // sm:\n '--sm-grid-column-start': `${this.smColumnStart || this.xsColumnStart || this.columnStart}`,\n '--sm-grid-column-end': `span ${this.smColumnSpan || this.xsColumnSpan || this.columnSpan}`,\n '--sm-grid-row-start': `${this.smRowStart || this.xsRowStart || this.rowStart}`,\n '--sm-grid-row-end': `span ${this.smRowSpan || this.xsRowSpan || this.rowSpan}`,\n '--sm-justify-self': this.smJustify || this.xsJustify || this.justify,\n '--sm-align-self': this.smAlign || this.xsAlign || this.align,\n '--sm-z-index': `${this.computedSmZIndex}`,\n // md:\n '--md-grid-column-start': `${this.mdColumnStart || this.smColumnStart || this.xsColumnStart || this.columnStart}`,\n '--md-grid-column-end': `span ${this.mdColumnSpan || this.smColumnSpan || this.xsColumnSpan || this.columnSpan}`,\n '--md-grid-row-start': `${this.mdRowStart || this.smRowStart || this.xsRowStart || this.rowStart}`,\n '--md-grid-row-end': `span ${this.mdRowSpan || this.smRowSpan || this.xsRowSpan || this.rowSpan}`,\n '--md-justify-self': this.mdJustify || this.smJustify || this.xsJustify || this.justify,\n '--md-align-self': this.mdAlign || this.smAlign || this.xsAlign || this.align,\n '--md-z-index': `${this.computedMdZIndex}`,\n // lg:\n '--lg-grid-column-start': `${this.lgColumnStart || this.mdColumnStart || this.smColumnStart || this.xsColumnStart || this.columnStart}`,\n '--lg-grid-column-end': `span ${this.lgColumnSpan || this.mdColumnSpan || this.smColumnSpan || this.xsColumnSpan || this.columnSpan}`,\n '--lg-grid-row-start': `${this.lgRowStart || this.mdRowStart || this.smRowStart || this.xsRowStart || this.rowStart}`,\n '--lg-grid-row-end': `span ${this.lgRowSpan || this.mdRowSpan || this.smRowSpan || this.xsRowSpan || this.rowSpan}`,\n '--lg-justify-self': this.lgJustify || this.mdJustify || this.smJustify || this.xsJustify || this.justify,\n '--lg-align-self': this.lgAlign || this.mdAlign || this.smAlign || this.xsAlign || this.align,\n '--lg-z-index': `${this.computedLgZIndex}`,\n // xl:\n '--xl-grid-column-start': `${this.xlColumnStart || this.lgColumnStart || this.mdColumnStart || this.smColumnStart || this.xsColumnStart || this.columnStart}`,\n '--xl-grid-column-end': `span ${this.xlColumnSpan || this.lgColumnSpan || this.mdColumnSpan || this.smColumnSpan || this.xsColumnSpan || this.columnSpan}`,\n '--xl-grid-row-start': `${this.xlRowStart || this.lgRowStart || this.mdRowStart || this.smRowStart || this.xsRowStart || this.rowStart}`,\n '--xl-grid-row-end': `span ${this.xlRowSpan || this.lgRowSpan || this.mdRowSpan || this.smRowSpan || this.xsRowSpan || this.rowSpan}`,\n '--xl-justify-self':\n this.xlJustify || this.lgJustify || this.mdJustify || this.smJustify || this.xsJustify || this.justify,\n '--xl-align-self':\n this.xlAlign || this.lgAlign || this.mdAlign || this.smAlign || this.xsAlign || this.align,\n '--xl-z-index': `${this.computedXlZIndex}`,\n };\n\n return (\n <Host style={q2GridAreaStyles}>\n <slot />\n </Host>\n );\n }\n\n // #endregion\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface Q2Grid extends Components.Q2Grid, HTMLElement {}
4
+ export const Q2Grid: {
5
+ prototype: Q2Grid;
6
+ new (): Q2Grid;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;