@ethlete/cdk 3.3.1 → 3.5.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 (211) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/esm2022/lib/components/accordion/components/accordion/accordion.component.mjs +3 -3
  3. package/esm2022/lib/components/accordion/components/accordion-group/accordion-group.component.mjs +3 -3
  4. package/esm2022/lib/components/accordion/partials/accordion-hint/accordion-hint.directive.mjs +3 -3
  5. package/esm2022/lib/components/accordion/partials/accordion-hint-wrapper/accordion-hint-wrapper.directive.mjs +3 -3
  6. package/esm2022/lib/components/accordion/partials/accordion-label/accordion-label.directive.mjs +3 -3
  7. package/esm2022/lib/components/accordion/partials/accordion-label-wrapper/accordion-label-wrapper.directive.mjs +3 -3
  8. package/esm2022/lib/components/bracket/components/bracket/bracket.component.mjs +3 -3
  9. package/esm2022/lib/components/bracket/directives/bracket-match/bracket-match.directive.mjs +3 -3
  10. package/esm2022/lib/components/bracket/directives/bracket-round/bracket-round.directive.mjs +3 -3
  11. package/esm2022/lib/components/bracket/partials/bracket-match/bracket-match.component.mjs +3 -3
  12. package/esm2022/lib/components/bracket/partials/bracket-round-header/bracket-round-header.component.mjs +3 -3
  13. package/esm2022/lib/components/button/components/button/button.component.mjs +3 -3
  14. package/esm2022/lib/components/button/components/query-button/query-button.component.mjs +6 -6
  15. package/esm2022/lib/components/button/directives/button/button.directive.mjs +3 -3
  16. package/esm2022/lib/components/button/directives/query-button/query-button.directive.mjs +39 -9
  17. package/esm2022/lib/components/forms/components/checkbox/components/checkbox/checkbox.component.mjs +3 -3
  18. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-field/checkbox-field.component.mjs +3 -3
  19. package/esm2022/lib/components/forms/components/checkbox/components/checkbox-group/checkbox-group.component.mjs +3 -3
  20. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox/checkbox.directive.mjs +3 -3
  21. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-field/checkbox-field.directive.mjs +3 -3
  22. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group/checkbox-group.directive.mjs +3 -3
  23. package/esm2022/lib/components/forms/components/checkbox/directives/checkbox-group-control/checkbox-group-control.directive.mjs +3 -3
  24. package/esm2022/lib/components/forms/components/error/components/error/error.component.mjs +3 -3
  25. package/esm2022/lib/components/forms/components/input/components/date-input/date-input.component.mjs +3 -3
  26. package/esm2022/lib/components/forms/components/input/components/email-input/email-input.component.mjs +3 -3
  27. package/esm2022/lib/components/forms/components/input/components/input-field/input-field.component.mjs +3 -3
  28. package/esm2022/lib/components/forms/components/input/components/number-input/number-input.component.mjs +3 -3
  29. package/esm2022/lib/components/forms/components/input/components/password-input/password-input.component.mjs +3 -3
  30. package/esm2022/lib/components/forms/components/input/components/search-input/search-input.component.mjs +3 -3
  31. package/esm2022/lib/components/forms/components/input/components/text-input/text-input.component.mjs +3 -3
  32. package/esm2022/lib/components/forms/components/input/components/textarea-input/textarea-input.component.mjs +3 -3
  33. package/esm2022/lib/components/forms/components/input/directives/autosize-textarea/autosize-textarea.directive.mjs +3 -3
  34. package/esm2022/lib/components/forms/components/input/directives/date-input/date-input.directive.mjs +3 -3
  35. package/esm2022/lib/components/forms/components/input/directives/email-input/email-input.directive.mjs +3 -3
  36. package/esm2022/lib/components/forms/components/input/directives/number-input/number-input.directive.mjs +3 -3
  37. package/esm2022/lib/components/forms/components/input/directives/password-input/password-input.directive.mjs +3 -3
  38. package/esm2022/lib/components/forms/components/input/directives/search-input/search-input.directive.mjs +3 -3
  39. package/esm2022/lib/components/forms/components/input/directives/text-input/text-input.directive.mjs +3 -3
  40. package/esm2022/lib/components/forms/components/input/directives/textarea-input/textarea-input.directive.mjs +3 -3
  41. package/esm2022/lib/components/forms/components/input/partials/password-input-toggle/password-input-toggle.component.mjs +3 -3
  42. package/esm2022/lib/components/forms/components/input/partials/search-input-clear/search-input-clear.component.mjs +3 -3
  43. package/esm2022/lib/components/forms/components/label/components/label/label.component.mjs +3 -3
  44. package/esm2022/lib/components/forms/components/label/directives/label-suffix/label-suffix.directive.mjs +3 -3
  45. package/esm2022/lib/components/forms/components/radio/components/radio/radio.component.mjs +3 -3
  46. package/esm2022/lib/components/forms/components/radio/components/radio-field/radio-field.component.mjs +3 -3
  47. package/esm2022/lib/components/forms/components/radio/components/radio-group/radio-group.component.mjs +3 -3
  48. package/esm2022/lib/components/forms/components/radio/directives/radio/radio.directive.mjs +3 -3
  49. package/esm2022/lib/components/forms/components/radio/directives/radio-field/radio-field.directive.mjs +3 -3
  50. package/esm2022/lib/components/forms/components/radio/directives/radio-group/radio-group.directive.mjs +3 -3
  51. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button/segmented-button.component.mjs +3 -3
  52. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-field/segmented-button-field.component.mjs +3 -3
  53. package/esm2022/lib/components/forms/components/segmented-button/components/segmented-button-group/segmented-button-group.component.mjs +3 -3
  54. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.mjs +4 -4
  55. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.mjs +4 -4
  56. package/esm2022/lib/components/forms/components/segmented-button/directives/segmented-button-group/segmented-button-group.directive.mjs +4 -4
  57. package/esm2022/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.mjs +47 -473
  58. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.mjs +481 -10
  59. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-option-template/combobox-option-template.directive.mjs +3 -3
  60. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-option-template/index.mjs +2 -0
  61. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-selected-option-template/combobox-selected-option-template.directive.mjs +3 -3
  62. package/esm2022/lib/components/forms/components/select/components/combobox/directives/combobox-selected-option-template/index.mjs +2 -0
  63. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.mjs +8 -7
  64. package/esm2022/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.mjs +9 -9
  65. package/esm2022/lib/components/forms/components/select/components/combobox/private/combobox.private.errors.mjs +22 -0
  66. package/esm2022/lib/components/forms/components/select/components/combobox/private/combobox.private.types.mjs +5 -0
  67. package/esm2022/lib/components/forms/components/select/components/combobox/private/index.mjs +3 -0
  68. package/esm2022/lib/components/forms/components/select/components/native-select/components/native-select/native-select.component.mjs +3 -3
  69. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-input/native-select-input.directive.mjs +3 -3
  70. package/esm2022/lib/components/forms/components/select/components/native-select/directives/native-select-option/native-select-option.directive.mjs +3 -3
  71. package/esm2022/lib/components/forms/components/select/components/native-select/partials/native-select-option/native-select-option.component.mjs +3 -3
  72. package/esm2022/lib/components/forms/components/select/components/select/components/select/select.component.mjs +3 -3
  73. package/esm2022/lib/components/forms/components/select/components/select/directives/select/select.directive.mjs +3 -3
  74. package/esm2022/lib/components/forms/components/select/components/select/directives/select-body/select-body.directive.mjs +3 -3
  75. package/esm2022/lib/components/forms/components/select/components/select/directives/select-option/select-option.directive.mjs +3 -3
  76. package/esm2022/lib/components/forms/components/select/components/select/partials/select-body/select-body.component.mjs +3 -3
  77. package/esm2022/lib/components/forms/components/select/components/select/partials/select-option/select-option.component.mjs +3 -3
  78. package/esm2022/lib/components/forms/components/select/components/select-field/select-field.component.mjs +3 -3
  79. package/esm2022/lib/components/forms/components/select/directives/select-field/select-field.directive.mjs +3 -3
  80. package/esm2022/lib/components/forms/components/selection-list/components/selection-list-field/selection-list-field.component.mjs +3 -3
  81. package/esm2022/lib/components/forms/components/selection-list/components/selection-list-option/selection-list-option.component.mjs +3 -3
  82. package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-field/selection-list-field.directive.mjs +4 -4
  83. package/esm2022/lib/components/forms/components/selection-list/directives/selection-list-option/selection-list-option.directive.mjs +4 -5
  84. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle/slide-toggle.component.mjs +3 -3
  85. package/esm2022/lib/components/forms/components/slide-toggle/components/slide-toggle-field/slide-toggle-field.component.mjs +3 -3
  86. package/esm2022/lib/components/forms/components/slide-toggle/directives/slide-toggle/slide-toggle.directive.mjs +3 -3
  87. package/esm2022/lib/components/forms/components/slider/components/slider/slider.component.mjs +3 -3
  88. package/esm2022/lib/components/forms/components/slider/components/slider-field/slider-field.component.mjs +3 -3
  89. package/esm2022/lib/components/forms/directives/dynamic-form-field/dynamic-form-field.directive.mjs +3 -3
  90. package/esm2022/lib/components/forms/directives/dynamic-form-group/dynamic-form-group.directive.mjs +3 -3
  91. package/esm2022/lib/components/forms/directives/if-input-empty/if-input-empty.directive.mjs +3 -3
  92. package/esm2022/lib/components/forms/directives/if-input-filled/if-input-filled.directive.mjs +3 -3
  93. package/esm2022/lib/components/forms/directives/input/input.directive.mjs +3 -3
  94. package/esm2022/lib/components/forms/directives/input-prefix/input-prefix.directive.mjs +3 -3
  95. package/esm2022/lib/components/forms/directives/input-suffix/input-suffix.directive.mjs +3 -3
  96. package/esm2022/lib/components/forms/directives/native-input-ref/native-input-ref.directive.mjs +3 -3
  97. package/esm2022/lib/components/forms/directives/static-form-field/static-form-field.directive.mjs +3 -3
  98. package/esm2022/lib/components/forms/directives/static-form-group/static-form-group.directive.mjs +3 -3
  99. package/esm2022/lib/components/forms/directives/writeable-input/writeable-input.directive.mjs +3 -3
  100. package/esm2022/lib/components/forms/services/default-validator-errors.service.mjs +3 -3
  101. package/esm2022/lib/components/forms/services/form-field-state.service.mjs +3 -3
  102. package/esm2022/lib/components/forms/services/form-group-state.service.mjs +3 -3
  103. package/esm2022/lib/components/forms/services/input-state.service.mjs +3 -3
  104. package/esm2022/lib/components/forms/utils/decorated-form-field.base.mjs +3 -3
  105. package/esm2022/lib/components/forms/utils/decorated-input.base.mjs +3 -3
  106. package/esm2022/lib/components/forms/utils/input.base.mjs +3 -3
  107. package/esm2022/lib/components/icons/chevron-icon/chevron-icon.component.mjs +3 -3
  108. package/esm2022/lib/components/masonry/components/masonry/masonry.component.mjs +3 -3
  109. package/esm2022/lib/components/masonry/partials/masonry-item/masonry-item.component.mjs +3 -3
  110. package/esm2022/lib/components/overlay/components/bottom-sheet/components/bottom-sheet-container/bottom-sheet-container.component.mjs +3 -3
  111. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-container-base/bottom-sheet-container-base.component.mjs +3 -3
  112. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-drag-handle/bottom-sheet-drag-handle.component.mjs +3 -3
  113. package/esm2022/lib/components/overlay/components/bottom-sheet/partials/bottom-sheet-title/bottom-sheet-title.directive.mjs +5 -15
  114. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-base.service.mjs +3 -3
  115. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet-swipe-handler.service.mjs +3 -3
  116. package/esm2022/lib/components/overlay/components/bottom-sheet/services/bottom-sheet.service.mjs +3 -3
  117. package/esm2022/lib/components/overlay/components/dialog/components/dialog-container/dialog-container.component.mjs +3 -3
  118. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-close/dialog-close.directive.mjs +3 -3
  119. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-container-base/dialog-container-base.component.mjs +3 -3
  120. package/esm2022/lib/components/overlay/components/dialog/partials/dialog-title/dialog-title.directive.mjs +5 -15
  121. package/esm2022/lib/components/overlay/components/dialog/services/dialog-base.service.mjs +3 -3
  122. package/esm2022/lib/components/overlay/components/dialog/services/dialog.service.mjs +3 -3
  123. package/esm2022/lib/components/overlay/components/menu/context-menu-trigger.mjs +6 -6
  124. package/esm2022/lib/components/overlay/components/menu/menu-aim.mjs +6 -6
  125. package/esm2022/lib/components/overlay/components/menu/menu-bar.mjs +3 -3
  126. package/esm2022/lib/components/overlay/components/menu/menu-base.mjs +3 -3
  127. package/esm2022/lib/components/overlay/components/menu/menu-group.mjs +3 -3
  128. package/esm2022/lib/components/overlay/components/menu/menu-item-checkbox.mjs +3 -3
  129. package/esm2022/lib/components/overlay/components/menu/menu-item-radio.mjs +3 -3
  130. package/esm2022/lib/components/overlay/components/menu/menu-item-selectable.mjs +3 -3
  131. package/esm2022/lib/components/overlay/components/menu/menu-item.mjs +3 -3
  132. package/esm2022/lib/components/overlay/components/menu/menu-module.mjs +4 -4
  133. package/esm2022/lib/components/overlay/components/menu/menu-stack.mjs +3 -3
  134. package/esm2022/lib/components/overlay/components/menu/menu-trigger-base.mjs +3 -3
  135. package/esm2022/lib/components/overlay/components/menu/menu-trigger.mjs +3 -3
  136. package/esm2022/lib/components/overlay/components/menu/menu.mjs +3 -3
  137. package/esm2022/lib/components/overlay/components/toggletip/components/toggletip/toggletip.component.mjs +3 -3
  138. package/esm2022/lib/components/overlay/components/toggletip/directives/toggletip/toggletip.directive.mjs +3 -3
  139. package/esm2022/lib/components/overlay/components/tooltip/components/tooltip/tooltip.component.mjs +3 -3
  140. package/esm2022/lib/components/overlay/components/tooltip/directives/tooltip/tooltip.directive.mjs +3 -3
  141. package/esm2022/lib/components/overlay/directives/dynamic-overlay-title/dynamic-overlay-title.directive.mjs +5 -15
  142. package/esm2022/lib/components/overlay/services/dynamic-overlay.service.mjs +3 -3
  143. package/esm2022/lib/components/pagination/components/pagination/pagination.component.mjs +3 -3
  144. package/esm2022/lib/components/pagination/partials/pagination-link/pagination-link.directive.mjs +3 -3
  145. package/esm2022/lib/components/pagination/services/pagination-head.service.mjs +3 -3
  146. package/esm2022/lib/components/picture/picture-data.directive.mjs +3 -3
  147. package/esm2022/lib/components/picture/picture.component.mjs +3 -3
  148. package/esm2022/lib/components/progress-spinner/progress-spinner.component.mjs +3 -3
  149. package/esm2022/lib/components/query-error/components/query-error/query-error.component.mjs +3 -3
  150. package/esm2022/lib/components/query-error/directives/query-error/query-error.directive.mjs +3 -3
  151. package/esm2022/lib/components/scrollable/components/scrollable/scrollable.component.mjs +3 -3
  152. package/esm2022/lib/components/skeleton/components/skeleton/skeleton.component.mjs +3 -3
  153. package/esm2022/lib/components/skeleton/partials/skeleton-item/skeleton-item.component.mjs +3 -3
  154. package/esm2022/lib/components/sort/components/sort-header/sort-header.component.mjs +3 -3
  155. package/esm2022/lib/components/sort/partials/sort/sort.directive.mjs +3 -3
  156. package/esm2022/lib/components/sort/services/sort-header-intl.mjs +3 -3
  157. package/esm2022/lib/components/table/components/table/table.component.mjs +3 -3
  158. package/esm2022/lib/components/table/partials/cells/cell/cell.directive.mjs +3 -3
  159. package/esm2022/lib/components/table/partials/cells/cell-def/cell-def.directive.mjs +3 -3
  160. package/esm2022/lib/components/table/partials/cells/column-def/column-def.directive.mjs +3 -3
  161. package/esm2022/lib/components/table/partials/cells/footer-cell/footer-cell.directive.mjs +3 -3
  162. package/esm2022/lib/components/table/partials/cells/footer-cell-def/footer-cell-def.directive.mjs +3 -3
  163. package/esm2022/lib/components/table/partials/cells/header-cell/header-cell.directive.mjs +3 -3
  164. package/esm2022/lib/components/table/partials/cells/header-cell-def/header-cell-def.directive.mjs +3 -3
  165. package/esm2022/lib/components/table/partials/cells/text-column/text-column.component.mjs +3 -3
  166. package/esm2022/lib/components/table/partials/rows/footer-row/footer-row.component.mjs +3 -3
  167. package/esm2022/lib/components/table/partials/rows/footer-row-def/footer-row-def.directive.mjs +3 -3
  168. package/esm2022/lib/components/table/partials/rows/header-row/header-row.component.mjs +3 -3
  169. package/esm2022/lib/components/table/partials/rows/header-row-def/header-row-def.directive.mjs +3 -3
  170. package/esm2022/lib/components/table/partials/rows/no-data-row/no-data-row.directive.mjs +3 -3
  171. package/esm2022/lib/components/table/partials/rows/recycle-rows/recycle-rows.directive.mjs +3 -3
  172. package/esm2022/lib/components/table/partials/rows/row/row.component.mjs +3 -3
  173. package/esm2022/lib/components/table/partials/rows/row-def/row-def.directive.mjs +3 -3
  174. package/esm2022/lib/components/table/partials/table-busy/table-busy.directive.mjs +3 -3
  175. package/esm2022/lib/components/table/partials/table-busy-outlet/table-busy-outlet.directive.mjs +3 -3
  176. package/esm2022/lib/components/tabs/components/inline-tabs/inline-tabs.component.mjs +3 -3
  177. package/esm2022/lib/components/tabs/components/nav-tabs/nav-tabs.component.mjs +3 -3
  178. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab/inline-tab.component.mjs +3 -3
  179. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body/inline-tab-body.component.mjs +3 -3
  180. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-body-host/inline-tab-body-host.directive.mjs +3 -3
  181. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-content/inline-tab-content.directive.mjs +3 -3
  182. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-header/inline-tab-header.component.mjs +3 -3
  183. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label/inline-tab-label.directive.mjs +3 -3
  184. package/esm2022/lib/components/tabs/partials/inline-tabs/inline-tab-label-wrapper/inline-tab-label-wrapper.directive.mjs +3 -3
  185. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tab-link/nav-tab-link.directive.mjs +3 -3
  186. package/esm2022/lib/components/tabs/partials/nav-tabs/nav-tabs-outlet/nav-tabs-outlet.component.mjs +3 -3
  187. package/esm2022/lib/components/tabs/utils/active-tab-underline.util.mjs +3 -3
  188. package/esm2022/lib/components/tabs/utils/paginated-tab-header.directive.mjs +3 -3
  189. package/esm2022/lib/services/swipe-handler.service.mjs +3 -3
  190. package/esm2022/lib/types/public-api.mjs +1 -2
  191. package/fesm2022/ethlete-cdk.mjs +872 -806
  192. package/fesm2022/ethlete-cdk.mjs.map +1 -1
  193. package/lib/components/button/components/query-button/query-button.component.d.ts +1 -1
  194. package/lib/components/button/directives/query-button/query-button.directive.d.ts +13 -1
  195. package/lib/components/forms/components/segmented-button/directives/segmented-button/segmented-button.directive.d.ts +1 -1
  196. package/lib/components/forms/components/segmented-button/directives/segmented-button-field/segmented-button-field.directive.d.ts +1 -1
  197. package/lib/components/forms/components/select/components/combobox/components/combobox/combobox.component.d.ts +7 -71
  198. package/lib/components/forms/components/select/components/combobox/directives/combobox/combobox.directive.d.ts +84 -4
  199. package/lib/components/forms/components/select/components/combobox/directives/combobox-option-template/index.d.ts +1 -0
  200. package/lib/components/forms/components/select/components/combobox/directives/combobox-selected-option-template/index.d.ts +1 -0
  201. package/lib/components/forms/components/select/components/combobox/partials/combobox-body/combobox-body.component.d.ts +3 -2
  202. package/lib/components/forms/components/select/components/combobox/partials/combobox-option/combobox-option.component.d.ts +1 -1
  203. package/lib/components/forms/components/select/components/combobox/private/combobox.private.errors.d.ts +11 -0
  204. package/lib/components/forms/components/select/components/combobox/private/combobox.private.types.d.ts +26 -0
  205. package/lib/components/forms/components/select/components/combobox/private/index.d.ts +2 -0
  206. package/lib/components/forms/components/selection-list/directives/selection-list-field/selection-list-field.directive.d.ts +1 -2
  207. package/lib/components/forms/components/selection-list/directives/selection-list-option/selection-list-option.directive.d.ts +1 -1
  208. package/lib/types/public-api.d.ts +0 -1
  209. package/package.json +4 -4
  210. package/esm2022/lib/types/value.types.mjs +0 -2
  211. package/lib/types/value.types.d.ts +0 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @ethlete/cdk
