@firestitch/filter 13.4.0 → 14.0.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 (273) hide show
  1. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/16/25/214635fa124a83a4fe3a52bde70e7124d9d011a5d176790a9c607bf1f5ed27cadefc4a1b5a225c0bda11250a180ca5798773e0c108e8d5e2d8559d2f9eed +1 -0
  2. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/44/f9/ee834587d4ac4a429d8c4af2e1562028c7432ac179f9699f2990ab3dadc8e4f66ae45bf22625aedf47fad137e2de39a9b99141784e56d5123544f90c922a +1 -0
  3. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/4d/89/993c2eaff9e0cfca023676bf3f2d3d446f6b6cc90eec839075529d155102b2808a8b44e259d357704acd43143c12af5a5916b4e291a799164b722142ee8e +1 -0
  4. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/52/cb/71f80b48163c432fcb05ac0f736ae7cae10318713c98c74739b3eb5d83ebce635b1a7c77d357b1a4b13a9ae9cfe43348538e4336c25c234551f1e80f0567 +1 -0
  5. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/54/f6/73f0d8ea64a18aa71d80a2cf99d6eb4a2cd345e943127e018913d0f76e9575fabe3aee5002ee4da996e661662d474ad31e9a77f2858c68eed532c2d45d47 +1 -0
  6. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/61/84/7f56389ef39faf5c5b6ad292f668ec6cc5cb6e476d94b1740bdadb9832e3de22a0032b90811f02c80d3d56be5f5e32d8bb900e17ebcb09db379befddc221 +1 -0
  7. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/69/d3/d48ad36dd0a576c4d6f8af3a2ee671037639b0a8d91679992dcbd9dabc284bf316c3126201837e931a162f23cdc4a505608bb64df8e87f59a17364890873 +1 -0
  8. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/70/92/ac80dcd48732b949f163abf36c48b0912598d2bb66e5c1f2056fef872f59fb1b591abbf3bfdbf461a46cbd507eea05a6bd0f14ba3d573f1684cbc78bd094 +1 -0
  9. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/73/10/12664696206dcdab6b084331532b234c439acef8a6428af667a2e1bb1c15e2055b3ac70f44fd8bf508396d3e11a798b40849fd66dbdbd0ff9d9d7e780edd +1 -0
  10. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/74/f6/4c2db73499d08279895e1ab6e2fb65baa613d31218b6968f74143ba03819c72a2720b927ca5a708dd484c0bc6763124e62ce9c2e652f71b740cb2d29ae03 +1 -0
  11. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/78/30/8eedd8d752a08df898806b01abde5b4c1809f6edcba95fcf112c006833b34986c295b62a7e47cd73297c3da78ca6072ef18ba502b6efdd6048dbdbbcd257 +1 -0
  12. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/8c/f8/d9f30e3e898c99e8c3157d4c9157dead1b1115ea4db50aced0c33713cd394bb770b182d1d5087c821d22b2abb99e288191ba9e30954ea4ed9ab6ff70d391 +1 -0
  13. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/8d/53/ad58764bc240411378ae1c47c0c20525da378a3b143795a11bc3fdbf6c9cde6fb2de6c3947d673d5872b9ce205d6274114b3b4dfd27609a636df7fd0b600 +1 -0
  14. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/8f/74/3ed29367f32f9c909f5898704561eb1ebe5cdabba507ba08cbeeaeecd274d020b1401ba871938be899025a265299f8be66c59d59b574a996a74b2987d98e +1 -0
  15. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/a1/ac/1dbcf215585477c3f70180cb40186b5119d9ad1d27b2e0dcde66034c950e334ce0577409535c29bb15d2e6c9238eb9e841177fc62d3949a58bbbb397238d +1 -0
  16. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/a3/08/068a7a29e9cc2385b62d4b0fc14b04a7f09ed469d9b79bb754e37d4933b0ab8aa171b286080e20a11e67f42b8558a4bda64aa03ca097001ecda5c25a9015 +1 -0
  17. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/ae/6c/352ab77e603fa53f25ab95cd6fd19a230095b212464689ab76c89db8d97bd0f221c27fbd84d0767fb5ce7e33f5feb175a9256ab35cf216d30dd3263b6b14 +1 -0
  18. package/.angular/cache/14.2.13/ng-packagr/content-v2/sha512/b6/38/eb8a1b6bd6265968335935cbc2763fbcbb9cd4e32dd58a5234bfd87379ee840044338eeae5f126da9936d21ed423071cfbca6748ee153235addf874824f7 +1 -0
  19. package/.angular/cache/14.2.13/ng-packagr/index-v5/01/3c/d4dca899e5bd80c43ed2e78ec79687adc272ff835d03f0ae48cb881ddd83 +2 -0
  20. package/.angular/cache/14.2.13/ng-packagr/index-v5/05/a7/da2d9625c1bc294409dbf750062e363a1abbe39b51177bfb7e5a9aa9ae81 +2 -0
  21. package/.angular/cache/14.2.13/ng-packagr/index-v5/08/f1/b2e705e45544df7c77f4238b558d569a1215422c2086df9140963f960eef +2 -0
  22. package/.angular/cache/14.2.13/ng-packagr/index-v5/21/1d/398c87beb2402502d4e706beedd98ea707f31b441d6aa7711eef62a0439b +2 -0
  23. package/.angular/cache/14.2.13/ng-packagr/index-v5/26/0b/ee2b1cad7f114e99f8d4da848bd6ceb4e849178b50723d9dcd10f39fb05c +2 -0
  24. package/.angular/cache/14.2.13/ng-packagr/index-v5/26/98/b8614f38ea6fefe80f96f06adb98d925eccfae9eec0937c645a42034614c +2 -0
  25. package/.angular/cache/14.2.13/ng-packagr/index-v5/64/4d/18a7b240783e7b3de33ad33724d2b43e8f3349e840ccab571ca3c6c51c00 +2 -0
  26. package/.angular/cache/14.2.13/ng-packagr/index-v5/64/70/77036e049a76cab5a64caa9cba4b603631c7e9e2f47e6c5fbc7f39d67a2f +2 -0
  27. package/.angular/cache/14.2.13/ng-packagr/index-v5/6c/5d/700bf777ddebfd9b8f15e2709674069747b6fcd37376049712828252ca92 +3 -0
  28. package/.angular/cache/14.2.13/ng-packagr/index-v5/71/89/4e4e3808e28a4a95a98391ab38f87f165ae234aefd4231092d1f531f56b3 +2 -0
  29. package/.angular/cache/14.2.13/ng-packagr/index-v5/7c/c2/bd7b21a07f8b1da7797f40df86dc4289416305c26464c6b965a336fd3975 +2 -0
  30. package/.angular/cache/14.2.13/ng-packagr/index-v5/85/64/cb2f22b4df13a70eb519564e382de3d7dd3747bc0cab1109017f8934cff8 +2 -0
  31. package/.angular/cache/14.2.13/ng-packagr/index-v5/96/b1/2730596477eee53fc70082999f48e373f6795e68d21e04234a45131added +2 -0
  32. package/.angular/cache/14.2.13/ng-packagr/index-v5/af/e4/165326aa8daa8e07ac9e02bde3d64a31b00d1b2b59a797a51a89456d2ad6 +2 -0
  33. package/.angular/cache/14.2.13/ng-packagr/index-v5/cd/96/32e83b96bce723e8ad58fdb7c43cf0002b3e0561309899e8b2a75204cbff +2 -0
  34. package/.angular/cache/14.2.13/ng-packagr/index-v5/dd/38/1f423a0e17cf4e99ef3c880daeb533cdce9275226cb2f617aed52e881e59 +2 -0
  35. package/.angular/cache/14.2.13/ng-packagr/index-v5/e4/e8/f48bdfbec024c932fd928e4db790b6454d090d4db31e9d69201a5e1ea466 +2 -0
  36. package/.angular/cache/14.2.13/ng-packagr/index-v5/ee/59/16a63690de125da5067876d4ccf122230175174f3489e48893448bcbdcd3 +2 -0
  37. package/.angular/cache/14.2.13/ng-packagr/index-v5/fd/46/71e9d6d1a123ed68ce03aa617dcaaad4ad9c5a9193f1281166766c453621 +3 -0
  38. package/.angulardoc.json +4 -0
  39. package/.editorconfig +15 -0
  40. package/.eslintrc.json +9 -0
  41. package/.gitmodules +3 -0
  42. package/angular.json +163 -0
  43. package/babel.config.js +11 -0
  44. package/jest.config.js +24 -0
  45. package/{app → package/app}/classes/actions-controller.d.ts +41 -41
  46. package/{app → package/app}/components/action-button/action-button.component.d.ts +9 -9
  47. package/{app → package/app}/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
  48. package/{app → package/app}/components/actions/actions.component.d.ts +13 -13
  49. package/{app → package/app}/components/filter/filter.component.d.ts +204 -204
  50. package/{app → package/app}/components/filter-chip/filter-chip.component.d.ts +26 -26
  51. package/{app → package/app}/components/filter-chip-content/filter-chip-content.component.d.ts +18 -18
  52. package/{app → package/app}/components/filter-chips/filter-chips.component.d.ts +9 -9
  53. package/{app → package/app}/components/filter-drawer/filter-drawer.component.d.ts +30 -30
  54. package/{app → package/app}/components/filter-drawer-actions/filter-drawer-actions.component.d.ts +15 -15
  55. package/{app → package/app}/components/filters-item/autocomplete/autocomplete.component.d.ts +14 -14
  56. package/{app → package/app}/components/filters-item/autocompletechips/autocompletechips.component.d.ts +16 -16
  57. package/{app → package/app}/components/filters-item/base-item/base-item.component.d.ts +25 -25
  58. package/{app → package/app}/components/filters-item/checkbox/checkbox.component.d.ts +11 -11
  59. package/{app → package/app}/components/filters-item/chips/chips.component.d.ts +13 -13
  60. package/{app → package/app}/components/filters-item/date/date.component.d.ts +20 -20
  61. package/{app → package/app}/components/filters-item/date-range/date-range.component.d.ts +15 -15
  62. package/{app → package/app}/components/filters-item/filter-item.component.d.ts +39 -39
  63. package/{app → package/app}/components/filters-item/range/range.component.d.ts +15 -15
  64. package/{app → package/app}/components/filters-item/select/backdrop/backdrop.component.d.ts +6 -6
  65. package/{app → package/app}/components/filters-item/select/groups/groups.component.d.ts +12 -12
  66. package/{app → package/app}/components/filters-item/select/multiple/multiple.component.d.ts +15 -15
  67. package/{app → package/app}/components/filters-item/select/select.component.d.ts +23 -23
  68. package/{app → package/app}/components/filters-item/select/simple/simple.component.d.ts +14 -14
  69. package/{app → package/app}/components/filters-item/text/text.component.d.ts +19 -19
  70. package/{app → package/app}/components/filters-item/week/week.component.d.ts +12 -12
  71. package/{app → package/app}/components/saved-filter/index.d.ts +3 -3
  72. package/{app → package/app}/components/saved-filter/saved-filter-edit/index.d.ts +1 -1
  73. package/{app → package/app}/components/saved-filter/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
  74. package/{app → package/app}/components/saved-filter/saved-filter-manage/index.d.ts +1 -1
  75. package/{app → package/app}/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +16 -16
  76. package/{app → package/app}/components/saved-filter/saved-filters-menu/index.d.ts +1 -1
  77. package/{app → package/app}/components/saved-filter/saved-filters-menu/saved-filters-menu.component.d.ts +23 -23
  78. package/{app → package/app}/consts/query-param-delimiter.d.ts +1 -1
  79. package/{app → package/app}/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
  80. package/{app → package/app}/directives/status-bar/status-bar.directive.d.ts +8 -8
  81. package/{app → package/app}/enums/action-mode.enum.d.ts +6 -6
  82. package/{app → package/app}/enums/action-type.enum.d.ts +9 -9
  83. package/{app → package/app}/enums/button-style.d.ts +9 -9
  84. package/{app → package/app}/enums/index.d.ts +6 -6
  85. package/{app → package/app}/enums/item-date-mode.enum.d.ts +5 -5
  86. package/{app → package/app}/enums/item-type.enum.d.ts +15 -15
  87. package/{app → package/app}/enums/picker-view-type.enum.d.ts +7 -7
  88. package/{app → package/app}/fs-filter.module.d.ts +70 -70
  89. package/{app → package/app}/helpers/build-query-params.d.ts +3 -3
  90. package/{app → package/app}/helpers/compare.d.ts +2 -2
  91. package/{app → package/app}/helpers/create-filter-item.d.ts +14 -14
  92. package/{app → package/app}/helpers/find-value.d.ts +1 -1
  93. package/{app → package/app}/helpers/get-range-name.d.ts +1 -1
  94. package/{app → package/app}/helpers/parse-date.d.ts +1 -1
  95. package/{app → package/app}/helpers/parse-item-value-from-stored.d.ts +1 -1
  96. package/{app → package/app}/helpers/query-param-transformers.d.ts +2 -2
  97. package/{app → package/app}/helpers/restore-items.d.ts +12 -12
  98. package/{app → package/app}/injectors/filter-config.d.ts +2 -2
  99. package/{app → package/app}/injectors/filter-drawer-data.d.ts +2 -2
  100. package/{app → package/app}/injectors/filter-drawer-overlay.d.ts +2 -2
  101. package/{app → package/app}/interfaces/action.interface.d.ts +81 -81
  102. package/{app → package/app}/interfaces/config.interface.d.ts +66 -66
  103. package/{app → package/app}/interfaces/external-params.interface.d.ts +3 -3
  104. package/{app → package/app}/interfaces/filter.interface.d.ts +4 -4
  105. package/{app → package/app}/interfaces/index.d.ts +6 -6
  106. package/{app → package/app}/interfaces/items/autocomplete-chips.interface.d.ts +15 -15
  107. package/{app → package/app}/interfaces/items/autocomplete.interface.d.ts +9 -9
  108. package/{app → package/app}/interfaces/items/base.interface.d.ts +29 -29
  109. package/{app → package/app}/interfaces/items/checkbox.interface.d.ts +7 -7
  110. package/{app → package/app}/interfaces/items/chips.interface.d.ts +6 -6
  111. package/{app → package/app}/interfaces/items/date-range.interface.d.ts +8 -8
  112. package/{app → package/app}/interfaces/items/date.interface.d.ts +7 -7
  113. package/{app → package/app}/interfaces/items/range.interface.d.ts +13 -13
  114. package/{app → package/app}/interfaces/items/select.interface.d.ts +20 -20
  115. package/{app → package/app}/interfaces/items/text.interface.d.ts +9 -9
  116. package/{app → package/app}/interfaces/items/week.interface.d.ts +7 -7
  117. package/{app → package/app}/interfaces/saved-filters.interface.d.ts +18 -18
  118. package/{app → package/app}/interfaces/update-filter-item.interface.d.ts +4 -4
  119. package/{app → package/app}/models/action-menu-item.model.d.ts +23 -23
  120. package/{app → package/app}/models/action.model.d.ts +54 -54
  121. package/{app → package/app}/models/filter-config.d.ts +31 -31
  122. package/{app → package/app}/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
  123. package/{app → package/app}/models/items/autocomplete-chips-item.d.ts +20 -20
  124. package/{app → package/app}/models/items/autocomplete-item.d.ts +11 -11
  125. package/{app → package/app}/models/items/base-item.d.ts +80 -80
  126. package/{app → package/app}/models/items/checkbox-item.d.ts +17 -17
  127. package/{app → package/app}/models/items/chips-item.d.ts +18 -18
  128. package/{app → package/app}/models/items/date/base-date-item.d.ts +14 -14
  129. package/{app → package/app}/models/items/date-item.d.ts +8 -8
  130. package/{app → package/app}/models/items/date-range/base-date-range-item.d.ts +21 -21
  131. package/{app → package/app}/models/items/date-range-item.d.ts +6 -6
  132. package/{app → package/app}/models/items/date-time-item.d.ts +7 -7
  133. package/{app → package/app}/models/items/date-time-range-item.d.ts +6 -6
  134. package/{app → package/app}/models/items/range-item.d.ts +23 -23
  135. package/{app → package/app}/models/items/select/base-select-item.d.ts +13 -13
  136. package/{app → package/app}/models/items/select/multiple-select-item.d.ts +14 -14
  137. package/{app → package/app}/models/items/select/simple-select-item.d.ts +14 -14
  138. package/{app → package/app}/models/items/select-item.d.ts +8 -8
  139. package/{app → package/app}/models/items/text-item.d.ts +15 -15
  140. package/{app → package/app}/models/items/week-item.d.ts +18 -18
  141. package/{app → package/app}/pipes/remove-isolate-value.pipe.d.ts +8 -8
  142. package/{app → package/app}/providers/filter-meta.d.ts +5 -5
  143. package/{app → package/app}/services/external-params/persistance-params-controller.service.d.ts +22 -22
  144. package/{app → package/app}/services/external-params/query-params-controller.service.d.ts +22 -22
  145. package/{app → package/app}/services/external-params/saved-filters-controller.service.d.ts +40 -40
  146. package/{app → package/app}/services/external-params-controller.service.d.ts +42 -42
  147. package/{app → package/app}/services/filter-overlay.service.d.ts +36 -36
  148. package/{app → package/app}/services/focus-controller.service.d.ts +18 -18
  149. package/{app → package/app}/services/items-store.service.d.ts +69 -68
  150. package/{esm2020 → package/esm2020}/app/classes/actions-controller.mjs +126 -126
  151. package/{esm2020 → package/esm2020}/app/components/action-button/action-button.component.mjs +21 -21
  152. package/{esm2020 → package/esm2020}/app/components/action-kebab-actions/action-kebab-actions.component.mjs +16 -16
  153. package/{esm2020 → package/esm2020}/app/components/actions/actions.component.mjs +41 -41
  154. package/{esm2020 → package/esm2020}/app/components/filter/filter.component.mjs +613 -613
  155. package/{esm2020 → package/esm2020}/app/components/filter-chip/filter-chip.component.mjs +85 -85
  156. package/{esm2020 → package/esm2020}/app/components/filter-chip-content/filter-chip-content.component.mjs +78 -78
  157. package/{esm2020 → package/esm2020}/app/components/filter-chips/filter-chips.component.mjs +18 -18
  158. package/{esm2020 → package/esm2020}/app/components/filter-drawer/filter-drawer.component.mjs +70 -70
  159. package/{esm2020 → package/esm2020}/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +40 -40
  160. package/{esm2020 → package/esm2020}/app/components/filters-item/autocomplete/autocomplete.component.mjs +26 -26
  161. package/{esm2020 → package/esm2020}/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +41 -41
  162. package/{esm2020 → package/esm2020}/app/components/filters-item/base-item/base-item.component.mjs +62 -62
  163. package/{esm2020 → package/esm2020}/app/components/filters-item/checkbox/checkbox.component.mjs +20 -20
  164. package/{esm2020 → package/esm2020}/app/components/filters-item/chips/chips.component.mjs +27 -27
  165. package/{esm2020 → package/esm2020}/app/components/filters-item/date/date.component.mjs +42 -42
  166. package/{esm2020 → package/esm2020}/app/components/filters-item/date-range/date-range.component.mjs +33 -33
  167. package/{esm2020 → package/esm2020}/app/components/filters-item/filter-item.component.mjs +79 -79
  168. package/{esm2020 → package/esm2020}/app/components/filters-item/range/range.component.mjs +44 -44
  169. package/{esm2020 → package/esm2020}/app/components/filters-item/select/backdrop/backdrop.component.mjs +11 -11
  170. package/{esm2020 → package/esm2020}/app/components/filters-item/select/groups/groups.component.mjs +29 -29
  171. package/{esm2020 → package/esm2020}/app/components/filters-item/select/multiple/multiple.component.mjs +56 -56
  172. package/{esm2020 → package/esm2020}/app/components/filters-item/select/select.component.mjs +50 -50
  173. package/{esm2020 → package/esm2020}/app/components/filters-item/select/simple/simple.component.mjs +42 -42
  174. package/package/esm2020/app/components/filters-item/text/text.component.mjs +49 -0
  175. package/{esm2020 → package/esm2020}/app/components/filters-item/week/week.component.mjs +24 -24
  176. package/{esm2020 → package/esm2020}/app/components/saved-filter/index.mjs +3 -3
  177. package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filter-edit/index.mjs +1 -1
  178. package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.mjs +49 -49
  179. package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filter-manage/index.mjs +1 -1
  180. package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +39 -39
  181. package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filters-menu/index.mjs +1 -1
  182. package/{esm2020 → package/esm2020}/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.mjs +51 -51
  183. package/{esm2020 → package/esm2020}/app/consts/query-param-delimiter.mjs +1 -1
  184. package/{esm2020 → package/esm2020}/app/directives/focus-to-item/focus-to-item.directive.mjs +129 -129
  185. package/{esm2020 → package/esm2020}/app/directives/status-bar/status-bar.directive.mjs +15 -15
  186. package/{esm2020 → package/esm2020}/app/enums/action-mode.enum.mjs +7 -7
  187. package/{esm2020 → package/esm2020}/app/enums/action-type.enum.mjs +11 -11
  188. package/{esm2020 → package/esm2020}/app/enums/button-style.mjs +10 -10
  189. package/{esm2020 → package/esm2020}/app/enums/index.mjs +6 -6
  190. package/{esm2020 → package/esm2020}/app/enums/item-date-mode.enum.mjs +6 -6
  191. package/{esm2020 → package/esm2020}/app/enums/item-type.enum.mjs +16 -16
  192. package/{esm2020 → package/esm2020}/app/enums/picker-view-type.enum.mjs +8 -8
  193. package/{esm2020 → package/esm2020}/app/fs-filter.module.mjs +261 -263
  194. package/{esm2020 → package/esm2020}/app/helpers/build-query-params.mjs +32 -32
  195. package/{esm2020 → package/esm2020}/app/helpers/compare.mjs +37 -37
  196. package/{esm2020 → package/esm2020}/app/helpers/create-filter-item.mjs +54 -54
  197. package/{esm2020 → package/esm2020}/app/helpers/find-value.mjs +12 -12
  198. package/{esm2020 → package/esm2020}/app/helpers/get-range-name.mjs +8 -8
  199. package/{esm2020 → package/esm2020}/app/helpers/parse-date.mjs +7 -7
  200. package/{esm2020 → package/esm2020}/app/helpers/parse-item-value-from-stored.mjs +80 -80
  201. package/{esm2020 → package/esm2020}/app/helpers/query-param-transformers.mjs +8 -8
  202. package/{esm2020 → package/esm2020}/app/helpers/restore-items.mjs +49 -49
  203. package/{esm2020 → package/esm2020}/app/injectors/filter-config.mjs +2 -2
  204. package/{esm2020 → package/esm2020}/app/injectors/filter-drawer-data.mjs +2 -2
  205. package/{esm2020 → package/esm2020}/app/injectors/filter-drawer-overlay.mjs +2 -2
  206. package/{esm2020 → package/esm2020}/app/interfaces/action.interface.mjs +1 -1
  207. package/{esm2020 → package/esm2020}/app/interfaces/config.interface.mjs +1 -1
  208. package/{esm2020 → package/esm2020}/app/interfaces/external-params.interface.mjs +1 -1
  209. package/{esm2020 → package/esm2020}/app/interfaces/filter.interface.mjs +1 -1
  210. package/{esm2020 → package/esm2020}/app/interfaces/index.mjs +6 -6
  211. package/{esm2020 → package/esm2020}/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
  212. package/{esm2020 → package/esm2020}/app/interfaces/items/autocomplete.interface.mjs +1 -1
  213. package/{esm2020 → package/esm2020}/app/interfaces/items/base.interface.mjs +1 -1
  214. package/{esm2020 → package/esm2020}/app/interfaces/items/checkbox.interface.mjs +1 -1
  215. package/{esm2020 → package/esm2020}/app/interfaces/items/chips.interface.mjs +1 -1
  216. package/{esm2020 → package/esm2020}/app/interfaces/items/date-range.interface.mjs +1 -1
  217. package/{esm2020 → package/esm2020}/app/interfaces/items/date.interface.mjs +1 -1
  218. package/{esm2020 → package/esm2020}/app/interfaces/items/range.interface.mjs +1 -1
  219. package/{esm2020 → package/esm2020}/app/interfaces/items/select.interface.mjs +1 -1
  220. package/{esm2020 → package/esm2020}/app/interfaces/items/text.interface.mjs +1 -1
  221. package/{esm2020 → package/esm2020}/app/interfaces/items/week.interface.mjs +1 -1
  222. package/{esm2020 → package/esm2020}/app/interfaces/saved-filters.interface.mjs +1 -1
  223. package/{esm2020 → package/esm2020}/app/interfaces/update-filter-item.interface.mjs +1 -1
  224. package/{esm2020 → package/esm2020}/app/models/action-menu-item.model.mjs +66 -66
  225. package/{esm2020 → package/esm2020}/app/models/action.model.mjs +129 -129
  226. package/{esm2020 → package/esm2020}/app/models/filter-config.mjs +66 -66
  227. package/{esm2020 → package/esm2020}/app/models/items/autocomplete/base-autocomplete-item.mjs +13 -13
  228. package/{esm2020 → package/esm2020}/app/models/items/autocomplete-chips-item.mjs +60 -60
  229. package/{esm2020 → package/esm2020}/app/models/items/autocomplete-item.mjs +32 -32
  230. package/{esm2020 → package/esm2020}/app/models/items/base-item.mjs +233 -233
  231. package/{esm2020 → package/esm2020}/app/models/items/checkbox-item.mjs +49 -49
  232. package/{esm2020 → package/esm2020}/app/models/items/chips-item.mjs +88 -88
  233. package/{esm2020 → package/esm2020}/app/models/items/date/base-date-item.mjs +47 -47
  234. package/{esm2020 → package/esm2020}/app/models/items/date-item.mjs +18 -18
  235. package/{esm2020 → package/esm2020}/app/models/items/date-range/base-date-range-item.mjs +134 -134
  236. package/{esm2020 → package/esm2020}/app/models/items/date-range-item.mjs +6 -6
  237. package/{esm2020 → package/esm2020}/app/models/items/date-time-item.mjs +9 -9
  238. package/{esm2020 → package/esm2020}/app/models/items/date-time-range-item.mjs +6 -6
  239. package/{esm2020 → package/esm2020}/app/models/items/range-item.mjs +82 -82
  240. package/{esm2020 → package/esm2020}/app/models/items/select/base-select-item.mjs +36 -36
  241. package/{esm2020 → package/esm2020}/app/models/items/select/multiple-select-item.mjs +87 -87
  242. package/{esm2020 → package/esm2020}/app/models/items/select/simple-select-item.mjs +65 -65
  243. package/{esm2020 → package/esm2020}/app/models/items/select-item.mjs +10 -10
  244. package/{esm2020 → package/esm2020}/app/models/items/text-item.mjs +33 -33
  245. package/{esm2020 → package/esm2020}/app/models/items/week-item.mjs +93 -93
  246. package/{esm2020 → package/esm2020}/app/pipes/remove-isolate-value.pipe.mjs +20 -20
  247. package/{esm2020 → package/esm2020}/app/providers/filter-meta.mjs +9 -9
  248. package/{esm2020 → package/esm2020}/app/services/external-params/persistance-params-controller.service.mjs +57 -57
  249. package/{esm2020 → package/esm2020}/app/services/external-params/query-params-controller.service.mjs +61 -61
  250. package/{esm2020 → package/esm2020}/app/services/external-params/saved-filters-controller.service.mjs +162 -162
  251. package/{esm2020 → package/esm2020}/app/services/external-params-controller.service.mjs +179 -162
  252. package/{esm2020 → package/esm2020}/app/services/filter-overlay.service.mjs +121 -121
  253. package/{esm2020 → package/esm2020}/app/services/focus-controller.service.mjs +29 -29
  254. package/package/esm2020/app/services/items-store.service.mjs +345 -0
  255. package/{esm2020 → package/esm2020}/firestitch-filter.mjs +4 -4
  256. package/{esm2020 → package/esm2020}/public_api.mjs +35 -35
  257. package/{fesm2015 → package/fesm2015}/firestitch-filter.mjs +4383 -4377
  258. package/package/fesm2015/firestitch-filter.mjs.map +1 -0
  259. package/{fesm2020 → package/fesm2020}/firestitch-filter.mjs +4372 -4354
  260. package/package/fesm2020/firestitch-filter.mjs.map +1 -0
  261. package/{firestitch-filter.d.ts → package/index.d.ts} +5 -5
  262. package/package/package.json +56 -0
  263. package/{public_api.d.ts → package/public_api.d.ts} +40 -40
  264. package/package/styles.scss +0 -0
  265. package/package.json +79 -22
  266. package/tsconfig.compodoc.json +12 -0
  267. package/tsconfig.json +10 -0
  268. package/tslint.json +8 -0
  269. package/esm2020/app/components/filters-item/text/text.component.mjs +0 -49
  270. package/esm2020/app/services/items-store.service.mjs +0 -342
  271. package/fesm2015/firestitch-filter.mjs.map +0 -1
  272. package/fesm2020/firestitch-filter.mjs.map +0 -1
  273. /package/{styles.scss → README.MD} +0 -0
@@ -1,17 +1,17 @@
1
- import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/material/button";
4
- import * as i2 from "@angular/material/icon";
5
- import * as i3 from "@firestitch/menu";
6
- import * as i4 from "@angular/common";
7
- export class FsFilterActionKebabActionsComponent {
8
- }
9
- FsFilterActionKebabActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterActionKebabActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- FsFilterActionKebabActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsFilterActionKebabActionsComponent, selector: "fs-filter-action-kebab-actions", inputs: { kebabActions: "kebabActions" }, ngImport: i0, template: "<button \n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n [fsMenuTriggerFor]=\"kebabActionsMenu\">\n <mat-icon>more_vert</mat-icon>\n</button>\n<fs-menu #kebabActionsMenu>\n <ng-container *ngFor=\"let action of kebabActions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <!-- Case when actions was collapsed from action with mode = 'menu'-->\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group>\n <ng-template fs-group-menu-item-template>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon> {{childAction.label}}\n </ng-template>\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template \n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template \n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon>{{ childAction.label }}\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template \n fs-menu-file-item\n [fsClass]=\"action.classArray\"\n [multiple]=\"action.multiple\"\n [accept]=\"action.accept || '*'\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (error)=\"action.fileError($event)\"\n (select)=\"action.fileSelected($event)\"\n (click)=\"action.click($event)\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-template \n fs-menu-item\n (click)=\"action.click($event)\"\n [fsClass]=\"action.classArray\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </ng-template>\n </ng-container>\n\n </ng-container>\n </ng-container>\n</fs-menu>\n", styles: [".menu-button{width:36px;height:36px;line-height:36px}\n"], components: [{ type: i1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }], directives: [{ type: i3.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { type: i3.FsGroupMenuItemTemplateDirective, selector: "[fs-group-menu-item-template]" }, { type: i3.FsMenuFileItemDirective, selector: "[fs-menu-file-item]", inputs: ["multiple", "accept", "minWidth", "minHeight", "imageWidth", "imageHeight"], outputs: ["select", "error"] }, { type: i4.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterActionKebabActionsComponent, decorators: [{
12
- type: Component,
13
- args: [{ selector: 'fs-filter-action-kebab-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button \n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n [fsMenuTriggerFor]=\"kebabActionsMenu\">\n <mat-icon>more_vert</mat-icon>\n</button>\n<fs-menu #kebabActionsMenu>\n <ng-container *ngFor=\"let action of kebabActions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <!-- Case when actions was collapsed from action with mode = 'menu'-->\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group>\n <ng-template fs-group-menu-item-template>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon> {{childAction.label}}\n </ng-template>\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template \n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template \n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon>{{ childAction.label }}\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template \n fs-menu-file-item\n [fsClass]=\"action.classArray\"\n [multiple]=\"action.multiple\"\n [accept]=\"action.accept || '*'\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (error)=\"action.fileError($event)\"\n (select)=\"action.fileSelected($event)\"\n (click)=\"action.click($event)\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-template \n fs-menu-item\n (click)=\"action.click($event)\"\n [fsClass]=\"action.classArray\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </ng-template>\n </ng-container>\n\n </ng-container>\n </ng-container>\n</fs-menu>\n", styles: [".menu-button{width:36px;height:36px;line-height:36px}\n"] }]
14
- }], propDecorators: { kebabActions: [{
15
- type: Input
16
- }] } });
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ import * as i2 from "@angular/material/icon";
5
+ import * as i3 from "@angular/material/button";
6
+ import * as i4 from "@firestitch/menu";
7
+ export class FsFilterActionKebabActionsComponent {
8
+ }
9
+ FsFilterActionKebabActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFilterActionKebabActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
+ FsFilterActionKebabActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FsFilterActionKebabActionsComponent, selector: "fs-filter-action-kebab-actions", inputs: { kebabActions: "kebabActions" }, ngImport: i0, template: "<button \n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n [fsMenuTriggerFor]=\"kebabActionsMenu\">\n <mat-icon>more_vert</mat-icon>\n</button>\n<fs-menu #kebabActionsMenu>\n <ng-container *ngFor=\"let action of kebabActions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <!-- Case when actions was collapsed from action with mode = 'menu'-->\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group>\n <ng-template fs-group-menu-item-template>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon> {{childAction.label}}\n </ng-template>\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template \n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template \n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon>{{ childAction.label }}\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template \n fs-menu-file-item\n [fsClass]=\"action.classArray\"\n [multiple]=\"action.multiple\"\n [accept]=\"action.accept || '*'\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (error)=\"action.fileError($event)\"\n (select)=\"action.fileSelected($event)\"\n (click)=\"action.click($event)\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-template \n fs-menu-item\n (click)=\"action.click($event)\"\n [fsClass]=\"action.classArray\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </ng-template>\n </ng-container>\n\n </ng-container>\n </ng-container>\n</fs-menu>\n", styles: [".menu-button{width:36px;height:36px;line-height:36px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i4.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "directive", type: i4.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { kind: "directive", type: i4.FsMenuFileItemDirective, selector: "[fs-menu-file-item]", inputs: ["multiple", "accept", "minWidth", "minHeight", "imageWidth", "imageHeight"], outputs: ["select", "error"] }, { kind: "directive", type: i4.FsGroupMenuItemTemplateDirective, selector: "[fs-group-menu-item-template]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFilterActionKebabActionsComponent, decorators: [{
12
+ type: Component,
13
+ args: [{ selector: 'fs-filter-action-kebab-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button \n type=\"button\"\n mat-icon-button\n class=\"menu-button\"\n [fsMenuTriggerFor]=\"kebabActionsMenu\">\n <mat-icon>more_vert</mat-icon>\n</button>\n<fs-menu #kebabActionsMenu>\n <ng-container *ngFor=\"let action of kebabActions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <!-- Case when actions was collapsed from action with mode = 'menu'-->\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group>\n <ng-template fs-group-menu-item-template>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon> {{childAction.label}}\n </ng-template>\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template \n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"!(subAction.visible$ | async)\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template \n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"!(childAction.visible$ | async)\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{ action.label }} <mat-icon style=\"margin: 0;\">arrow_right</mat-icon>{{ childAction.label }}\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template \n fs-menu-file-item\n [fsClass]=\"action.classArray\"\n [multiple]=\"action.multiple\"\n [accept]=\"action.accept || '*'\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (error)=\"action.fileError($event)\"\n (select)=\"action.fileSelected($event)\"\n (click)=\"action.click($event)\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </ng-template>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <ng-template \n fs-menu-item\n (click)=\"action.click($event)\"\n [fsClass]=\"action.classArray\">\n <mat-icon *ngIf=\"action.icon\">{{action.icon}}</mat-icon> {{action.label}}\n </ng-template>\n </ng-container>\n\n </ng-container>\n </ng-container>\n</fs-menu>\n", styles: [".menu-button{width:36px;height:36px;line-height:36px}\n"] }]
14
+ }], propDecorators: { kebabActions: [{
15
+ type: Input
16
+ }] } });
17
17
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWtlYmFiLWFjdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FjdGlvbi1rZWJhYi1hY3Rpb25zL2FjdGlvbi1rZWJhYi1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY3Rpb24ta2ViYWItYWN0aW9ucy9hY3Rpb24ta2ViYWItYWN0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBVTFFLE1BQU0sT0FBTyxtQ0FBbUM7O2dJQUFuQyxtQ0FBbUM7b0hBQW5DLG1DQUFtQyxnSENWaEQscWxHQTBFQTsyRkRoRWEsbUNBQW1DO2tCQU4vQyxTQUFTOytCQUNFLGdDQUFnQyxtQkFHekIsdUJBQXVCLENBQUMsTUFBTTs4QkFLeEMsWUFBWTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWN0aW9uLm1vZGVsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1maWx0ZXItYWN0aW9uLWtlYmFiLWFjdGlvbnMnLFxuICBzdHlsZVVybHM6IFsnLi9hY3Rpb24ta2ViYWItYWN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWtlYmFiLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJBY3Rpb25LZWJhYkFjdGlvbnNDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBrZWJhYkFjdGlvbnM6IEFjdGlvbltdO1xuXG59XG4iLCI8YnV0dG9uIFxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIG1hdC1pY29uLWJ1dHRvblxuICAgIGNsYXNzPVwibWVudS1idXR0b25cIlxuICAgIFtmc01lbnVUcmlnZ2VyRm9yXT1cImtlYmFiQWN0aW9uc01lbnVcIj5cbiAgPG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+XG48L2J1dHRvbj5cbjxmcy1tZW51ICNrZWJhYkFjdGlvbnNNZW51PlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2Yga2ViYWJBY3Rpb25zXCI+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYWN0aW9uLm1vZGVcIj5cbiAgICAgIDwhLS0gQ2FzZSB3aGVuIGFjdGlvbnMgd2FzIGNvbGxhcHNlZCBmcm9tIGFjdGlvbiB3aXRoIG1vZGUgPSAnbWVudSctLT5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtZW51J1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZEFjdGlvbiBvZiBhY3Rpb24uaXRlbXNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2hpbGRBY3Rpb24uaXNHcm91cCBlbHNlIHNpbXBsZU1lbnVJdGVtXCI+XG4gICAgICAgICAgICA8ZnMtbWVudS1ncm91cD5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGZzLWdyb3VwLW1lbnUtaXRlbS10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICB7eyBhY3Rpb24ubGFiZWwgfX0gPG1hdC1pY29uIHN0eWxlPVwibWFyZ2luOiAwO1wiPmFycm93X3JpZ2h0PC9tYXQtaWNvbj4ge3tjaGlsZEFjdGlvbi5sYWJlbH19XG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YkFjdGlvbiBvZiBjaGlsZEFjdGlvbi5pdGVtc1wiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBcbiAgICAgICAgICAgICAgICAgICAgZnMtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICAgIFtsaW5rXT1cInN1YkFjdGlvbi5yb3V0ZXJMaW5rPy5saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cInN1YkFjdGlvbi5yb3V0ZXJMaW5rPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgICAgICAgICAgICAgIFtoaWRkZW5dPVwiIShzdWJBY3Rpb24udmlzaWJsZSQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic3ViQWN0aW9uLmNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInN1YkFjdGlvbi5pY29uXCI+e3tzdWJBY3Rpb24uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgIHt7c3ViQWN0aW9uLmxhYmVsfX1cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZnMtbWVudS1ncm91cD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3NpbXBsZU1lbnVJdGVtPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFxuICAgICAgICAgICAgICAgIGZzLW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgIFtsaW5rXT1cImNoaWxkQWN0aW9uLnJvdXRlckxpbms/LmxpbmtcIlxuICAgICAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJjaGlsZEFjdGlvbi5yb3V0ZXJMaW5rPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgICAgICAgICAgW2hpZGRlbl09XCIhKGNoaWxkQWN0aW9uLnZpc2libGUkIHwgYXN5bmMpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hpbGRBY3Rpb24uY2xpY2soJGV2ZW50KTtcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiY2hpbGRBY3Rpb24uaWNvblwiPnt7Y2hpbGRBY3Rpb24uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICB7eyBhY3Rpb24ubGFiZWwgfX0gPG1hdC1pY29uIHN0eWxlPVwibWFyZ2luOiAwO1wiPmFycm93X3JpZ2h0PC9tYXQtaWNvbj57eyBjaGlsZEFjdGlvbi5sYWJlbCB9fVxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInZmlsZSdcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFxuICAgICAgICAgICAgZnMtbWVudS1maWxlLWl0ZW1cbiAgICAgICAgICAgIFtmc0NsYXNzXT1cImFjdGlvbi5jbGFzc0FycmF5XCJcbiAgICAgICAgICAgIFttdWx0aXBsZV09XCJhY3Rpb24ubXVsdGlwbGVcIlxuICAgICAgICAgICAgW2FjY2VwdF09XCJhY3Rpb24uYWNjZXB0IHx8ICcqJ1wiXG4gICAgICAgICAgICBbbWluV2lkdGhdPVwiYWN0aW9uLm1pbldpZHRoXCJcbiAgICAgICAgICAgIFttaW5IZWlnaHRdPVwiYWN0aW9uLm1pbkhlaWdodFwiXG4gICAgICAgICAgICBbaW1hZ2VXaWR0aF09XCJhY3Rpb24ubWF4V2lkdGhcIlxuICAgICAgICAgICAgW2ltYWdlSGVpZ2h0XT1cImFjdGlvbi5tYXhIZWlnaHRcIlxuICAgICAgICAgICAgKGVycm9yKT1cImFjdGlvbi5maWxlRXJyb3IoJGV2ZW50KVwiXG4gICAgICAgICAgICAoc2VsZWN0KT1cImFjdGlvbi5maWxlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmNsaWNrKCRldmVudClcIj5cbiAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJhY3Rpb24uaWNvblwiPnt7YWN0aW9uLmljb259fTwvbWF0LWljb24+IHt7YWN0aW9uLmxhYmVsfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBcbiAgICAgICAgICAgIGZzLW1lbnUtaXRlbVxuICAgICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5jbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIFtmc0NsYXNzXT1cImFjdGlvbi5jbGFzc0FycmF5XCI+XG4gICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiYWN0aW9uLmljb25cIj57e2FjdGlvbi5pY29ufX08L21hdC1pY29uPiB7e2FjdGlvbi5sYWJlbH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZnMtbWVudT5cbiJdfQ==
@@ -1,42 +1,42 @@
1
- import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
- import { ActionMode, ActionType } from '../../enums';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../action-button/action-button.component";
5
- import * as i2 from "@firestitch/menu";
6
- import * as i3 from "@angular/material/icon";
7
- import * as i4 from "@angular/material/select";
8
- import * as i5 from "@angular/material/core";
9
- import * as i6 from "@firestitch/file";
10
- import * as i7 from "../action-kebab-actions/action-kebab-actions.component";
11
- import * as i8 from "@angular/common";
12
- import * as i9 from "@firestitch/popover";
13
- import * as i10 from "@firestitch/selectbutton";
14
- import * as i11 from "@angular/forms";
15
- import * as i12 from "@firestitch/form";
16
- export class FsFilterActionsComponent {
17
- constructor() {
18
- this.kebabActions = [];
19
- this.actions = [];
20
- this.ActionType = ActionType;
21
- this.ActionMode = ActionMode;
22
- }
23
- actionChange(action, value, selectButton) {
24
- if (action.change) {
25
- action.change(value);
26
- if (action.deselect) {
27
- selectButton.writeValue(null);
28
- }
29
- }
30
- }
31
- }
32
- FsFilterActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
- FsFilterActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: { kebabActions: "kebabActions", actions: "actions" }, ngImport: i0, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n\n <fs-menu #someRef class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"(childAction.visible$ | async) === false\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select \n class=\"action\"\n [ngClass]=\"{ \n 'mat-stroked-button': action.type === ActionType.Stroked,\n 'mat-raised-button': action.type === ActionType.Raised,\n 'mat-flat-button': action.type === ActionType.Flat,\n 'mat-basic-button': action.type === ActionType.Basic\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\" \n (ngModelChange)=\"actionChange(action, $event, selectButton)\"\n fsSelectButton\n #selectButton\n [deselectOnChange]=\"false\">\n <mat-option \n *ngFor=\"let item of action.values\" \n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button \n [action]=\"action\">\n </fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions\n [kebabActions]=\"kebabActions\">\n </fs-filter-action-kebab-actions>\n</ng-container>\n", styles: [":host{display:inline-flex}.action-button{display:block}.action+.action{margin-left:5px}.menu-button{width:36px;height:36px;line-height:36px}\n"], components: [{ type: i1.FsFilterActionButtonComponent, selector: "fs-filter-action-button", inputs: ["action"] }, { type: i2.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i6.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "orientate", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "selectPreviews", "error", "clicked", "declined"] }, { type: i7.FsFilterActionKebabActionsComponent, selector: "fs-filter-action-kebab-actions", inputs: ["kebabActions"] }], directives: [{ type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i9.FsPopoverDirective, selector: "[fsPopover]", inputs: ["text", "template", "data", "leaveDelay", "showDelay", "maxWidth", "wrapperClass", "autoShow", "autoClose", "loadingDiameter", "loading", "indication", "position", "theme", "size", "trigger", "enabled"] }, { type: i2.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { type: i10.FsSelectButtonDirective, selector: "[fsSelectButton]", inputs: ["color", "width", "buttonType", "deselectOnChange"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i12.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }], pipes: { "async": i8.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterActionsComponent, decorators: [{
35
- type: Component,
36
- args: [{ selector: 'fs-filter-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n\n <fs-menu #someRef class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"(childAction.visible$ | async) === false\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select \n class=\"action\"\n [ngClass]=\"{ \n 'mat-stroked-button': action.type === ActionType.Stroked,\n 'mat-raised-button': action.type === ActionType.Raised,\n 'mat-flat-button': action.type === ActionType.Flat,\n 'mat-basic-button': action.type === ActionType.Basic\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\" \n (ngModelChange)=\"actionChange(action, $event, selectButton)\"\n fsSelectButton\n #selectButton\n [deselectOnChange]=\"false\">\n <mat-option \n *ngFor=\"let item of action.values\" \n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button \n [action]=\"action\">\n </fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions\n [kebabActions]=\"kebabActions\">\n </fs-filter-action-kebab-actions>\n</ng-container>\n", styles: [":host{display:inline-flex}.action-button{display:block}.action+.action{margin-left:5px}.menu-button{width:36px;height:36px;line-height:36px}\n"] }]
37
- }], propDecorators: { kebabActions: [{
38
- type: Input
39
- }], actions: [{
40
- type: Input
41
- }] } });
1
+ import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
+ import { ActionMode, ActionType } from '../../enums';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "@angular/material/icon";
7
+ import * as i4 from "@angular/material/select";
8
+ import * as i5 from "@angular/material/core";
9
+ import * as i6 from "@firestitch/menu";
10
+ import * as i7 from "@firestitch/form";
11
+ import * as i8 from "@firestitch/file";
12
+ import * as i9 from "@firestitch/selectbutton";
13
+ import * as i10 from "@firestitch/popover";
14
+ import * as i11 from "../action-button/action-button.component";
15
+ import * as i12 from "../action-kebab-actions/action-kebab-actions.component";
16
+ export class FsFilterActionsComponent {
17
+ constructor() {
18
+ this.kebabActions = [];
19
+ this.actions = [];
20
+ this.ActionType = ActionType;
21
+ this.ActionMode = ActionMode;
22
+ }
23
+ actionChange(action, value, selectButton) {
24
+ if (action.change) {
25
+ action.change(value);
26
+ if (action.deselect) {
27
+ selectButton.writeValue(null);
28
+ }
29
+ }
30
+ }
31
+ }
32
+ FsFilterActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFilterActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
33
+ FsFilterActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: { kebabActions: "kebabActions", actions: "actions" }, ngImport: i0, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n\n <fs-menu #someRef class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"(childAction.visible$ | async) === false\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select \n class=\"action\"\n [ngClass]=\"{ \n 'mat-stroked-button': action.type === ActionType.Stroked,\n 'mat-raised-button': action.type === ActionType.Raised,\n 'mat-flat-button': action.type === ActionType.Flat,\n 'mat-basic-button': action.type === ActionType.Basic\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\" \n (ngModelChange)=\"actionChange(action, $event, selectButton)\"\n fsSelectButton\n #selectButton\n [deselectOnChange]=\"false\">\n <mat-option \n *ngFor=\"let item of action.values\" \n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button \n [action]=\"action\">\n </fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions\n [kebabActions]=\"kebabActions\">\n </fs-filter-action-kebab-actions>\n</ng-container>\n", styles: [":host{display:inline-flex}.action-button{display:block}.action+.action{margin-left:5px}.menu-button{width:36px;height:36px;line-height:36px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i6.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "directive", type: i6.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { kind: "directive", type: i7.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "component", type: i8.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "orientate", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "selectPreviews", "error", "clicked", "declined"] }, { kind: "directive", type: i9.FsSelectButtonDirective, selector: "[fsSelectButton]", inputs: ["color", "width", "buttonType", "deselectOnChange"] }, { kind: "directive", type: i10.FsPopoverDirective, selector: "[fsPopover]", inputs: ["text", "template", "data", "leaveDelay", "showDelay", "maxWidth", "wrapperClass", "autoShow", "autoClose", "loadingDiameter", "loading", "indication", "position", "theme", "size", "trigger", "enabled"] }, { kind: "component", type: i11.FsFilterActionButtonComponent, selector: "fs-filter-action-button", inputs: ["action"] }, { kind: "component", type: i12.FsFilterActionKebabActionsComponent, selector: "fs-filter-action-kebab-actions", inputs: ["kebabActions"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFilterActionsComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'fs-filter-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n\n <fs-menu #someRef class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"subAction.click($event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"(childAction.visible$ | async) === false\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select \n class=\"action\"\n [ngClass]=\"{ \n 'mat-stroked-button': action.type === ActionType.Stroked,\n 'mat-raised-button': action.type === ActionType.Raised,\n 'mat-flat-button': action.type === ActionType.Flat,\n 'mat-basic-button': action.type === ActionType.Basic\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\" \n (ngModelChange)=\"actionChange(action, $event, selectButton)\"\n fsSelectButton\n #selectButton\n [deselectOnChange]=\"false\">\n <mat-option \n *ngFor=\"let item of action.values\" \n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button \n [action]=\"action\">\n </fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions\n [kebabActions]=\"kebabActions\">\n </fs-filter-action-kebab-actions>\n</ng-container>\n", styles: [":host{display:inline-flex}.action-button{display:block}.action+.action{margin-left:5px}.menu-button{width:36px;height:36px;line-height:36px}\n"] }]
37
+ }], propDecorators: { kebabActions: [{
38
+ type: Input
39
+ }], actions: [{
40
+ type: Input
41
+ }] } });
42
42
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYWN0aW9ucy9hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9hY3Rpb25zL2FjdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVVyRCxNQUFNLE9BQU8sd0JBQXdCO0lBTnJDO1FBU1MsaUJBQVksR0FBYSxFQUFFLENBQUM7UUFHNUIsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUV2QixlQUFVLEdBQUcsVUFBVSxDQUFDO1FBQ3hCLGVBQVUsR0FBRyxVQUFVLENBQUM7S0FZaEM7SUFWUSxZQUFZLENBQUMsTUFBYyxFQUFFLEtBQVUsRUFBRSxZQUF1QjtRQUNyRSxJQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUVyQixJQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQ2xCLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0I7U0FDRjtJQUNILENBQUM7O3FIQW5CVSx3QkFBd0I7eUdBQXhCLHdCQUF3Qix1SENsQnJDLHE4SEF3R0E7MkZEdEZhLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTs4QkFLeEMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE1hdFNlbGVjdCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5cbmltcG9ydCB7IEFjdGlvbk1vZGUsIEFjdGlvblR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvYWN0aW9uLm1vZGVsJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1maWx0ZXItYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aW9ucy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJBY3Rpb25zQ29tcG9uZW50IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMga2ViYWJBY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xuXG4gIHB1YmxpYyBBY3Rpb25UeXBlID0gQWN0aW9uVHlwZTtcbiAgcHVibGljIEFjdGlvbk1vZGUgPSBBY3Rpb25Nb2RlO1xuXG4gIHB1YmxpYyBhY3Rpb25DaGFuZ2UoYWN0aW9uOiBBY3Rpb24sIHZhbHVlOiBhbnksIHNlbGVjdEJ1dHRvbjogTWF0U2VsZWN0KTogdm9pZCB7XG4gICAgaWYoYWN0aW9uLmNoYW5nZSkge1xuICAgICAgYWN0aW9uLmNoYW5nZSh2YWx1ZSk7ICAgICAgXG5cbiAgICAgIGlmKGFjdGlvbi5kZXNlbGVjdCkge1xuICAgICAgICBzZWxlY3RCdXR0b24ud3JpdGVWYWx1ZShudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGFjdGlvbnNcIj5cbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYWN0aW9uLm1vZGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJBY3Rpb25Nb2RlLkJ1dHRvblwiPlxuICAgICAgPGZzLWZpbHRlci1hY3Rpb24tYnV0dG9uXG4gICAgICAgIFthY3Rpb25dPVwiYWN0aW9uXCJcbiAgICAgICAgY2xhc3M9XCJhY3Rpb25cIlxuICAgICAgICBmc1BvcG92ZXJcbiAgICAgICAgW2VuYWJsZWRdPVwiISFhY3Rpb24udG9vbHRpcFwiXG4gICAgICAgIFt0ZXh0XT1cImFjdGlvbi50b29sdGlwXCI+XG4gICAgICA8L2ZzLWZpbHRlci1hY3Rpb24tYnV0dG9uPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQWN0aW9uTW9kZS5NZW51XCI+XG4gICAgICA8ZnMtZmlsdGVyLWFjdGlvbi1idXR0b25cbiAgICAgICAgY2xhc3M9XCJhY3Rpb25cIlxuICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiXG4gICAgICAgIFtmc01lbnVUcmlnZ2VyRm9yXT1cInNvbWVSZWZcIlxuICAgICAgICBmc1BvcG92ZXJcbiAgICAgICAgW2VuYWJsZWRdPVwiISFhY3Rpb24udG9vbHRpcFwiXG4gICAgICAgIFt0ZXh0XT1cImFjdGlvbi50b29sdGlwXCI+XG4gICAgICA8L2ZzLWZpbHRlci1hY3Rpb24tYnV0dG9uPlxuXG4gICAgICA8ZnMtbWVudSAjc29tZVJlZiBjbGFzcz1cImFjdGlvblwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZEFjdGlvbiBvZiBhY3Rpb24uaXRlbXNcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2hpbGRBY3Rpb24uaXNHcm91cCBlbHNlIHNpbXBsZU1lbnVJdGVtXCI+XG4gICAgICAgICAgICA8ZnMtbWVudS1ncm91cCBbbGFiZWxdPVwiY2hpbGRBY3Rpb24ubGFiZWxcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc3ViQWN0aW9uIG9mIGNoaWxkQWN0aW9uLml0ZW1zXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgIGZzLW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgICAgICBbbGlua109XCJzdWJBY3Rpb24ucm91dGVyTGluaz8ubGlua1wiXG4gICAgICAgICAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJzdWJBY3Rpb24ucm91dGVyTGluaz8ucXVlcnlQYXJhbXNcIlxuICAgICAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIihzdWJBY3Rpb24udmlzaWJsZSQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInN1YkFjdGlvbi5jbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJzdWJBY3Rpb24uaWNvblwiPnt7c3ViQWN0aW9uLmljb259fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICB7e3N1YkFjdGlvbi5sYWJlbH19XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2ZzLW1lbnUtZ3JvdXA+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNzaW1wbGVNZW51SXRlbT5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgIGZzLW1lbnUtaXRlbVxuICAgICAgICAgICAgICAgIFtsaW5rXT1cImNoaWxkQWN0aW9uLnJvdXRlckxpbms/LmxpbmtcIlxuICAgICAgICAgICAgICAgIFtxdWVyeVBhcmFtc109XCJjaGlsZEFjdGlvbi5yb3V0ZXJMaW5rPy5xdWVyeVBhcmFtc1wiXG4gICAgICAgICAgICAgICAgW2hpZGRlbl09XCIoY2hpbGRBY3Rpb24udmlzaWJsZSQgfCBhc3luYykgPT09IGZhbHNlXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2hpbGRBY3Rpb24uY2xpY2soJGV2ZW50KTtcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwiY2hpbGRBY3Rpb24uaWNvblwiPnt7Y2hpbGRBY3Rpb24uaWNvbn19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAge3tjaGlsZEFjdGlvbi5sYWJlbH19XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9mcy1tZW51PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiQWN0aW9uTW9kZS5TZWxlY3RCdXR0b25cIj5cbiAgICAgIDxtYXQtc2VsZWN0IFxuICAgICAgICAgIGNsYXNzPVwiYWN0aW9uXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7IFxuICAgICAgICAgICAgJ21hdC1zdHJva2VkLWJ1dHRvbic6IGFjdGlvbi50eXBlID09PSBBY3Rpb25UeXBlLlN0cm9rZWQsXG4gICAgICAgICAgICAnbWF0LXJhaXNlZC1idXR0b24nOiBhY3Rpb24udHlwZSA9PT0gQWN0aW9uVHlwZS5SYWlzZWQsXG4gICAgICAgICAgICAnbWF0LWZsYXQtYnV0dG9uJzogYWN0aW9uLnR5cGUgPT09IEFjdGlvblR5cGUuRmxhdCxcbiAgICAgICAgICAgICdtYXQtYmFzaWMtYnV0dG9uJzogYWN0aW9uLnR5cGUgPT09IEFjdGlvblR5cGUuQmFzaWNcbiAgICAgICAgICB9XCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiYWN0aW9uLmxhYmVsXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImFjdGlvbi52YWx1ZVwiIFxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImFjdGlvbkNoYW5nZShhY3Rpb24sICRldmVudCwgc2VsZWN0QnV0dG9uKVwiXG4gICAgICAgICAgZnNTZWxlY3RCdXR0b25cbiAgICAgICAgICAjc2VsZWN0QnV0dG9uXG4gICAgICAgICAgW2Rlc2VsZWN0T25DaGFuZ2VdPVwiZmFsc2VcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBhY3Rpb24udmFsdWVzXCIgXG4gICAgICAgICAgICBbdmFsdWVdPVwiaXRlbS52YWx1ZVwiPlxuICAgICAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICA8L21hdC1zZWxlY3Q+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJBY3Rpb25Nb2RlLkZpbGVcIj5cbiAgICAgIDxmcy1maWxlXG4gICAgICAgICAgY2xhc3M9XCJhY3Rpb24gYWN0aW9uLWJ1dHRvblwiXG4gICAgICAgICAgW2FjY2VwdF09XCJhY3Rpb24uYWNjZXB0IHx8ICcqJ1wiXG4gICAgICAgICAgW211bHRpcGxlXT1cImFjdGlvbi5tdWx0aXBsZVwiXG4gICAgICAgICAgW21pbldpZHRoXT1cImFjdGlvbi5taW5XaWR0aFwiXG4gICAgICAgICAgW21pbkhlaWdodF09XCJhY3Rpb24ubWluSGVpZ2h0XCJcbiAgICAgICAgICBbaW1hZ2VXaWR0aF09XCJhY3Rpb24ubWF4V2lkdGhcIlxuICAgICAgICAgIFtpbWFnZUhlaWdodF09XCJhY3Rpb24ubWF4SGVpZ2h0XCJcbiAgICAgICAgICAoc2VsZWN0KT1cImFjdGlvbi5maWxlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgKGVycm9yKT1cImFjdGlvbi5maWxlRXJyb3IoJGV2ZW50KVwiXG4gICAgICAgICAgKGNsaWNrZWQpPVwiYWN0aW9uLmNsaWNrKCRldmVudClcIlxuICAgICAgICAgIGZzUG9wb3ZlclxuICAgICAgICAgIFtlbmFibGVkXT1cIiEhYWN0aW9uLnRvb2x0aXBcIlxuICAgICAgICAgIFt0ZXh0XT1cImFjdGlvbi50b29sdGlwXCI+XG4gICAgICAgIDxmcy1maWx0ZXItYWN0aW9uLWJ1dHRvbiBcbiAgICAgICAgICBbYWN0aW9uXT1cImFjdGlvblwiPlxuICAgICAgICA8L2ZzLWZpbHRlci1hY3Rpb24tYnV0dG9uPlxuICAgICAgPC9mcy1maWxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImtlYmFiQWN0aW9ucz8ubGVuZ3RoXCI+XG4gIDxmcy1maWx0ZXItYWN0aW9uLWtlYmFiLWFjdGlvbnNcbiAgICBba2ViYWJBY3Rpb25zXT1cImtlYmFiQWN0aW9uc1wiPlxuICA8L2ZzLWZpbHRlci1hY3Rpb24ta2ViYWItYWN0aW9ucz5cbjwvbmctY29udGFpbmVyPlxuIl19