2
2
 
3
+ ## 3.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`d95bc450`](https://github.com/ethlete-io/ethdk/commit/d95bc450f6544b4296f4a6ba9c1d892f7e3d889d) Thanks [@TomTomB](https://github.com/TomTomB)! - Add component inputs for option and selected option inside combobox that can be used instead of bindLabel or ng-template
8
+
9
+ - [`d95bc450`](https://github.com/ethlete-io/ethdk/commit/d95bc450f6544b4296f4a6ba9c1d892f7e3d889d) Thanks [@TomTomB](https://github.com/TomTomB)! - Allow using functions instead of property paths for combobox bindings
10
+
11
+ ### Patch Changes
12
+
13
+ - [`a5f3f7b6`](https://github.com/ethlete-io/ethdk/commit/a5f3f7b64ab5d2689c4673f443ddcfd362937148) Thanks [@TomTomB](https://github.com/TomTomB)! - Move some combobox logic into core
14
+
15
+ ## 3.4.0
16
+
17
+ ### Minor Changes
18
+
19
+ - [`f38090b3`](https://github.com/ethlete-io/ethdk/commit/f38090b3da0254fedf2bc5cefd3a04d9c040bbe6) Thanks [@TomTomB](https://github.com/TomTomB)! - Add options for skipping query button states
20
+
21
+ ### Patch Changes
22
+
23
+ - [`ce285644`](https://github.com/ethlete-io/ethdk/commit/ce285644202e92b4389a3d0d9166c5f822e7bcbb) Thanks [@TomTomB](https://github.com/TomTomB)! - Cleanup only release
24
+
3
25
  ## 3.3.1
4
26
 
5
27
  ### Patch Changes
@@ -40,10 +40,10 @@ export class AccordionComponent {
40
40
  close() {
41
41
  this._isOpen$.next(false);
42
42
  }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AccordionComponent, isStandalone: true, selector: "et-accordion", inputs: { isOpenByDefault: ["isOpenByDefault", "isOpenByDefault", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], label: "label" }, host: { classAttribute: "et-accordion" }, providers: [{ provide: ACCORDION_COMPONENT, useExisting: AccordionComponent }], queries: [{ propertyName: "templateLabel", first: true, predicate: ACCORDION_LABEL_WRAPPER_DIRECTIVE, descendants: true }, { propertyName: "templateHint", first: true, predicate: ACCORDION_HINT_WRAPPER_DIRECTIVE, descendants: true }], ngImport: i0, template: "<div *etLet=\"_isOpen$ | async as isOpen\" class=\"et-accordion-container\">\n <h3 class=\"et-accordion-header-wrapper\">\n <button\n [disabled]=\"disabled\"\n [id]=\"headerId\"\n [attr.aria-controls]=\"bodyId\"\n [attr.aria-expanded]=\"isOpen\"\n [class.et-accordion-has-hint]=\"!!templateHint\"\n (click)=\"toggleAccordionOpen()\"\n class=\"et-accordion-header\"\n type=\"button\"\n >\n <div>\n <ng-template [ngIf]=\"templateLabel\" [ngIfElse]=\"textLabelTpl\">\n <ng-template [cdkPortalOutlet]=\"templateLabel\" />\n </ng-template>\n\n <ng-template #textLabelTpl\n ><span et-accordion-label>{{ label }} </span>\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"templateHint\">\n <ng-template [cdkPortalOutlet]=\"templateHint\" />\n </ng-container>\n\n <et-chevron-icon />\n </button>\n </h3>\n <div\n [@animateOpenClose]=\"(_isOpen$ | async) ? 'open' : 'close'\"\n [attr.aria-labelledby]=\"headerId\"\n [id]=\"bodyId\"\n class=\"et-accordion-body\"\n role=\"region\"\n >\n <div class=\"et-accordion-body-container\">\n <ng-content />\n </div>\n </div>\n <hr class=\"et-accordion-separator\" />\n</div>\n", styles: [":where(.et-accordion){--chevron-size: 15px}.et-accordion .et-accordion-container{position:relative;z-index:1}.et-accordion .et-chevron-icon{display:block;transform:rotate(180deg);transition:transform .3s var(--ease-5);inline-size:var(--chevron-size);block-size:var(--chevron-size)}.et-accordion [aria-expanded=true] .et-chevron-icon{transform:rotate(0)}.et-accordion .et-accordion-header{display:grid;grid-template-columns:1fr auto;inline-size:100%;block-size:100%;text-align:left;background-color:transparent;border:none;align-items:center;padding:0;gap:15px}.et-accordion .et-accordion-header:not(:disabled){cursor:pointer}.et-accordion .et-accordion-header.et-accordion-has-hint{grid-template-columns:1fr auto auto}.et-accordion .et-accordion-header-wrapper{margin:0}.et-accordion .et-accordion-body{overflow:hidden}.et-accordion .et-accordion-separator{position:relative;z-index:-1}\n"], dependencies: [{ kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: AccordionLabelDirective, selector: "[et-accordion-label]" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }], animations: [accordionAnimations.animateOpenClose], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: AccordionComponent, isStandalone: true, selector: "et-accordion", inputs: { isOpenByDefault: ["isOpenByDefault", "isOpenByDefault", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], label: "label" }, host: { classAttribute: "et-accordion" }, providers: [{ provide: ACCORDION_COMPONENT, useExisting: AccordionComponent }], queries: [{ propertyName: "templateLabel", first: true, predicate: ACCORDION_LABEL_WRAPPER_DIRECTIVE, descendants: true }, { propertyName: "templateHint", first: true, predicate: ACCORDION_HINT_WRAPPER_DIRECTIVE, descendants: true }], ngImport: i0, template: "<div *etLet=\"_isOpen$ | async as isOpen\" class=\"et-accordion-container\">\n <h3 class=\"et-accordion-header-wrapper\">\n <button\n [disabled]=\"disabled\"\n [id]=\"headerId\"\n [attr.aria-controls]=\"bodyId\"\n [attr.aria-expanded]=\"isOpen\"\n [class.et-accordion-has-hint]=\"!!templateHint\"\n (click)=\"toggleAccordionOpen()\"\n class=\"et-accordion-header\"\n type=\"button\"\n >\n <div>\n <ng-template [ngIf]=\"templateLabel\" [ngIfElse]=\"textLabelTpl\">\n <ng-template [cdkPortalOutlet]=\"templateLabel\" />\n </ng-template>\n\n <ng-template #textLabelTpl\n ><span et-accordion-label>{{ label }} </span>\n </ng-template>\n </div>\n\n <ng-container *ngIf=\"templateHint\">\n <ng-template [cdkPortalOutlet]=\"templateHint\" />\n </ng-container>\n\n <et-chevron-icon />\n </button>\n </h3>\n <div\n [@animateOpenClose]=\"(_isOpen$ | async) ? 'open' : 'close'\"\n [attr.aria-labelledby]=\"headerId\"\n [id]=\"bodyId\"\n class=\"et-accordion-body\"\n role=\"region\"\n >\n <div class=\"et-accordion-body-container\">\n <ng-content />\n </div>\n </div>\n <hr class=\"et-accordion-separator\" />\n</div>\n", styles: [":where(.et-accordion){--chevron-size: 15px}.et-accordion .et-accordion-container{position:relative;z-index:1}.et-accordion .et-chevron-icon{display:block;transform:rotate(180deg);transition:transform .3s var(--ease-5);inline-size:var(--chevron-size);block-size:var(--chevron-size)}.et-accordion [aria-expanded=true] .et-chevron-icon{transform:rotate(0)}.et-accordion .et-accordion-header{display:grid;grid-template-columns:1fr auto;inline-size:100%;block-size:100%;text-align:left;background-color:transparent;border:none;align-items:center;padding:0;gap:15px}.et-accordion .et-accordion-header:not(:disabled){cursor:pointer}.et-accordion .et-accordion-header.et-accordion-has-hint{grid-template-columns:1fr auto auto}.et-accordion .et-accordion-header-wrapper{margin:0}.et-accordion .et-accordion-body{overflow:hidden}.et-accordion .et-accordion-separator{position:relative;z-index:-1}\n"], dependencies: [{ kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: AccordionLabelDirective, selector: "[et-accordion-label]" }, { kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i1.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ChevronIconComponent, selector: "et-chevron-icon" }], animations: [accordionAnimations.animateOpenClose], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionComponent, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionComponent, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: 'et-accordion', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, providers: [{ provide: ACCORDION_COMPONENT, useExisting: AccordionComponent }], imports: [
49
49
  LetDirective,
@@ -35,10 +35,10 @@ export class AccordionGroupComponent {
35
35
  }), takeUntil(this._destroy$))
36
36
  .subscribe();
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: AccordionGroupComponent, isStandalone: true, selector: "et-accordion-group", inputs: { autoCloseOthers: ["autoCloseOthers", "autoCloseOthers", booleanAttribute] }, host: { classAttribute: "et-accordion-group" }, queries: [{ propertyName: "_accordions", predicate: ACCORDION_COMPONENT }], ngImport: i0, template: "<ng-content select=\"et-accordion\" />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: AccordionGroupComponent, isStandalone: true, selector: "et-accordion-group", inputs: { autoCloseOthers: ["autoCloseOthers", "autoCloseOthers", booleanAttribute] }, host: { classAttribute: "et-accordion-group" }, queries: [{ propertyName: "_accordions", predicate: ACCORDION_COMPONENT }], ngImport: i0, template: "<ng-content select=\"et-accordion\" />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionGroupComponent, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionGroupComponent, decorators: [{
42
42
  type: Component,
43
43
  args: [{ selector: 'et-accordion-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, host: {
44
44
  class: 'et-accordion-group',
@@ -1,10 +1,10 @@
1
1
  import { Directive } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class AccordionHintDirective {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: AccordionHintDirective, isStandalone: true, selector: "[et-accordion-hint]", host: { classAttribute: "et-accordion-hint" }, ngImport: i0 }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: AccordionHintDirective, isStandalone: true, selector: "[et-accordion-hint]", host: { classAttribute: "et-accordion-hint" }, ngImport: i0 }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionHintDirective, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionHintDirective, decorators: [{
8
8
  type: Directive,
9
9
  args: [{
10
10
  selector: '[et-accordion-hint]',
@@ -6,10 +6,10 @@ export class AccordionHintWrapperDirective extends CdkPortal {
6
6
  constructor(templateRef, viewContainerRef) {
7
7
  super(templateRef, viewContainerRef);
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionHintWrapperDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: AccordionHintWrapperDirective, isStandalone: true, selector: "ng-template[et-accordion-hint-wrapper]", providers: [{ provide: ACCORDION_HINT_WRAPPER_DIRECTIVE, useExisting: AccordionHintWrapperDirective }], usesInheritance: true, ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionHintWrapperDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: AccordionHintWrapperDirective, isStandalone: true, selector: "ng-template[et-accordion-hint-wrapper]", providers: [{ provide: ACCORDION_HINT_WRAPPER_DIRECTIVE, useExisting: AccordionHintWrapperDirective }], usesInheritance: true, ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionHintWrapperDirective, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionHintWrapperDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: 'ng-template[et-accordion-hint-wrapper]',
@@ -1,10 +1,10 @@
1
1
  import { Directive } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class AccordionLabelDirective {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: AccordionLabelDirective, isStandalone: true, selector: "[et-accordion-label]", host: { classAttribute: "et-accordion-label" }, ngImport: i0 }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: AccordionLabelDirective, isStandalone: true, selector: "[et-accordion-label]", host: { classAttribute: "et-accordion-label" }, ngImport: i0 }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionLabelDirective, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionLabelDirective, decorators: [{
8
8
  type: Directive,
9
9
  args: [{
10
10
  selector: '[et-accordion-label]',
@@ -6,10 +6,10 @@ export class AccordionLabelWrapperDirective extends CdkPortal {
6
6
  constructor(templateRef, viewContainerRef) {
7
7
  super(templateRef, viewContainerRef);
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionLabelWrapperDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: AccordionLabelWrapperDirective, isStandalone: true, selector: "ng-template[et-accordion-label-wrapper]", providers: [{ provide: ACCORDION_LABEL_WRAPPER_DIRECTIVE, useExisting: AccordionLabelWrapperDirective }], usesInheritance: true, ngImport: i0 }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionLabelWrapperDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: AccordionLabelWrapperDirective, isStandalone: true, selector: "ng-template[et-accordion-label-wrapper]", providers: [{ provide: ACCORDION_LABEL_WRAPPER_DIRECTIVE, useExisting: AccordionLabelWrapperDirective }], usesInheritance: true, ngImport: i0 }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: AccordionLabelWrapperDirective, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: AccordionLabelWrapperDirective, decorators: [{
13
13
  type: Directive,
14
14
  args: [{
15
15
  selector: 'ng-template[et-accordion-label-wrapper]',
@@ -222,8 +222,8 @@ export class BracketComponent {
222
222
  const round = this._getRoundById(roundId, bracket);
223
223
  return round?.matches.find((match) => match.data.id === matchId) ?? null;
224
224
  }
225
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BracketComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
226
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: BracketComponent, isStandalone: true, selector: "et-bracket", inputs: { itemWith: "itemWith", itemHeight: "itemHeight", roundHeaderHeight: "roundHeaderHeight", upperLowerBracketGap: "upperLowerBracketGap", columnGap: "columnGap", rowGap: "rowGap", roundsWithMatches: "roundsWithMatches", componentConfig: "componentConfig" }, host: { properties: { "attr.has-round-headers": "this.hasRoundHeaders" }, classAttribute: "et-bracket" }, providers: [
225
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BracketComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
226
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: BracketComponent, isStandalone: true, selector: "et-bracket", inputs: { itemWith: "itemWith", itemHeight: "itemHeight", roundHeaderHeight: "roundHeaderHeight", upperLowerBracketGap: "upperLowerBracketGap", columnGap: "columnGap", rowGap: "rowGap", roundsWithMatches: "roundsWithMatches", componentConfig: "componentConfig" }, host: { properties: { "attr.has-round-headers": "this.hasRoundHeaders" }, classAttribute: "et-bracket" }, providers: [
227
227
  {
228
228
  provide: BRACKET_TOKEN,
229
229
  useExisting: BracketComponent,
@@ -300,7 +300,7 @@ __decorate([
300
300
  __metadata("design:paramtypes", [Object, Bracket]),
301
301
  __metadata("design:returntype", void 0)
302
302
  ], BracketComponent.prototype, "_getNextMatch", null);
303
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BracketComponent, decorators: [{
303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BracketComponent, decorators: [{
304
304
  type: Component,
305
305
  args: [{ selector: 'et-bracket', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
306
306
  NgClass,
@@ -7,10 +7,10 @@ export class BracketMatchDirective {
7
7
  this.bracket = inject(BRACKET_TOKEN);
8
8
  this.match$ = this.bracket.getBracketMatchById(this.matchId);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BracketMatchDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: BracketMatchDirective, isStandalone: true, ngImport: i0 }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BracketMatchDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: BracketMatchDirective, isStandalone: true, ngImport: i0 }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BracketMatchDirective, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BracketMatchDirective, decorators: [{
14
14
  type: Directive,
15
15
  args: [{
16
16
  standalone: true,
@@ -7,10 +7,10 @@ export class BracketRoundDirective {
7
7
  this.bracket = inject(BRACKET_TOKEN);
8
8
  this.round$ = this.bracket.getBracketRoundById(this.roundId);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BracketRoundDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: BracketRoundDirective, isStandalone: true, ngImport: i0 }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BracketRoundDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: BracketRoundDirective, isStandalone: true, ngImport: i0 }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BracketRoundDirective, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BracketRoundDirective, decorators: [{
14
14
  type: Directive,
15
15
  args: [{
16
16
  standalone: true,
@@ -7,10 +7,10 @@ export class BracketMatchComponent {
7
7
  constructor() {
8
8
  this.matchData = inject(BracketMatchDirective);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BracketMatchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: BracketMatchComponent, isStandalone: true, selector: "et-bracket-match", host: { classAttribute: "et-bracket-match" }, hostDirectives: [{ directive: i1.BracketMatchDirective }], ngImport: i0, template: "<ng-container *ngIf=\"matchData.match$ | async as match\">\n {{ match.data.id }}\n</ng-container>\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BracketMatchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: BracketMatchComponent, isStandalone: true, selector: "et-bracket-match", host: { classAttribute: "et-bracket-match" }, hostDirectives: [{ directive: i1.BracketMatchDirective }], ngImport: i0, template: "<ng-container *ngIf=\"matchData.match$ | async as match\">\n {{ match.data.id }}\n</ng-container>\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BracketMatchComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BracketMatchComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'et-bracket-match', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
16
16
  class: 'et-bracket-match',
@@ -7,10 +7,10 @@ export class BracketRoundHeaderComponent {
7
7
  constructor() {
8
8
  this.roundData = inject(BracketRoundDirective);
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BracketRoundHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: BracketRoundHeaderComponent, isStandalone: true, selector: "et-bracket-round-header", host: { classAttribute: "et-bracket-round-header" }, hostDirectives: [{ directive: i1.BracketRoundDirective }], ngImport: i0, template: "<ng-container *ngIf=\"roundData.round$ | async as round\">\n {{ round.name }}\n</ng-container>\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BracketRoundHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: BracketRoundHeaderComponent, isStandalone: true, selector: "et-bracket-round-header", host: { classAttribute: "et-bracket-round-header" }, hostDirectives: [{ directive: i1.BracketRoundDirective }], ngImport: i0, template: "<ng-container *ngIf=\"roundData.round$ | async as round\">\n {{ round.name }}\n</ng-container>\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: BracketRoundHeaderComponent, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BracketRoundHeaderComponent, decorators: [{
14
14
  type: Component,
15
15
  args: [{ selector: 'et-bracket-round-header', standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
16
16
  class: 'et-bracket-round-header',
@@ -6,10 +6,10 @@ export class ButtonComponent {
6
6
  constructor() {
7
7
  this.button = inject(ButtonDirective);
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: ButtonComponent, isStandalone: true, selector: "[et-button]", host: { classAttribute: "et-button" }, hostDirectives: [{ directive: i1.ButtonDirective, inputs: ["disabled", "disabled", "type", "type", "pressed", "pressed"] }], ngImport: i0, template: "<span class=\"et-button-content\">\n <span class=\"et-button-text\">\n <ng-content></ng-content>\n </span>\n</span>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: ButtonComponent, isStandalone: true, selector: "[et-button]", host: { classAttribute: "et-button" }, hostDirectives: [{ directive: i1.ButtonDirective, inputs: ["disabled", "disabled", "type", "type", "pressed", "pressed"] }], ngImport: i0, template: "<span class=\"et-button-content\">\n <span class=\"et-button-text\">\n <ng-content></ng-content>\n </span>\n</span>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ButtonComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ButtonComponent, decorators: [{
13
13
  type: Component,
14
14
  args: [{ selector: '[et-button]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, hostDirectives: [{ directive: ButtonDirective, inputs: ['disabled', 'type', 'pressed'] }], host: {
15
15
  class: 'et-button',
@@ -10,16 +10,16 @@ export class QueryButtonComponent {
10
10
  constructor() {
11
11
  this.queryButton = inject(QueryButtonDirective);
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: QueryButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: QueryButtonComponent, isStandalone: true, selector: "[et-query-button]", host: { classAttribute: "et-query-button" }, hostDirectives: [{ directive: i1.QueryButtonDirective, inputs: ["query", "query"] }, { directive: i2.ButtonDirective, inputs: ["disabled", "disabled", "type", "type", "pressed", "pressed"] }], ngImport: i0, template: "<ng-container *etLet=\"queryButton.showSuccess$ | async as showSuccess\">\n <ng-container *etLet=\"queryButton.showFailure$ | async as showFailure\">\n <span *etQuery=\"queryButton.query$ | async; loading as loading\" class=\"et-button-content et-query-button-content\">\n <span\n [attr.aria-hidden]=\"loading || showSuccess || showFailure ? 'true' : undefined\"\n class=\"et-button-text et-query-button-text et-query-button-text--default\"\n >\n <ng-content></ng-content>\n </span>\n\n <span *ngIf=\"loading\" class=\"et-query-button-loading\"> </span>\n <span *ngIf=\"loading\" class=\"et-button-text et-query-button-text et-query-button-text--loading\">Loading</span>\n\n <span *ngIf=\"showSuccess\" class=\"et-button-text et-query-button-text et-query-button-text--success\">Success</span>\n <span *ngIf=\"showFailure\" class=\"et-button-text et-query-button-text et-query-button-text--failure\">Failure</span>\n </span>\n </ng-container>\n</ng-container>\n", styles: [".et-query-button .et-button-content{display:grid}.et-query-button .et-query-button-text,.et-query-button .et-query-button-loading{grid-area:1/1/2/2}.et-query-button.et-query-button--loading .et-query-button-text--default,.et-query-button.et-query-button--success .et-query-button-text--default,.et-query-button.et-query-button--failure .et-query-button-text--default{opacity:0;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: QueryDirective, selector: "[etQuery]", inputs: ["etQuery", "etQueryCache"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: QueryButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: QueryButtonComponent, isStandalone: true, selector: "[et-query-button]", host: { classAttribute: "et-query-button" }, hostDirectives: [{ directive: i1.QueryButtonDirective, inputs: ["query", "query", "skipSuccess", "skipSuccess", "skipFailure", "skipFailure", "skipLoading", "skipLoading"] }, { directive: i2.ButtonDirective, inputs: ["disabled", "disabled", "type", "type", "pressed", "pressed"] }], ngImport: i0, template: "<ng-container *etLet=\"queryButton.showSuccess$ | async as showSuccess\">\n <ng-container *etLet=\"queryButton.showFailure$ | async as showFailure\">\n <span *etQuery=\"queryButton.query$ | async; loading as loading\" class=\"et-button-content et-query-button-content\">\n <span\n [attr.aria-hidden]=\"(loading && !queryButton.skipLoading) || showSuccess || showFailure ? 'true' : undefined\"\n class=\"et-button-text et-query-button-text et-query-button-text--default\"\n >\n <ng-content />\n </span>\n\n <span *ngIf=\"loading && !queryButton.skipLoading\" class=\"et-query-button-loading\"> </span>\n <span\n *ngIf=\"loading && !queryButton.skipLoading\"\n class=\"et-button-text et-query-button-text et-query-button-text--loading\"\n >Loading</span\n >\n\n <span *ngIf=\"showSuccess\" class=\"et-button-text et-query-button-text et-query-button-text--success\">Success</span>\n <span *ngIf=\"showFailure\" class=\"et-button-text et-query-button-text et-query-button-text--failure\">Failure</span>\n </span>\n </ng-container>\n</ng-container>\n", styles: [".et-query-button .et-button-content{display:grid}.et-query-button .et-query-button-text,.et-query-button .et-query-button-loading{grid-area:1/1/2/2}.et-query-button.et-query-button--loading .et-query-button-text--default,.et-query-button.et-query-button--success .et-query-button-text--default,.et-query-button.et-query-button--failure .et-query-button-text--default{opacity:0;-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "directive", type: QueryDirective, selector: "[etQuery]", inputs: ["etQuery", "etQueryCache"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: LetDirective, selector: "[etLet]", inputs: ["etLet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: QueryButtonComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: QueryButtonComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ selector: '[et-query-button]', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, hostDirectives: [
19
- { directive: QueryButtonDirective, inputs: ['query'] },
19
+ { directive: QueryButtonDirective, inputs: ['query', 'skipSuccess', 'skipFailure', 'skipLoading'] },
20
20
  { directive: ButtonDirective, inputs: ['disabled', 'type', 'pressed'] },
21
21
  ], imports: [QueryDirective, AsyncPipe, NgIf, LetDirective], host: {
22
22
  class: 'et-query-button',
23
- }, template: "<ng-container *etLet=\"queryButton.showSuccess$ | async as showSuccess\">\n <ng-container *etLet=\"queryButton.showFailure$ | async as showFailure\">\n <span *etQuery=\"queryButton.query$ | async; loading as loading\" class=\"et-button-content et-query-button-content\">\n <span\n [attr.aria-hidden]=\"loading || showSuccess || showFailure ? 'true' : undefined\"\n class=\"et-button-text et-query-button-text et-query-button-text--default\"\n >\n <ng-content></ng-content>\n </span>\n\n <span *ngIf=\"loading\" class=\"et-query-button-loading\"> </span>\n <span *ngIf=\"loading\" class=\"et-button-text et-query-button-text et-query-button-text--loading\">Loading</span>\n\n <span *ngIf=\"showSuccess\" class=\"et-button-text et-query-button-text et-query-button-text--success\">Success</span>\n <span *ngIf=\"showFailure\" class=\"et-button-text et-query-button-text et-query-button-text--failure\">Failure</span>\n </span>\n </ng-container>\n</ng-container>\n", styles: [".et-query-button .et-button-content{display:grid}.et-query-button .et-query-button-text,.et-query-button .et-query-button-loading{grid-area:1/1/2/2}.et-query-button.et-query-button--loading .et-query-button-text--default,.et-query-button.et-query-button--success .et-query-button-text--default,.et-query-button.et-query-button--failure .et-query-button-text--default{opacity:0;-webkit-user-select:none;user-select:none}\n"] }]
23
+ }, template: "<ng-container *etLet=\"queryButton.showSuccess$ | async as showSuccess\">\n <ng-container *etLet=\"queryButton.showFailure$ | async as showFailure\">\n <span *etQuery=\"queryButton.query$ | async; loading as loading\" class=\"et-button-content et-query-button-content\">\n <span\n [attr.aria-hidden]=\"(loading && !queryButton.skipLoading) || showSuccess || showFailure ? 'true' : undefined\"\n class=\"et-button-text et-query-button-text et-query-button-text--default\"\n >\n <ng-content />\n </span>\n\n <span *ngIf=\"loading && !queryButton.skipLoading\" class=\"et-query-button-loading\"> </span>\n <span\n *ngIf=\"loading && !queryButton.skipLoading\"\n class=\"et-button-text et-query-button-text et-query-button-text--loading\"\n >Loading</span\n >\n\n <span *ngIf=\"showSuccess\" class=\"et-button-text et-query-button-text et-query-button-text--success\">Success</span>\n <span *ngIf=\"showFailure\" class=\"et-button-text et-query-button-text et-query-button-text--failure\">Failure</span>\n </span>\n </ng-container>\n</ng-container>\n", styles: [".et-query-button .et-button-content{display:grid}.et-query-button .et-query-button-text,.et-query-button .et-query-button-loading{grid-area:1/1/2/2}.et-query-button.et-query-button--loading .et-query-button-text--default,.et-query-button.et-query-button--success .et-query-button-text--default,.et-query-button.et-query-button--failure .et-query-button-text--default{opacity:0;-webkit-user-select:none;user-select:none}\n"] }]
24
24
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vY29tcG9uZW50cy9xdWVyeS1idXR0b24vcXVlcnktYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vY29tcG9uZW50cy9xdWVyeS1idXR0b24vcXVlcnktYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBa0J6RSxNQUFNLE9BQU8sb0JBQW9CO0lBaEJqQztRQWlCWSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0tBQ3REOzhHQUZZLG9CQUFvQjtrR0FBcEIsb0JBQW9CLDJUQ3RCakMsbWdDQWtCQSwrZEREWSxjQUFjLHNGQUFFLFNBQVMsOENBQUUsSUFBSSw2RkFBRSxZQUFZOzsyRkFLNUMsb0JBQW9CO2tCQWhCaEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FHakIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGtCQUNyQjt3QkFDZCxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRTt3QkFDdEQsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUU7cUJBQ3hFLFdBQ1EsQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsUUFDbEQ7d0JBQ0osS0FBSyxFQUFFLGlCQUFpQjtxQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGV0RGlyZWN0aXZlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBRdWVyeURpcmVjdGl2ZSB9IGZyb20gJ0BldGhsZXRlL3F1ZXJ5JztcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZSwgUXVlcnlCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW2V0LXF1ZXJ5LWJ1dHRvbl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlcnktYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHsgZGlyZWN0aXZlOiBRdWVyeUJ1dHRvbkRpcmVjdGl2ZSwgaW5wdXRzOiBbJ3F1ZXJ5J10gfSxcbiAgICB7IGRpcmVjdGl2ZTogQnV0dG9uRGlyZWN0aXZlLCBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndHlwZScsICdwcmVzc2VkJ10gfSxcbiAgXSxcbiAgaW1wb3J0czogW1F1ZXJ5RGlyZWN0aXZlLCBBc3luY1BpcGUsIE5nSWYsIExldERpcmVjdGl2ZV0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LXF1ZXJ5LWJ1dHRvbicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5QnV0dG9uQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHF1ZXJ5QnV0dG9uID0gaW5qZWN0KFF1ZXJ5QnV0dG9uRGlyZWN0aXZlKTtcbn1cbiIsIjxuZy1jb250YWluZXIgKmV0TGV0PVwicXVlcnlCdXR0b24uc2hvd1N1Y2Nlc3MkIHwgYXN5bmMgYXMgc2hvd1N1Y2Nlc3NcIj5cbiAgPG5nLWNvbnRhaW5lciAqZXRMZXQ9XCJxdWVyeUJ1dHRvbi5zaG93RmFpbHVyZSQgfCBhc3luYyBhcyBzaG93RmFpbHVyZVwiPlxuICAgIDxzcGFuICpldFF1ZXJ5PVwicXVlcnlCdXR0b24ucXVlcnkkIHwgYXN5bmM7IGxvYWRpbmcgYXMgbG9hZGluZ1wiIGNsYXNzPVwiZXQtYnV0dG9uLWNvbnRlbnQgZXQtcXVlcnktYnV0dG9uLWNvbnRlbnRcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cImxvYWRpbmcgfHwgc2hvd1N1Y2Nlc3MgfHwgc2hvd0ZhaWx1cmUgPyAndHJ1ZScgOiB1bmRlZmluZWRcIlxuICAgICAgICBjbGFzcz1cImV0LWJ1dHRvbi10ZXh0IGV0LXF1ZXJ5LWJ1dHRvbi10ZXh0IGV0LXF1ZXJ5LWJ1dHRvbi10ZXh0LS1kZWZhdWx0XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9zcGFuPlxuXG4gICAgICA8c3BhbiAqbmdJZj1cImxvYWRpbmdcIiBjbGFzcz1cImV0LXF1ZXJ5LWJ1dHRvbi1sb2FkaW5nXCI+IDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwibG9hZGluZ1wiIGNsYXNzPVwiZXQtYnV0dG9uLXRleHQgZXQtcXVlcnktYnV0dG9uLXRleHQgZXQtcXVlcnktYnV0dG9uLXRleHQtLWxvYWRpbmdcIj5Mb2FkaW5nPC9zcGFuPlxuXG4gICAgICA8c3BhbiAqbmdJZj1cInNob3dTdWNjZXNzXCIgY2xhc3M9XCJldC1idXR0b24tdGV4dCBldC1xdWVyeS1idXR0b24tdGV4dCBldC1xdWVyeS1idXR0b24tdGV4dC0tc3VjY2Vzc1wiPlN1Y2Nlc3M8L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cInNob3dGYWlsdXJlXCIgY2xhc3M9XCJldC1idXR0b24tdGV4dCBldC1xdWVyeS1idXR0b24tdGV4dCBldC1xdWVyeS1idXR0b24tdGV4dC0tZmFpbHVyZVwiPkZhaWx1cmU8L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vY29tcG9uZW50cy9xdWVyeS1idXR0b24vcXVlcnktYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vY29tcG9uZW50cy9xdWVyeS1idXR0b24vcXVlcnktYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBa0J6RSxNQUFNLE9BQU8sb0JBQW9CO0lBaEJqQztRQWlCWSxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0tBQ3REOzhHQUZZLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHFaQ3RCakMsa25DQXNCQSwrZERMWSxjQUFjLHNGQUFFLFNBQVMsOENBQUUsSUFBSSw2RkFBRSxZQUFZOzsyRkFLNUMsb0JBQW9CO2tCQWhCaEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FHakIsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGtCQUNyQjt3QkFDZCxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsRUFBRTt3QkFDbkcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUU7cUJBQ3hFLFdBQ1EsQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsUUFDbEQ7d0JBQ0osS0FBSyxFQUFFLGlCQUFpQjtxQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGV0RGlyZWN0aXZlIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQgeyBRdWVyeURpcmVjdGl2ZSB9IGZyb20gJ0BldGhsZXRlL3F1ZXJ5JztcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZSwgUXVlcnlCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW2V0LXF1ZXJ5LWJ1dHRvbl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVlcnktYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHsgZGlyZWN0aXZlOiBRdWVyeUJ1dHRvbkRpcmVjdGl2ZSwgaW5wdXRzOiBbJ3F1ZXJ5JywgJ3NraXBTdWNjZXNzJywgJ3NraXBGYWlsdXJlJywgJ3NraXBMb2FkaW5nJ10gfSxcbiAgICB7IGRpcmVjdGl2ZTogQnV0dG9uRGlyZWN0aXZlLCBpbnB1dHM6IFsnZGlzYWJsZWQnLCAndHlwZScsICdwcmVzc2VkJ10gfSxcbiAgXSxcbiAgaW1wb3J0czogW1F1ZXJ5RGlyZWN0aXZlLCBBc3luY1BpcGUsIE5nSWYsIExldERpcmVjdGl2ZV0sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2V0LXF1ZXJ5LWJ1dHRvbicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5QnV0dG9uQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIHF1ZXJ5QnV0dG9uID0gaW5qZWN0KFF1ZXJ5QnV0dG9uRGlyZWN0aXZlKTtcbn1cbiIsIjxuZy1jb250YWluZXIgKmV0TGV0PVwicXVlcnlCdXR0b24uc2hvd1N1Y2Nlc3MkIHwgYXN5bmMgYXMgc2hvd1N1Y2Nlc3NcIj5cbiAgPG5nLWNvbnRhaW5lciAqZXRMZXQ9XCJxdWVyeUJ1dHRvbi5zaG93RmFpbHVyZSQgfCBhc3luYyBhcyBzaG93RmFpbHVyZVwiPlxuICAgIDxzcGFuICpldFF1ZXJ5PVwicXVlcnlCdXR0b24ucXVlcnkkIHwgYXN5bmM7IGxvYWRpbmcgYXMgbG9hZGluZ1wiIGNsYXNzPVwiZXQtYnV0dG9uLWNvbnRlbnQgZXQtcXVlcnktYnV0dG9uLWNvbnRlbnRcIj5cbiAgICAgIDxzcGFuXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cIihsb2FkaW5nICYmICFxdWVyeUJ1dHRvbi5za2lwTG9hZGluZykgfHwgc2hvd1N1Y2Nlc3MgfHwgc2hvd0ZhaWx1cmUgPyAndHJ1ZScgOiB1bmRlZmluZWRcIlxuICAgICAgICBjbGFzcz1cImV0LWJ1dHRvbi10ZXh0IGV0LXF1ZXJ5LWJ1dHRvbi10ZXh0IGV0LXF1ZXJ5LWJ1dHRvbi10ZXh0LS1kZWZhdWx0XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPHNwYW4gKm5nSWY9XCJsb2FkaW5nICYmICFxdWVyeUJ1dHRvbi5za2lwTG9hZGluZ1wiIGNsYXNzPVwiZXQtcXVlcnktYnV0dG9uLWxvYWRpbmdcIj4gPC9zcGFuPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nSWY9XCJsb2FkaW5nICYmICFxdWVyeUJ1dHRvbi5za2lwTG9hZGluZ1wiXG4gICAgICAgIGNsYXNzPVwiZXQtYnV0dG9uLXRleHQgZXQtcXVlcnktYnV0dG9uLXRleHQgZXQtcXVlcnktYnV0dG9uLXRleHQtLWxvYWRpbmdcIlxuICAgICAgICA+TG9hZGluZzwvc3BhblxuICAgICAgPlxuXG4gICAgICA8c3BhbiAqbmdJZj1cInNob3dTdWNjZXNzXCIgY2xhc3M9XCJldC1idXR0b24tdGV4dCBldC1xdWVyeS1idXR0b24tdGV4dCBldC1xdWVyeS1idXR0b24tdGV4dC0tc3VjY2Vzc1wiPlN1Y2Nlc3M8L3NwYW4+XG4gICAgICA8c3BhbiAqbmdJZj1cInNob3dGYWlsdXJlXCIgY2xhc3M9XCJldC1idXR0b24tdGV4dCBldC1xdWVyeS1idXR0b24tdGV4dCBldC1xdWVyeS1idXR0b24tdGV4dC0tZmFpbHVyZVwiPkZhaWx1cmU8L3NwYW4+XG4gICAgPC9zcGFuPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -62,10 +62,10 @@ export class ButtonDirective {
62
62
  _removeTabIndexBindings() {
63
63
  this._bindings.remove('tabindex');
64
64
  }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
66
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: ButtonDirective, isStandalone: true, inputs: { disabled: "disabled", type: "type", pressed: "pressed" }, exportAs: ["etButton"], ngImport: i0 }); }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
66
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: ButtonDirective, isStandalone: true, inputs: { disabled: "disabled", type: "type", pressed: "pressed" }, exportAs: ["etButton"], ngImport: i0 }); }
67
67
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: ButtonDirective, decorators: [{
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: ButtonDirective, decorators: [{
69
69
  type: Directive,
70
70
  args: [{
71
71
  standalone: true,
@@ -1,4 +1,4 @@
1
- import { Directive, ElementRef, inject, Input } from '@angular/core';
1
+ import { booleanAttribute, Directive, ElementRef, inject, Input } from '@angular/core';
2
2
  import { createDestroy, createReactiveBindings } from '@ethlete/core';
3
3
  import { extractQuery, isQueryStateFailure, isQueryStateLoading, isQueryStateSuccess, } from '@ethlete/query';
4
4
  import { BehaviorSubject, combineLatest, map, of, skip, switchMap, takeUntil } from 'rxjs';
@@ -10,6 +10,24 @@ const CLASSES = {
10
10
  failure: 'et-query-button--failure',
11
11
  };
12
12
  export class QueryButtonDirective {
13
+ get skipSuccess() {
14
+ return this._skipSuccess;
15
+ }
16
+ set skipSuccess(value) {
17
+ this._skipSuccess = value;
18
+ }
19
+ get skipFailure() {
20
+ return this._skipFailure;
21
+ }
22
+ set skipFailure(value) {
23
+ this._skipFailure = value;
24
+ }
25
+ get skipLoading() {
26
+ return this._skipLoading;
27
+ }
28
+ set skipLoading(value) {
29
+ this._skipLoading = value;
30
+ }
13
31
  get query() {
14
32
  return this._query$.value;
15
33
  }
@@ -28,7 +46,7 @@ export class QueryButtonDirective {
28
46
  return;
29
47
  }
30
48
  query.state$.pipe(takeUntil(this._destroy$), takeUntil(this._query$.pipe(skip(1)))).subscribe((state) => {
31
- if (isQueryStateLoading(state)) {
49
+ if (isQueryStateLoading(state) && !this._skipLoading) {
32
50
  this.isLoading$.next(true);
33
51
  classList.add(CLASSES.loading);
34
52
  }
@@ -36,11 +54,11 @@ export class QueryButtonDirective {
36
54
  this.isLoading$.next(false);
37
55
  classList.remove(CLASSES.loading);
38
56
  }
39
- if (isQueryStateSuccess(state)) {
57
+ if (isQueryStateSuccess(state) && !this._skipSuccess) {
40
58
  this.showSuccess$.next(true);
41
59
  classList.add(CLASSES.success);
42
60
  }
43
- else if (isQueryStateFailure(state)) {
61
+ else if (isQueryStateFailure(state) && !this._skipFailure) {
44
62
  this.showFailure$.next(true);
45
63
  classList.add(CLASSES.failure);
46
64
  }
@@ -69,6 +87,9 @@ export class QueryButtonDirective {
69
87
  this.showFailure$ = new BehaviorSubject(false);
70
88
  this.didLoadOnce$ = new BehaviorSubject(false);
71
89
  this.isLoading$ = new BehaviorSubject(false);
90
+ this._skipSuccess = false;
91
+ this._skipFailure = false;
92
+ this._skipLoading = false;
72
93
  this._query$ = new BehaviorSubject(null);
73
94
  this._bindings = createReactiveBindings({
74
95
  attribute: ['disabled', 'aria-disabled'],
@@ -94,16 +115,25 @@ export class QueryButtonDirective {
94
115
  });
95
116
  this._button._removeDisabledBindings();
96
117
  }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: QueryButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
98
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: QueryButtonDirective, isStandalone: true, inputs: { query: "query" }, exportAs: ["etQueryButton"], ngImport: i0 }); }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: QueryButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
119
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: QueryButtonDirective, isStandalone: true, inputs: { skipSuccess: ["skipSuccess", "skipSuccess", booleanAttribute], skipFailure: ["skipFailure", "skipFailure", booleanAttribute], skipLoading: ["skipLoading", "skipLoading", booleanAttribute], query: "query" }, exportAs: ["etQueryButton"], ngImport: i0 }); }
99
120
  }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: QueryButtonDirective, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: QueryButtonDirective, decorators: [{
101
122
  type: Directive,
102
123
  args: [{
103
124
  standalone: true,
104
125
  exportAs: 'etQueryButton',
105
126
  }]
106
- }], ctorParameters: function () { return []; }, propDecorators: { query: [{
127
+ }], ctorParameters: function () { return []; }, propDecorators: { skipSuccess: [{
128
+ type: Input,
129
+ args: [{ transform: booleanAttribute }]
130
+ }], skipFailure: [{
131
+ type: Input,
132
+ args: [{ transform: booleanAttribute }]
133
+ }], skipLoading: [{
134
+ type: Input,
135
+ args: [{ transform: booleanAttribute }]
136
+ }], query: [{
107
137
  type: Input
108
138
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vZGlyZWN0aXZlcy9xdWVyeS1idXR0b24vcXVlcnktYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUdMLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFNUMsTUFBTSxPQUFPLEdBQUc7SUFDZCxPQUFPLEVBQUUsMEJBQTBCO0lBQ25DLE9BQU8sRUFBRSwwQkFBMEI7SUFDbkMsT0FBTyxFQUFFLDBCQUEwQjtDQUNwQyxDQUFDO0FBTUYsTUFBTSxPQUFPLG9CQUFvQjtJQVkvQixJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxDQUF1QztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFFM0QsSUFBSSxJ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SUFBSSxDQUFDLENBQUMsQ0FDeEM7Z0JBQ0QsSUFBSSxDQUFDLFlBQVk7YUFDbEIsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsRUFBRSxFQUFFO2dCQUMzQixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBRWxCLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksV0FBVyxFQUFFO29CQUN6RyxLQUFLLEdBQUcsV0FBVyxDQUFDO2lCQUNyQjtnQkFFRCxPQUFPO29CQUNMLE1BQU0sRUFBRSxJQUFJO29CQUNaLEtBQUs7aUJBQ04sQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNIO1NBQ0YsQ0FDRixDQUFDO1FBR0EsSUFBSSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7OEdBOUdVLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZUFBZTtpQkFDMUI7MEVBY0ssS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVEZXN0cm95LCBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzIH0gZnJvbSAnQGV0aGxldGUvY29yZSc7XG5pbXBvcnQge1xuICBBbnlRdWVyeSxcbiAgQW55UXVlcnlDb2xsZWN0aW9uLFxuICBleHRyYWN0UXVlcnksXG4gIGlzUXVlcnlTdGF0ZUZhaWx1cmUsXG4gIGlzUXVlcnlTdGF0ZUxvYWRpbmcsXG4gIGlzUXVlcnlTdGF0ZVN1Y2Nlc3MsXG59IGZyb20gJ0BldGhsZXRlL3F1ZXJ5JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBvZiwgc2tpcCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4uL2J1dHRvbic7XG5cbmNvbnN0IENMQVNTRVMgPSB7XG4gIGxvYWRpbmc6ICdldC1xdWVyeS1idXR0b24tLWxvYWRpbmcnLFxuICBzdWNjZXNzOiAnZXQtcXVlcnktYnV0dG9uLS1zdWNjZXNzJyxcbiAgZmFpbHVyZTogJ2V0LXF1ZXJ5LWJ1dHRvbi0tZmFpbHVyZScsXG59O1xuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdldFF1ZXJ5QnV0dG9uJyxcbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlCdXR0b25EaXJlY3RpdmUge1xuICBwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSQgPSBjcmVhdGVEZXN0cm95KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2J1dHRvbiA9IGluamVjdChCdXR0b25EaXJlY3RpdmUpO1xuXG4gIHByaXZhdGUgX2NsZWFudXBUaW1lb3V0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICByZWFkb25seSBzaG93U3VjY2VzcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcmVhZG9ubHkgc2hvd0ZhaWx1cmUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHJlYWRvbmx5IGRpZExvYWRPbmNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICByZWFkb25seSBpc0xvYWRpbmckID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgQElucHV0KClcbiAgZ2V0IHF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLl9xdWVyeSQudmFsdWU7XG4gIH1cbiAgc2V0IHF1ZXJ5KHY6IEFueVF1ZXJ5IHwgQW55UXVlcnlDb2xsZWN0aW9uIHwgbnVsbCkge1xuICAgIHRoaXMuX3F1ZXJ5JC5uZXh0KHYpO1xuXG4gICAgY29uc3QgY2xhc3NMaXN0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdDtcblxuICAgIGlmICh0aGlzLl9jbGVhbnVwVGltZW91dCAhPT0gbnVsbCkge1xuICAgICAgd2luZG93LmNsZWFyVGltZW91dCh0aGlzLl9jbGVhbnVwVGltZW91dCk7XG4gICAgfVxuXG4gICAgY2xhc3NMaXN0LnJlbW92ZShDTEFTU0VTLnN1Y2Nlc3MpO1xuICAgIGNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NFUy5mYWlsdXJlKTtcbiAgICBjbGFzc0xpc3QucmVtb3ZlKENMQVNTRVMubG9hZGluZyk7XG5cbiAgICB0aGlzLl9iaW5kaW5ncy5yZXNldCgpO1xuXG4gICAgY29uc3QgcXVlcnkgPSBleHRyYWN0UXVlcnkodGhpcy5fcXVlcnkkLnZhbHVlKTtcblxuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBxdWVyeS5zdGF0ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLCB0YWtlVW50aWwodGhpcy5fcXVlcnkkLnBpcGUoc2tpcCgxKSkpKS5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICBpZiAoaXNRdWVyeVN0YXRlTG9hZGluZyhzdGF0ZSkpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgICAgIGNsYXNzTGlzdC5hZGQoQ0xBU1NFUy5sb2FkaW5nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgY2xhc3NMaXN0LnJlbW92ZShDTEFTU0VTLmxvYWRpbmcpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNRdWVyeVN0YXRlU3VjY2VzcyhzdGF0ZSkpIHtcbiAgICAgICAgdGhpcy5zaG93U3VjY2VzcyQubmV4dCh0cnVlKTtcbiAgICAgICAgY2xhc3NMaXN0LmFkZChDTEFTU0VTLnN1Y2Nlc3MpO1xuICAgICAgfSBlbHNlIGlmIChpc1F1ZXJ5U3RhdGVGYWlsdXJlKHN0YXRlKSkge1xuICAgICAgICB0aGlzLnNob3dGYWlsdXJlJC5uZXh0KHRydWUpO1xuICAgICAgICBjbGFzc0xpc3QuYWRkKENMQVNTRVMuZmFpbHVyZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc1F1ZXJ5U3RhdGVTdWNjZXNzKHN0YXRlKSB8fCBpc1F1ZXJ5U3RhdGVGYWlsdXJlKHN0YXRlKSkge1xuICAgICAgICBpZiAoIXRoaXMuZGlkTG9hZE9uY2UkLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5kaWRMb2FkT25jZSQubmV4dCh0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2NsZWFudXBUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2hvd0ZhaWx1cmUkLm5leHQoZmFsc2UpO1xuICAgICAgICAgIHRoaXMuc2hvd1N1Y2Nlc3MkLm5leHQoZmFsc2UpO1xuICAgICAgICAgIGNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NFUy5zdWNjZXNzKTtcbiAgICAgICAgICBjbGFzc0xpc3QucmVtb3ZlKENMQVNTRVMuZmFpbHVyZSk7XG4gICAgICAgIH0sIDMwMDApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIGdldCBxdWVyeSQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5JC5hc09ic2VydmFibGUoKTtcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IF9xdWVyeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFueVF1ZXJ5IHwgQW55UXVlcnlDb2xsZWN0aW9uIHwgbnVsbD4obnVsbCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYmluZGluZ3MgPSBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzKFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogWydkaXNhYmxlZCcsICdhcmlhLWRpc2FibGVkJ10sXG4gICAgICBvYnNlcnZhYmxlOiBjb21iaW5lTGF0ZXN0KFt0aGlzLl9idXR0b24uZGlzYWJsZWQkLCB0aGlzLnNob3dGYWlsdXJlJCwgdGhpcy5zaG93U3VjY2VzcyQsIHRoaXMuaXNMb2FkaW5nJF0pLnBpcGUoXG4gICAgICAgIG1hcCgoW2Rpc2FibGVkLCBzaG93RmFpbHVyZSwgc2hvd1N1Y2Nlc3MsIGlzTG9hZGluZ10pID0+ICh7XG4gICAgICAgICAgcmVuZGVyOiBkaXNhYmxlZCB8fCBzaG93RmFpbHVyZSB8fCBzaG93U3VjY2VzcyB8fCBpc0xvYWRpbmcsXG4gICAgICAgICAgdmFsdWU6IHRydWUsXG4gICAgICAgIH0pKSxcbiAgICAgICksXG4gICAgfSxcbiAgICB7XG4gICAgICBhdHRyaWJ1dGU6IFsnYXJpYS1saXZlJ10sXG4gICAgICBvYnNlcnZhYmxlOiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5xdWVyeSQucGlwZShcbiAgICAgICAgICBtYXAoKHEpID0+IGV4dHJhY3RRdWVyeShxKSksXG4gICAgICAgICAgc3dpdGNoTWFwKChxKSA9PiBxPy5zdGF0ZSQgPz8gb2YobnVsbCkpLFxuICAgICAgICApLFxuICAgICAgICB0aGlzLmRpZExvYWRPbmNlJCxcbiAgICAgIF0pLnBpcGUoXG4gICAgICAgIG1hcCgoW3N0YXRlLCBkaWRMb2FkT25jZV0pID0+IHtcbiAgICAgICAgICBsZXQgdmFsdWUgPSAnb2ZmJztcblxuICAgICAgICAgIGlmIChpc1F1ZXJ5U3RhdGVMb2FkaW5nKHN0YXRlKSB8fCBpc1F1ZXJ5U3RhdGVTdWNjZXNzKHN0YXRlKSB8fCBpc1F1ZXJ5U3RhdGVGYWlsdXJlKHN0YXRlKSB8fCBkaWRMb2FkT25jZSkge1xuICAgICAgICAgICAgdmFsdWUgPSAnYXNzZXJ0aXZlJztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVuZGVyOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgIH0sXG4gICk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fYnV0dG9uLl9yZW1vdmVEaXNhYmxlZEJpbmRpbmdzKCk7XG4gIH1cbn1cbiJdfQ==
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2RrL3NyYy9saWIvY29tcG9uZW50cy9idXR0b24vZGlyZWN0aXZlcy9xdWVyeS1idXR0b24vcXVlcnktYnV0dG9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxhQUFhLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEUsT0FBTyxFQUdMLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFFNUMsTUFBTSxPQUFPLEdBQUc7SUFDZCxPQUFPLEVBQUUsMEJBQTBCO0lBQ25DLE9BQU8sRUFBRSwwQkFBMEI7SUFDbkMsT0FBTyxFQUFFLDBCQUEwQjtDQUNwQyxDQUFDO0FBTUYsTUFBTSxPQUFPLG9CQUFvQjtJQVkvQixJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQUksV0FBVyxDQUFDLEtBQWM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7SUFDNUIsQ0FBQztJQUdELElBQ0ksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBQ0QsSUFBSSxXQUFXLENBQUMsS0FBYztRQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBR0QsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxLQUFjO1FBQzVCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFHRCxJQUNJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxDQUF1QztRQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVyQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFFM0QsSUFBSSxJQUFJLENBQUMsZUFBZSxLQUFLLElBQUksRUFBRTtZQUNqQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztTQUMzQztRQUVELFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWxDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFdkIsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU87U0FDUjtRQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN0RyxJQUFJLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNCLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ2hDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNuQztZQUVELElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNwRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDaEM7aUJBQU0sSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQzNELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QixTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNoQztZQUVELElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRTtvQkFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzlCO2dCQUVELElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7b0JBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDOUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ2xDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNwQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDVjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBc0NEO1FBdElpQixnQkFBVyxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7UUFDMUQsY0FBUyxHQUFHLGFBQWEsRUFBRSxDQUFDO1FBQzVCLFlBQU8sR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFM0Msb0JBQWUsR0FBa0IsSUFBSSxDQUFDO1FBRXJDLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFDLGVBQVUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVN6QyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQVNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQVNyQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQTZEWixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQXVDLElBQUksQ0FBQyxDQUFDO1FBRTFFLGNBQVMsR0FBRyxzQkFBc0IsQ0FDakQ7WUFDRSxTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDO1lBQ3hDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUM3RyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RCxNQUFNLEVBQUUsUUFBUSxJQUFJLFdBQVcsSUFBSSxXQUFXLElBQUksU0FBUztnQkFDM0QsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUMsQ0FDSjtTQUNGLEVBQ0Q7WUFDRSxTQUFTLEVBQUUsQ0FBQyxXQUFXLENBQUM7WUFDeEIsVUFBVSxFQUFFLGFBQWEsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDM0IsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN4QztnQkFDRCxJQUFJLENBQUMsWUFBWTthQUNsQixDQUFDLENBQUMsSUFBSSxDQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUU7Z0JBQzNCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFFbEIsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxXQUFXLEVBQUU7b0JBQ3pHLEtBQUssR0FBRyxXQUFXLENBQUM7aUJBQ3JCO2dCQUVELE9BQU87b0JBQ0wsTUFBTSxFQUFFLElBQUk7b0JBQ1osS0FBSztpQkFDTixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQ0g7U0FDRixDQUNGLENBQUM7UUFHQSxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDekMsQ0FBQzs4R0F6SVUsb0JBQW9CO2tHQUFwQixvQkFBb0IsNEVBWVgsZ0JBQWdCLCtDQVNoQixnQkFBZ0IsK0NBU2hCLGdCQUFnQjs7MkZBOUJ6QixvQkFBb0I7a0JBSmhDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjswRUFjSyxXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVWxDLFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFVbEMsV0FBVztzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVVsQyxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNyZWF0ZURlc3Ryb3ksIGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MgfSBmcm9tICdAZXRobGV0ZS9jb3JlJztcbmltcG9ydCB7XG4gIEFueVF1ZXJ5LFxuICBBbnlRdWVyeUNvbGxlY3Rpb24sXG4gIGV4dHJhY3RRdWVyeSxcbiAgaXNRdWVyeVN0YXRlRmFpbHVyZSxcbiAgaXNRdWVyeVN0YXRlTG9hZGluZyxcbiAgaXNRdWVyeVN0YXRlU3VjY2Vzcyxcbn0gZnJvbSAnQGV0aGxldGUvcXVlcnknO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAsIG9mLCBza2lwLCBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vYnV0dG9uJztcblxuY29uc3QgQ0xBU1NFUyA9IHtcbiAgbG9hZGluZzogJ2V0LXF1ZXJ5LWJ1dHRvbi0tbG9hZGluZycsXG4gIHN1Y2Nlc3M6ICdldC1xdWVyeS1idXR0b24tLXN1Y2Nlc3MnLFxuICBmYWlsdXJlOiAnZXQtcXVlcnktYnV0dG9uLS1mYWlsdXJlJyxcbn07XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBleHBvcnRBczogJ2V0UXVlcnlCdXR0b24nLFxufSlcbmV4cG9ydCBjbGFzcyBRdWVyeUJ1dHRvbkRpcmVjdGl2ZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95JCA9IGNyZWF0ZURlc3Ryb3koKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnV0dG9uID0gaW5qZWN0KEJ1dHRvbkRpcmVjdGl2ZSk7XG5cbiAgcHJpdmF0ZSBfY2xlYW51cFRpbWVvdXQ6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gIHJlYWRvbmx5IHNob3dTdWNjZXNzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICByZWFkb25seSBzaG93RmFpbHVyZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgcmVhZG9ubHkgZGlkTG9hZE9uY2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHJlYWRvbmx5IGlzTG9hZGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgZ2V0IHNraXBTdWNjZXNzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9za2lwU3VjY2VzcztcbiAgfVxuICBzZXQgc2tpcFN1Y2Nlc3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9za2lwU3VjY2VzcyA9IHZhbHVlO1xuICB9XG4gIHByaXZhdGUgX3NraXBTdWNjZXNzID0gZmFsc2U7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIGdldCBza2lwRmFpbHVyZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2tpcEZhaWx1cmU7XG4gIH1cbiAgc2V0IHNraXBGYWlsdXJlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fc2tpcEZhaWx1cmUgPSB2YWx1ZTtcbiAgfVxuICBwcml2YXRlIF9za2lwRmFpbHVyZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBnZXQgc2tpcExvYWRpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3NraXBMb2FkaW5nO1xuICB9XG4gIHNldCBza2lwTG9hZGluZyh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX3NraXBMb2FkaW5nID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfc2tpcExvYWRpbmcgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBnZXQgcXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3F1ZXJ5JC52YWx1ZTtcbiAgfVxuICBzZXQgcXVlcnkodjogQW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsKSB7XG4gICAgdGhpcy5fcXVlcnkkLm5leHQodik7XG5cbiAgICBjb25zdCBjbGFzc0xpc3QgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0O1xuXG4gICAgaWYgKHRoaXMuX2NsZWFudXBUaW1lb3V0ICE9PSBudWxsKSB7XG4gICAgICB3aW5kb3cuY2xlYXJUaW1lb3V0KHRoaXMuX2NsZWFudXBUaW1lb3V0KTtcbiAgICB9XG5cbiAgICBjbGFzc0xpc3QucmVtb3ZlKENMQVNTRVMuc3VjY2Vzcyk7XG4gICAgY2xhc3NMaXN0LnJlbW92ZShDTEFTU0VTLmZhaWx1cmUpO1xuICAgIGNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NFUy5sb2FkaW5nKTtcblxuICAgIHRoaXMuX2JpbmRpbmdzLnJlc2V0KCk7XG5cbiAgICBjb25zdCBxdWVyeSA9IGV4dHJhY3RRdWVyeSh0aGlzLl9xdWVyeSQudmFsdWUpO1xuXG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHF1ZXJ5LnN0YXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksIHRha2VVbnRpbCh0aGlzLl9xdWVyeSQucGlwZShza2lwKDEpKSkpLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChpc1F1ZXJ5U3RhdGVMb2FkaW5nKHN0YXRlKSAmJiAhdGhpcy5fc2tpcExvYWRpbmcpIHtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgICAgIGNsYXNzTGlzdC5hZGQoQ0xBU1NFUy5sb2FkaW5nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgY2xhc3NMaXN0LnJlbW92ZShDTEFTU0VTLmxvYWRpbmcpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNRdWVyeVN0YXRlU3VjY2VzcyhzdGF0ZSkgJiYgIXRoaXMuX3NraXBTdWNjZXNzKSB7XG4gICAgICAgIHRoaXMuc2hvd1N1Y2Nlc3MkLm5leHQodHJ1ZSk7XG4gICAgICAgIGNsYXNzTGlzdC5hZGQoQ0xBU1NFUy5zdWNjZXNzKTtcbiAgICAgIH0gZWxzZSBpZiAoaXNRdWVyeVN0YXRlRmFpbHVyZShzdGF0ZSkgJiYgIXRoaXMuX3NraXBGYWlsdXJlKSB7XG4gICAgICAgIHRoaXMuc2hvd0ZhaWx1cmUkLm5leHQodHJ1ZSk7XG4gICAgICAgIGNsYXNzTGlzdC5hZGQoQ0xBU1NFUy5mYWlsdXJlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzUXVlcnlTdGF0ZVN1Y2Nlc3Moc3RhdGUpIHx8IGlzUXVlcnlTdGF0ZUZhaWx1cmUoc3RhdGUpKSB7XG4gICAgICAgIGlmICghdGhpcy5kaWRMb2FkT25jZSQudmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmRpZExvYWRPbmNlJC5uZXh0KHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2xlYW51cFRpbWVvdXQgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zaG93RmFpbHVyZSQubmV4dChmYWxzZSk7XG4gICAgICAgICAgdGhpcy5zaG93U3VjY2VzcyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgY2xhc3NMaXN0LnJlbW92ZShDTEFTU0VTLnN1Y2Nlc3MpO1xuICAgICAgICAgIGNsYXNzTGlzdC5yZW1vdmUoQ0xBU1NFUy5mYWlsdXJlKTtcbiAgICAgICAgfSwgMzAwMCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgZ2V0IHF1ZXJ5JCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcXVlcnkkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIHByaXZhdGUgcmVhZG9ubHkgX3F1ZXJ5JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QW55UXVlcnkgfCBBbnlRdWVyeUNvbGxlY3Rpb24gfCBudWxsPihudWxsKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9iaW5kaW5ncyA9IGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MoXG4gICAge1xuICAgICAgYXR0cmlidXRlOiBbJ2Rpc2FibGVkJywgJ2FyaWEtZGlzYWJsZWQnXSxcbiAgICAgIG9ic2VydmFibGU6IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2J1dHRvbi5kaXNhYmxlZCQsIHRoaXMuc2hvd0ZhaWx1cmUkLCB0aGlzLnNob3dTdWNjZXNzJCwgdGhpcy5pc0xvYWRpbmckXSkucGlwZShcbiAgICAgICAgbWFwKChbZGlzYWJsZWQsIHNob3dGYWlsdXJlLCBzaG93U3VjY2VzcywgaXNMb2FkaW5nXSkgPT4gKHtcbiAgICAgICAgICByZW5kZXI6IGRpc2FibGVkIHx8IHNob3dGYWlsdXJlIHx8IHNob3dTdWNjZXNzIHx8IGlzTG9hZGluZyxcbiAgICAgICAgICB2YWx1ZTogdHJ1ZSxcbiAgICAgICAgfSkpLFxuICAgICAgKSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGF0dHJpYnV0ZTogWydhcmlhLWxpdmUnXSxcbiAgICAgIG9ic2VydmFibGU6IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLnF1ZXJ5JC5waXBlKFxuICAgICAgICAgIG1hcCgocSkgPT4gZXh0cmFjdFF1ZXJ5KHEpKSxcbiAgICAgICAgICBzd2l0Y2hNYXAoKHEpID0+IHE/LnN0YXRlJCA/PyBvZihudWxsKSksXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuZGlkTG9hZE9uY2UkLFxuICAgICAgXSkucGlwZShcbiAgICAgICAgbWFwKChbc3RhdGUsIGRpZExvYWRPbmNlXSkgPT4ge1xuICAgICAgICAgIGxldCB2YWx1ZSA9ICdvZmYnO1xuXG4gICAgICAgICAgaWYgKGlzUXVlcnlTdGF0ZUxvYWRpbmcoc3RhdGUpIHx8IGlzUXVlcnlTdGF0ZVN1Y2Nlc3Moc3RhdGUpIHx8IGlzUXVlcnlTdGF0ZUZhaWx1cmUoc3RhdGUpIHx8IGRpZExvYWRPbmNlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9ICdhc3NlcnRpdmUnO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICByZW5kZXI6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgfSxcbiAgKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9idXR0b24uX3JlbW92ZURpc2FibGVkQmluZGluZ3MoKTtcbiAgfVxufVxuIl19
@@ -11,10 +11,10 @@ export class CheckboxComponent extends InputBase {
11
11
  super(...arguments);
12
12
  this.checkbox = inject(CHECKBOX_TOKEN);
13
13
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: CheckboxComponent, isStandalone: true, selector: "et-checkbox", host: { classAttribute: "et-checkbox" }, usesInheritance: true, hostDirectives: [{ directive: i1.CheckboxDirective }, { directive: i2.InputDirective, inputs: ["autocomplete", "autocomplete"] }], ngImport: i0, template: "<input\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.checked]=\"(checkbox.checked$ | async) || null\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [disabled]=\"input.disabled$ | async\"\n [attr.id]=\"input.id\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [indeterminate]=\"checkbox.indeterminate$ | async\"\n (click)=\"checkbox._onInputInteraction($event)\"\n (blur)=\"checkbox._controlTouched()\"\n class=\"et-checkbox-native-input\"\n etNativeInputRef\n type=\"checkbox\"\n/>\n\n<div [ngClass]=\"{ 'et-checkbox-check--active': checkbox.checked$ | async }\" class=\"et-checkbox-check\"></div>\n<div\n [ngClass]=\"{ 'et-checkbox-indeterminate--active': checkbox.indeterminate$ | async }\"\n class=\"et-checkbox-indeterminate\"\n></div>\n", styles: [":where(.et-checkbox){--et-checkbox-size: 25px;--et-checkbox-check-size: 10px;--et-checkbox-border-color: #e5e5e5;--et-checkbox-state-color: #e5e5e5;--et-checkbox-indeterminate-width: 10px;--et-checkbox-indeterminate-height: 2px;inline-size:var(--et-checkbox-size);block-size:var(--et-checkbox-size);border:1px solid var(--et-checkbox-border-color);display:inline-grid}:where(.et-checkbox-check){inline-size:var(--et-checkbox-check-size);block-size:var(--et-checkbox-check-size)}:where(.et-checkbox-check).et-checkbox-check--active{background-color:var(--et-checkbox-state-color)}:where(.et-checkbox-indeterminate){inline-size:var(--et-checkbox-indeterminate-width);block-size:var(--et-checkbox-indeterminate-height)}:where(.et-checkbox-indeterminate).et-checkbox-indeterminate--active{background-color:var(--et-checkbox-state-color)}.et-checkbox{position:relative;align-items:center;justify-items:center}.et-checkbox-native-input,.et-checkbox-check,.et-checkbox-indeterminate{grid-area:1/1/2/2}.et-checkbox-native-input{z-index:1;inline-size:var(--et-checkbox-size);block-size:var(--et-checkbox-size);opacity:0;margin:0;border:none}.et-checkbox:not(.et-checkbox--disabled) .et-checkbox-native-input{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
15
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: CheckboxComponent, isStandalone: true, selector: "et-checkbox", host: { classAttribute: "et-checkbox" }, usesInheritance: true, hostDirectives: [{ directive: i1.CheckboxDirective }, { directive: i2.InputDirective, inputs: ["autocomplete", "autocomplete"] }], ngImport: i0, template: "<input\n [attr.tabindex]=\"(input.disabled$ | async) ? -1 : 0\"\n [attr.checked]=\"(checkbox.checked$ | async) || null\"\n [attr.aria-labelledby]=\"input.labelId$ | async\"\n [attr.aria-required]=\"(input.required$ | async) || null\"\n [disabled]=\"input.disabled$ | async\"\n [attr.id]=\"input.id\"\n [attr.autocomplete]=\"input.autocomplete || null\"\n [attr.aria-describedby]=\"input.describedBy$ | async\"\n [indeterminate]=\"checkbox.indeterminate$ | async\"\n (click)=\"checkbox._onInputInteraction($event)\"\n (blur)=\"checkbox._controlTouched()\"\n class=\"et-checkbox-native-input\"\n etNativeInputRef\n type=\"checkbox\"\n/>\n\n<div [ngClass]=\"{ 'et-checkbox-check--active': checkbox.checked$ | async }\" class=\"et-checkbox-check\"></div>\n<div\n [ngClass]=\"{ 'et-checkbox-indeterminate--active': checkbox.indeterminate$ | async }\"\n class=\"et-checkbox-indeterminate\"\n></div>\n", styles: [":where(.et-checkbox){--et-checkbox-size: 25px;--et-checkbox-check-size: 10px;--et-checkbox-border-color: #e5e5e5;--et-checkbox-state-color: #e5e5e5;--et-checkbox-indeterminate-width: 10px;--et-checkbox-indeterminate-height: 2px;inline-size:var(--et-checkbox-size);block-size:var(--et-checkbox-size);border:1px solid var(--et-checkbox-border-color);display:inline-grid}:where(.et-checkbox-check){inline-size:var(--et-checkbox-check-size);block-size:var(--et-checkbox-check-size)}:where(.et-checkbox-check).et-checkbox-check--active{background-color:var(--et-checkbox-state-color)}:where(.et-checkbox-indeterminate){inline-size:var(--et-checkbox-indeterminate-width);block-size:var(--et-checkbox-indeterminate-height)}:where(.et-checkbox-indeterminate).et-checkbox-indeterminate--active{background-color:var(--et-checkbox-state-color)}.et-checkbox{position:relative;align-items:center;justify-items:center}.et-checkbox-native-input,.et-checkbox-check,.et-checkbox-indeterminate{grid-area:1/1/2/2}.et-checkbox-native-input{z-index:1;inline-size:var(--et-checkbox-size);block-size:var(--et-checkbox-size);opacity:0;margin:0;border:none}.et-checkbox:not(.et-checkbox--disabled) .et-checkbox-native-input{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NativeInputRefDirective, selector: "input[etNativeInputRef], textarea[etNativeInputRef], select[etNativeInputRef], button[etNativeInputRef]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
16
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CheckboxComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CheckboxComponent, decorators: [{
18
18
  type: Component,
19
19
  args: [{ selector: 'et-checkbox', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
20
20
  class: 'et-checkbox',
@@ -13,8 +13,8 @@ export class CheckboxFieldComponent {
13
13
  constructor() {
14
14
  this.inputState = inject(InputStateService);
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: CheckboxFieldComponent, isStandalone: true, selector: "et-checkbox-field", host: { classAttribute: "et-form-field et-checkbox-field" }, hostDirectives: [{ directive: i1.StaticFormFieldDirective }, { directive: i2.WriteableInputDirective }, { directive: i0.forwardRef(function () { return i3.DynamicFormFieldDirective; }), inputs: ["hideErrorMessage", "hideErrorMessage"] }, { directive: i4.CheckboxFieldDirective }], ngImport: i0, template: `
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CheckboxFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: CheckboxFieldComponent, isStandalone: true, selector: "et-checkbox-field", host: { classAttribute: "et-form-field et-checkbox-field" }, hostDirectives: [{ directive: i1.StaticFormFieldDirective }, { directive: i2.WriteableInputDirective }, { directive: i0.forwardRef(function () { return i3.DynamicFormFieldDirective; }), inputs: ["hideErrorMessage", "hideErrorMessage"] }, { directive: i4.CheckboxFieldDirective }], ngImport: i0, template: `
18
18
  <div class="et-checkbox-field-container">
19
19
  <ng-content select="et-checkbox" />
20
20
  <ng-content select="et-label" />
@@ -22,7 +22,7 @@ export class CheckboxFieldComponent {
22
22
  <et-error [errors]="inputState.errors$ | async" />
23
23
  `, isInline: true, dependencies: [{ kind: "component", type: ErrorComponent, selector: "et-error", inputs: ["errors"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CheckboxFieldComponent, decorators: [{
26
26
  type: Component,
27
27
  args: [{
28
28
  selector: 'et-checkbox-field',
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../directives/checkbox-group/checkbox-group.directive";
6
6
  import * as i2 from "../../../../directives/static-form-group/static-form-group.directive";
7
7
  export class CheckboxGroupComponent {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.0", type: CheckboxGroupComponent, isStandalone: true, selector: "et-checkbox-group", host: { classAttribute: "et-form-group et-checkbox-group" }, hostDirectives: [{ directive: i1.CheckboxGroupDirective }, { directive: i2.StaticFormGroupDirective }], ngImport: i0, template: ` <ng-content /> `, isInline: true, styles: [":where(.et-checkbox-group){display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.1", type: CheckboxGroupComponent, isStandalone: true, selector: "et-checkbox-group", host: { classAttribute: "et-form-group et-checkbox-group" }, hostDirectives: [{ directive: i1.CheckboxGroupDirective }, { directive: i2.StaticFormGroupDirective }], ngImport: i0, template: ` <ng-content /> `, isInline: true, styles: [":where(.et-checkbox-group){display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CheckboxGroupComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'et-checkbox-group', template: ` <ng-content /> `, standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
14
14
  class: 'et-form-group et-checkbox-group',
@@ -30,10 +30,10 @@ export class CheckboxDirective {
30
30
  this.input._markAsTouched();
31
31
  this.input._setShouldDisplayError(true);
32
32
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: CheckboxDirective, isStandalone: true, providers: [{ provide: CHECKBOX_TOKEN, useExisting: CheckboxDirective }], exportAs: ["etCheckbox"], ngImport: i0 }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
34
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: CheckboxDirective, isStandalone: true, providers: [{ provide: CHECKBOX_TOKEN, useExisting: CheckboxDirective }], exportAs: ["etCheckbox"], ngImport: i0 }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CheckboxDirective, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CheckboxDirective, decorators: [{
37
37
  type: Directive,
38
38
  args: [{
39
39
  standalone: true,
@@ -19,10 +19,10 @@ export class CheckboxFieldDirective {
19
19
  observable: this._checkbox.changes.pipe(startWith(this._checkbox)).pipe(switchMap((checkboxes) => combineLatest(checkboxes.filter((cb) => !!cb).map((checkbox) => checkbox.indeterminate$))), map((checked) => checked.some((value) => value))),
20
20
  });
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CheckboxFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.0", type: CheckboxFieldDirective, isStandalone: true, providers: [{ provide: CHECKBOX_FIELD_TOKEN, useExisting: CheckboxFieldDirective }], queries: [{ propertyName: "_checkbox", predicate: i0.forwardRef(function () { return CHECKBOX_TOKEN; }), descendants: true }], exportAs: ["etCheckboxGroup"], ngImport: i0 }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CheckboxFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.1", type: CheckboxFieldDirective, isStandalone: true, providers: [{ provide: CHECKBOX_FIELD_TOKEN, useExisting: CheckboxFieldDirective }], queries: [{ propertyName: "_checkbox", predicate: i0.forwardRef(function () { return CHECKBOX_TOKEN; }), descendants: true }], exportAs: ["etCheckboxGroup"], ngImport: i0 }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.0", ngImport: i0, type: CheckboxFieldDirective, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CheckboxFieldDirective, decorators: [{
26
26
  type: Directive,
27
27
  args: [{
28
28
  standalone: true,