@flywheel-io/vision 2.0.0-beta-4 → 2.0.0-beta.10

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 (264) hide show
  1. package/assets/fonts/Flywheel-Vision-Icons.svg +26 -0
  2. package/assets/fonts/Flywheel-Vision-Icons.ttf +0 -0
  3. package/assets/fonts/Flywheel-Vision-Icons.woff +0 -0
  4. package/assets/svg/arrow-redo.svg +4 -0
  5. package/assets/svg/arrow-undo.svg +4 -0
  6. package/assets/svg/arrow-up-high-priority.svg +6 -0
  7. package/assets/svg/arrow-up-low-priority.svg +6 -0
  8. package/assets/svg/certificate.svg +4 -0
  9. package/assets/svg/check-mark-certificate.svg +4 -0
  10. package/assets/svg/document-file-checkmark-bottom-left.svg +4 -0
  11. package/assets/svg/folders-copy-expand-arrow-down.svg +6 -0
  12. package/assets/svg/folders-copy-expand-arrow-up.svg +6 -0
  13. package/assets/svg/monitor-computer.svg +4 -0
  14. package/assets/svg/server-databases-checkmark-user.svg +4 -0
  15. package/assets/svg/stop-minus.svg +4 -0
  16. package/assets/svg/user-profile-cards-pool.svg +4 -0
  17. package/components/alert/alert.component.d.ts +1 -1
  18. package/components/app-icon/app-icon.component.d.ts +1 -1
  19. package/components/avatar/avatar.component.d.ts +1 -1
  20. package/components/badge/badge.component.d.ts +1 -1
  21. package/components/breadcrumbs/crumb.component.d.ts +1 -1
  22. package/components/button/button.component.d.ts +1 -1
  23. package/components/button-group/button-group.component.d.ts +1 -1
  24. package/components/button-toggle/button-toggle-item/button-toggle-item.component.d.ts +1 -1
  25. package/components/button-toggle/button-toggle.component.d.ts +2 -1
  26. package/components/card/card-attribute/card-attribute.component.d.ts +1 -1
  27. package/components/card/card-author/card-author.component.d.ts +1 -1
  28. package/components/card/card-header/card-header.component.d.ts +1 -1
  29. package/components/card/card.component.d.ts +1 -1
  30. package/components/checkbox/checkbox.component.d.ts +1 -1
  31. package/components/chip/chip.component.d.ts +1 -1
  32. package/components/contained-input/contained-input.component.d.ts +1 -1
  33. package/components/date-input/date-input.component.d.ts +1 -1
  34. package/components/dialog/dialog-confirm.component.d.ts +1 -1
  35. package/components/dialog/dialog-content.component.d.ts +1 -1
  36. package/components/dialog/dialog-simple.component.d.ts +1 -1
  37. package/components/dialog/dialog.component.d.ts +1 -1
  38. package/components/form-heading/form-heading.component.d.ts +1 -1
  39. package/components/icon/icon.component.d.ts +1 -1
  40. package/components/icon/icon.types.d.ts +2 -2
  41. package/components/icon-button/icon-button.component.d.ts +1 -1
  42. package/components/layouts/context/context.component.d.ts +1 -1
  43. package/components/layouts/grid/grid.component.d.ts +1 -1
  44. package/components/layouts/layout-group.component.d.ts +1 -1
  45. package/components/layouts/panel/panel.component.d.ts +1 -1
  46. package/components/layouts/sidebar/sidebar.component.d.ts +1 -1
  47. package/components/layouts/toolbar/toolbar.component.d.ts +1 -1
  48. package/components/menu/menu-container/menu-container.component.d.ts +1 -1
  49. package/components/menu/menu-item/menu-item.component.d.ts +1 -1
  50. package/components/menu/menu-item-group/menu-item-group.component.d.ts +1 -1
  51. package/components/menu/menu-sub-item/menu-sub-item.component.d.ts +1 -1
  52. package/components/menu/menu.component.d.ts +1 -1
  53. package/components/navbar/navbar-item/navbar-item.component.d.ts +1 -1
  54. package/components/navbar/navbar-sub-item/navbar-sub-item.component.d.ts +1 -1
  55. package/components/navbar/navbar.component.d.ts +1 -1
  56. package/components/number-input/number-input.component.d.ts +1 -1
  57. package/components/paginator/paginator-advanced/paginator-advanced.component.d.ts +1 -1
  58. package/components/paginator/paginator.component.d.ts +1 -1
  59. package/components/phone-input/phone-input.component.d.ts +1 -1
  60. package/components/phone-input/phone-input.model.d.ts +1 -1
  61. package/components/popover/popover-panel/popover-panel.component.d.ts +1 -1
  62. package/components/popover/popover.component.d.ts +1 -1
  63. package/components/progress/bar/bar.component.d.ts +1 -1
  64. package/components/progress/spinner/spinner.component.d.ts +1 -1
  65. package/components/radio/radio-group.component.d.ts +1 -1
  66. package/components/radio/radio.component.d.ts +1 -1
  67. package/components/section-heading/back-button/back-button.component.d.ts +1 -1
  68. package/components/section-heading/section-heading.component.d.ts +1 -1
  69. package/components/section-heading/subsection-heading/subsection-heading.component.d.ts +1 -1
  70. package/components/select-menu/multi-select-menu/multi-select-menu.component.d.ts +5 -4
  71. package/components/select-menu/select-menu.component.d.ts +6 -4
  72. package/components/select-menu/select-menu.module.d.ts +2 -1
  73. package/components/shared/services/menu-manager.service.d.ts +10 -0
  74. package/components/snackbar/snackbar/snackbar.component.d.ts +1 -1
  75. package/components/stepper/step.component.d.ts +1 -1
  76. package/components/stepper/stepper.component.d.ts +1 -1
  77. package/components/switch/switch.component.d.ts +1 -1
  78. package/components/table/cell.d.ts +1 -1
  79. package/components/table/row.d.ts +3 -3
  80. package/components/tabs/tab/tab.component.d.ts +1 -1
  81. package/components/tabs/tab-panel/tab-panel.component.d.ts +1 -1
  82. package/components/tabs/tabs.component.d.ts +1 -1
  83. package/components/text-input/text-input.component.d.ts +1 -1
  84. package/components/textarea-input/textarea-input.component.d.ts +1 -1
  85. package/components/tooltip/tooltip-panel/tooltip-panel.component.d.ts +1 -1
  86. package/components/tooltip/tooltip.component.d.ts +1 -1
  87. package/components/wrapped-input/wrapped-input.component.d.ts +1 -1
  88. package/directives/menu-register.directive.d.ts +14 -0
  89. package/{esm2020 → esm2022}/components/alert/alert.component.mjs +4 -4
  90. package/{esm2020 → esm2022}/components/alert/alert.module.mjs +9 -9
  91. package/{esm2020 → esm2022}/components/app-icon/app-icon.component.mjs +4 -4
  92. package/{esm2020 → esm2022}/components/app-icon/app-icon.module.mjs +7 -7
  93. package/{esm2020 → esm2022}/components/avatar/avatar.component.mjs +4 -4
  94. package/{esm2020 → esm2022}/components/avatar/avatar.module.mjs +7 -7
  95. package/{esm2020 → esm2022}/components/badge/badge.component.mjs +5 -5
  96. package/{esm2020 → esm2022}/components/badge/badge.module.mjs +5 -5
  97. package/{esm2020 → esm2022}/components/breadcrumbs/breadcrumbs.component.mjs +4 -4
  98. package/{esm2020 → esm2022}/components/breadcrumbs/breadcrumbs.module.mjs +9 -9
  99. package/{esm2020 → esm2022}/components/breadcrumbs/crumb.component.mjs +4 -4
  100. package/{esm2020 → esm2022}/components/button/button.component.mjs +4 -4
  101. package/esm2022/components/button/button.directives.mjs +129 -0
  102. package/{esm2020 → esm2022}/components/button/button.module.mjs +19 -19
  103. package/esm2022/components/button-group/button-group.component.mjs +131 -0
  104. package/{esm2020 → esm2022}/components/button-group/button-group.module.mjs +9 -9
  105. package/esm2022/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +54 -0
  106. package/esm2022/components/button-toggle/button-toggle.component.mjs +137 -0
  107. package/{esm2020 → esm2022}/components/button-toggle/button-toggle.module.mjs +9 -9
  108. package/{esm2020 → esm2022}/components/card/card-attribute/card-attribute.component.mjs +4 -4
  109. package/{esm2020 → esm2022}/components/card/card-author/card-author.component.mjs +4 -4
  110. package/{esm2020 → esm2022}/components/card/card-content/card-content.component.mjs +4 -4
  111. package/{esm2020 → esm2022}/components/card/card-footer/card-footer.component.mjs +7 -7
  112. package/{esm2020 → esm2022}/components/card/card-header/card-header.component.mjs +4 -4
  113. package/{esm2020 → esm2022}/components/card/card.component.mjs +4 -4
  114. package/{esm2020 → esm2022}/components/card/card.module.mjs +19 -19
  115. package/esm2022/components/checkbox/checkbox.component.mjs +79 -0
  116. package/{esm2020 → esm2022}/components/checkbox/checkbox.module.mjs +9 -9
  117. package/{esm2020 → esm2022}/components/chip/chip.component.mjs +5 -5
  118. package/{esm2020 → esm2022}/components/chip/chip.module.mjs +9 -9
  119. package/esm2022/components/contained-input/contained-input.component.mjs +86 -0
  120. package/{esm2020 → esm2022}/components/contained-input/contained-input.module.mjs +13 -13
  121. package/esm2022/components/date-input/date-input.component.mjs +139 -0
  122. package/{esm2020 → esm2022}/components/date-input/date-input.module.mjs +9 -9
  123. package/{esm2020 → esm2022}/components/dialog/dialog-actions.component.mjs +8 -8
  124. package/{esm2020 → esm2022}/components/dialog/dialog-confirm.component.mjs +4 -4
  125. package/{esm2020 → esm2022}/components/dialog/dialog-content.component.mjs +8 -8
  126. package/{esm2020 → esm2022}/components/dialog/dialog-header.component.mjs +8 -8
  127. package/{esm2020 → esm2022}/components/dialog/dialog-simple.component.mjs +4 -4
  128. package/{esm2020 → esm2022}/components/dialog/dialog.component.mjs +4 -4
  129. package/{esm2020 → esm2022}/components/dialog/dialog.service.mjs +4 -4
  130. package/{esm2020 → esm2022}/components/dialog/dialogs.module.mjs +27 -27
  131. package/{esm2020 → esm2022}/components/form-heading/form-heading.component.mjs +4 -4
  132. package/{esm2020 → esm2022}/components/form-heading/form-heading.module.mjs +9 -9
  133. package/esm2022/components/forms/validators.mjs +81 -0
  134. package/esm2022/components/icon/icon.component.mjs +61 -0
  135. package/{esm2020 → esm2022}/components/icon/icon.module.mjs +5 -5
  136. package/esm2022/components/icon/icon.types.mjs +330 -0
  137. package/{esm2020 → esm2022}/components/icon-button/icon-button.component.mjs +4 -4
  138. package/{esm2020 → esm2022}/components/icon-button/icon-button.module.mjs +7 -7
  139. package/{esm2020 → esm2022}/components/layouts/context/context.component.mjs +4 -4
  140. package/{esm2020 → esm2022}/components/layouts/grid/grid.component.mjs +7 -7
  141. package/{esm2020 → esm2022}/components/layouts/layout-group.component.mjs +4 -4
  142. package/{esm2020 → esm2022}/components/layouts/layouts.module.mjs +19 -19
  143. package/{esm2020 → esm2022}/components/layouts/panel/panel.component.mjs +5 -5
  144. package/{esm2020 → esm2022}/components/layouts/sidebar/sidebar.component.mjs +4 -4
  145. package/{esm2020 → esm2022}/components/layouts/toolbar/toolbar.component.mjs +4 -4
  146. package/{esm2020 → esm2022}/components/menu/menu-close-triggers.directive.mjs +4 -4
  147. package/esm2022/components/menu/menu-container/menu-container.component.mjs +90 -0
  148. package/{esm2020 → esm2022}/components/menu/menu-header/menu-header.component.mjs +4 -4
  149. package/{esm2020 → esm2022}/components/menu/menu-item/menu-item.component.mjs +4 -4
  150. package/{esm2020 → esm2022}/components/menu/menu-item-group/menu-item-group.component.mjs +4 -4
  151. package/{esm2020 → esm2022}/components/menu/menu-separator/menu-separator.component.mjs +4 -4
  152. package/esm2022/components/menu/menu-sub-item/menu-sub-item.component.mjs +109 -0
  153. package/{esm2020 → esm2022}/components/menu/menu.component.mjs +21 -21
  154. package/{esm2020 → esm2022}/components/menu/menu.module.mjs +37 -37
  155. package/{esm2020 → esm2022}/components/navbar/navbar-header/navbar-header.component.mjs +4 -4
  156. package/{esm2020 → esm2022}/components/navbar/navbar-item/navbar-item.component.mjs +4 -4
  157. package/esm2022/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +76 -0
  158. package/{esm2020 → esm2022}/components/navbar/navbar.component.mjs +17 -17
  159. package/{esm2020 → esm2022}/components/navbar/navbar.module.mjs +25 -25
  160. package/esm2022/components/number-input/number-input.component.mjs +122 -0
  161. package/{esm2020 → esm2022}/components/number-input/number-input.module.mjs +9 -9
  162. package/{esm2020 → esm2022}/components/paginator/paginator-advanced/paginator-advanced.component.mjs +4 -4
  163. package/{esm2020 → esm2022}/components/paginator/paginator.component.mjs +4 -4
  164. package/{esm2020 → esm2022}/components/paginator/paginator.module.mjs +17 -17
  165. package/esm2022/components/phone-input/phone-input.component.mjs +285 -0
  166. package/{esm2020 → esm2022}/components/phone-input/phone-input.module.mjs +17 -17
  167. package/{esm2020 → esm2022}/components/popover/popover-panel/popover-panel.component.mjs +4 -4
  168. package/{esm2020 → esm2022}/components/popover/popover.component.mjs +4 -4
  169. package/{esm2020 → esm2022}/components/popover/popover.module.mjs +13 -13
  170. package/{esm2020 → esm2022}/components/progress/bar/bar.component.mjs +4 -4
  171. package/{esm2020 → esm2022}/components/progress/progress.module.mjs +7 -7
  172. package/{esm2020 → esm2022}/components/progress/spinner/spinner.component.mjs +4 -4
  173. package/esm2022/components/radio/radio-group.component.mjs +117 -0
  174. package/esm2022/components/radio/radio.component.mjs +51 -0
  175. package/{esm2020 → esm2022}/components/radio/radio.module.mjs +11 -11
  176. package/{esm2020 → esm2022}/components/section-heading/back-button/back-button.component.mjs +4 -4
  177. package/{esm2020 → esm2022}/components/section-heading/section-heading.component.mjs +4 -4
  178. package/{esm2020 → esm2022}/components/section-heading/section-heading.module.mjs +13 -13
  179. package/{esm2020 → esm2022}/components/section-heading/subsection-heading/subsection-heading.component.mjs +4 -4
  180. package/esm2022/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +376 -0
  181. package/esm2022/components/select-menu/select-menu.component.mjs +332 -0
  182. package/esm2022/components/select-menu/select-menu.module.mjs +56 -0
  183. package/esm2022/components/shared/pipes/pipes.module.mjs +36 -0
  184. package/{esm2020 → esm2022}/components/shared/pipes/translate.pipe.mjs +4 -4
  185. package/{esm2020 → esm2022}/components/shared/pipes/trusthtml.pipe.mjs +4 -4
  186. package/esm2022/components/shared/services/menu-manager.service.mjs +27 -0
  187. package/esm2022/components/shared/translation.service.mjs +26 -0
  188. package/esm2022/components/snackbar/snackbar/snackbar.component.mjs +111 -0
  189. package/esm2022/components/snackbar/snackbar-container/snackbar-container.component.mjs +63 -0
  190. package/{esm2020 → esm2022}/components/snackbar/snackbar.module.mjs +15 -15
  191. package/{esm2020 → esm2022}/components/snackbar/snackbar.service.mjs +4 -4
  192. package/{esm2020 → esm2022}/components/stepper/step.component.mjs +7 -7
  193. package/esm2022/components/stepper/stepper.component.mjs +95 -0
  194. package/{esm2020 → esm2022}/components/stepper/stepper.module.mjs +13 -13
  195. package/esm2022/components/switch/switch.component.mjs +73 -0
  196. package/{esm2020 → esm2022}/components/switch/switch.module.mjs +5 -5
  197. package/{esm2020 → esm2022}/components/table/cell.mjs +24 -24
  198. package/{esm2020 → esm2022}/components/table/row.mjs +22 -22
  199. package/esm2022/components/table/table-dense.component.mjs +38 -0
  200. package/esm2022/components/table/table.component.mjs +38 -0
  201. package/{esm2020 → esm2022}/components/table/table.module.mjs +37 -37
  202. package/{esm2020 → esm2022}/components/tabs/tab/tab.component.mjs +4 -4
  203. package/{esm2020 → esm2022}/components/tabs/tab-panel/tab-panel.component.mjs +4 -4
  204. package/{esm2020 → esm2022}/components/tabs/tabs.component.mjs +4 -4
  205. package/{esm2020 → esm2022}/components/tabs/tabs.module.mjs +11 -11
  206. package/esm2022/components/text-input/text-input.component.mjs +112 -0
  207. package/{esm2020 → esm2022}/components/text-input/text-input.module.mjs +9 -9
  208. package/esm2022/components/textarea-input/textarea-input.component.mjs +86 -0
  209. package/{esm2020 → esm2022}/components/textarea-input/textarea-input.module.mjs +11 -11
  210. package/{esm2020 → esm2022}/components/tooltip/tooltip-panel/tooltip-panel.component.mjs +4 -4
  211. package/{esm2020 → esm2022}/components/tooltip/tooltip.component.mjs +5 -5
  212. package/{esm2020 → esm2022}/components/tooltip/tooltip.module.mjs +13 -13
  213. package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.component.mjs +4 -4
  214. package/{esm2020 → esm2022}/components/wrapped-input/wrapped-input.module.mjs +7 -7
  215. package/esm2022/directives/menu-register.directive.mjs +38 -0
  216. package/esm2022/public-api.mjs +128 -0
  217. package/{fesm2020 → fesm2022}/flywheel-io-vision.mjs +1351 -1250
  218. package/fesm2022/flywheel-io-vision.mjs.map +1 -0
  219. package/flywheel-io-vision-2.0.0-beta.10.tgz +0 -0
  220. package/package.json +5 -11
  221. package/public-api.d.ts +2 -0
  222. package/scss/icons/_icon-glyphs.scss +667 -1256
  223. package/styles.css +54 -1
  224. package/esm2020/components/button/button.directives.mjs +0 -129
  225. package/esm2020/components/button-group/button-group.component.mjs +0 -131
  226. package/esm2020/components/button-toggle/button-toggle-item/button-toggle-item.component.mjs +0 -54
  227. package/esm2020/components/button-toggle/button-toggle.component.mjs +0 -132
  228. package/esm2020/components/checkbox/checkbox.component.mjs +0 -79
  229. package/esm2020/components/contained-input/contained-input.component.mjs +0 -86
  230. package/esm2020/components/date-input/date-input.component.mjs +0 -139
  231. package/esm2020/components/forms/validators.mjs +0 -81
  232. package/esm2020/components/icon/icon.component.mjs +0 -61
  233. package/esm2020/components/icon/icon.types.mjs +0 -317
  234. package/esm2020/components/menu/menu-container/menu-container.component.mjs +0 -90
  235. package/esm2020/components/menu/menu-sub-item/menu-sub-item.component.mjs +0 -109
  236. package/esm2020/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +0 -76
  237. package/esm2020/components/number-input/number-input.component.mjs +0 -122
  238. package/esm2020/components/phone-input/phone-input.component.mjs +0 -285
  239. package/esm2020/components/radio/radio-group.component.mjs +0 -117
  240. package/esm2020/components/radio/radio.component.mjs +0 -51
  241. package/esm2020/components/select-menu/multi-select-menu/multi-select-menu.component.mjs +0 -356
  242. package/esm2020/components/select-menu/select-menu.component.mjs +0 -328
  243. package/esm2020/components/select-menu/select-menu.module.mjs +0 -53
  244. package/esm2020/components/shared/pipes/pipes.module.mjs +0 -36
  245. package/esm2020/components/shared/translation.service.mjs +0 -26
  246. package/esm2020/components/snackbar/snackbar/snackbar.component.mjs +0 -111
  247. package/esm2020/components/snackbar/snackbar-container/snackbar-container.component.mjs +0 -63
  248. package/esm2020/components/stepper/stepper.component.mjs +0 -95
  249. package/esm2020/components/switch/switch.component.mjs +0 -73
  250. package/esm2020/components/table/table-dense.component.mjs +0 -38
  251. package/esm2020/components/table/table.component.mjs +0 -38
  252. package/esm2020/components/text-input/text-input.component.mjs +0 -112
  253. package/esm2020/components/textarea-input/textarea-input.component.mjs +0 -86
  254. package/esm2020/public-api.mjs +0 -126
  255. package/fesm2015/flywheel-io-vision.mjs +0 -8039
  256. package/fesm2015/flywheel-io-vision.mjs.map +0 -1
  257. package/fesm2020/flywheel-io-vision.mjs.map +0 -1
  258. package/flywheel-io-vision-2.0.0-beta-4.tgz +0 -0
  259. /package/{esm2020 → esm2022}/components/paginator/paginator.model.mjs +0 -0
  260. /package/{esm2020 → esm2022}/components/phone-input/country-code.data.mjs +0 -0
  261. /package/{esm2020 → esm2022}/components/phone-input/phone-input.model.mjs +0 -0
  262. /package/{esm2020 → esm2022}/components/snackbar/snackbar-message.model.mjs +0 -0
  263. /package/{esm2020 → esm2022}/components/snackbar/snackbar-timer.service.mjs +0 -0
  264. /package/{esm2020 → esm2022}/flywheel-io-vision.mjs +0 -0
package/styles.css CHANGED
@@ -1,3 +1,4 @@
1
+ @charset "UTF-8";
1
2
  @import 'https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700';
2
3
  /******************************************************
3
4
  Color Palettes for use with vision's theming system
@@ -365,6 +366,58 @@ a:visited {
365
366
  -moz-osx-font-smoothing: grayscale;
366
367
  }
367
368
 
369
+ .icon-user-profile-cards-pool:before {
370
+ content: "\ea3b";
371
+ }
372
+
373
+ .icon-certificate:before {
374
+ content: "\ea3c";
375
+ }
376
+
377
+ .icon-check-mark-certificate:before {
378
+ content: "\ea3d";
379
+ }
380
+
381
+ .icon-server-databases-checkmark-user:before {
382
+ content: "\ea3e";
383
+ }
384
+
385
+ .icon-arrow-up-high-priority:before {
386
+ content: "\ea3f";
387
+ }
388
+
389
+ .icon-arrow-up-low-priority:before {
390
+ content: "\ea40";
391
+ }
392
+
393
+ .icon-stop-minus:before {
394
+ content: "\ea41";
395
+ }
396
+
397
+ .icon-document-file-checkmark-bottom-left:before {
398
+ content: "\ea42";
399
+ }
400
+
401
+ .icon-monitor-computer:before {
402
+ content: "\ea43";
403
+ }
404
+
405
+ .icon-arrow-redo:before {
406
+ content: "\ea44";
407
+ }
408
+
409
+ .icon-arrow-undo:before {
410
+ content: "\ea45";
411
+ }
412
+
413
+ .icon-folders-copy-expand-arrow-down:before {
414
+ content: "\ea39";
415
+ }
416
+
417
+ .icon-folders-copy-expand-arrow-up:before {
418
+ content: "\ea3a";
419
+ }
420
+
368
421
  .icon-clock-hour-4:before {
369
422
  content: "\ea32";
370
423
  }
@@ -430,7 +483,7 @@ a:visited {
430
483
  }
431
484
 
432
485
  .icon-brightness-photo-edit:before {
433
- content: "\bea29";
486
+ content: "򾨩";
434
487
  }
435
488
 
436
489
  .icon-target-space-object-select:before {
@@ -1,129 +0,0 @@
1
- import { Directive, HostBinding } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/platform-browser";
4
- export class FwButtonDirective {
5
- constructor(sanitizer) {
6
- this.sanitizer = sanitizer;
7
- }
8
- get style() {
9
- return this.sanitizer.bypassSecurityTrustStyle(`
10
- font-family: Inter, sans-serif;
11
- font-size: 14px;
12
- line-height: 14px;
13
- font-style: normal;
14
- font-weight: 500;
15
- display: inline-flex;
16
- height: 36px;
17
- padding: 12px;
18
- justify-content: center;
19
- align-items: center;
20
- gap: 8px;
21
- flex-shrink: 0;
22
- border: 1px solid transparent;
23
- border-radius: 8px;
24
- background-color: var(--slate-light);
25
- color: var(--typography-base);
26
- cursor: pointer;
27
- `);
28
- }
29
- }
30
- FwButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonDirective, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Directive });
31
- FwButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FwButtonDirective, selector: "[fwButton]", host: { properties: { "style": "this.style" } }, ngImport: i0 });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonDirective, decorators: [{
33
- type: Directive,
34
- args: [{
35
- selector: '[fwButton]',
36
- }]
37
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { style: [{
38
- type: HostBinding,
39
- args: ['style']
40
- }] } });
41
- export class FwButtonPrimaryDirective {
42
- constructor(sanitizer) {
43
- this.sanitizer = sanitizer;
44
- }
45
- get style() {
46
- return this.sanitizer.bypassSecurityTrustStyle(`
47
- background-color: var(--primary-base) !important;
48
- color: var(--typography-contrast);
49
- `);
50
- }
51
- }
52
- FwButtonPrimaryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonPrimaryDirective, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Directive });
53
- FwButtonPrimaryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FwButtonPrimaryDirective, selector: "[fwButtonPrimary]", host: { properties: { "style": "this.style" } }, ngImport: i0 });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonPrimaryDirective, decorators: [{
55
- type: Directive,
56
- args: [{
57
- selector: '[fwButtonPrimary]',
58
- }]
59
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { style: [{
60
- type: HostBinding,
61
- args: ['style']
62
- }] } });
63
- export class FwButtonSecondaryDirective {
64
- constructor(sanitizer) {
65
- this.sanitizer = sanitizer;
66
- }
67
- get style() {
68
- return this.sanitizer.bypassSecurityTrustStyle(`
69
- background-color: var(--secondary-base) !important;
70
- color: var(--typography-contrast);
71
- `);
72
- }
73
- }
74
- FwButtonSecondaryDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonSecondaryDirective, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Directive });
75
- FwButtonSecondaryDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FwButtonSecondaryDirective, selector: "[fwButtonSecondary]", host: { properties: { "style": "this.style" } }, ngImport: i0 });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonSecondaryDirective, decorators: [{
77
- type: Directive,
78
- args: [{
79
- selector: '[fwButtonSecondary]',
80
- }]
81
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { style: [{
82
- type: HostBinding,
83
- args: ['style']
84
- }] } });
85
- export class FwButtonDangerDirective {
86
- constructor(sanitizer) {
87
- this.sanitizer = sanitizer;
88
- }
89
- get style() {
90
- return this.sanitizer.bypassSecurityTrustStyle(`
91
- background-color: var(--red-base) !important;
92
- color: var(--typography-contrast);
93
- `);
94
- }
95
- }
96
- FwButtonDangerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonDangerDirective, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Directive });
97
- FwButtonDangerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FwButtonDangerDirective, selector: "[fwButtonDanger]", host: { properties: { "style": "this.style" } }, ngImport: i0 });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonDangerDirective, decorators: [{
99
- type: Directive,
100
- args: [{
101
- selector: '[fwButtonDanger]',
102
- }]
103
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { style: [{
104
- type: HostBinding,
105
- args: ['style']
106
- }] } });
107
- export class FwButtonSuccessDirective {
108
- constructor(sanitizer) {
109
- this.sanitizer = sanitizer;
110
- }
111
- get style() {
112
- return this.sanitizer.bypassSecurityTrustStyle(`
113
- background-color: var(--green-base) !important;
114
- color: var(--typography-contrast);
115
- `);
116
- }
117
- }
118
- FwButtonSuccessDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonSuccessDirective, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Directive });
119
- FwButtonSuccessDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FwButtonSuccessDirective, selector: "[fwButtonSuccess]", host: { properties: { "style": "this.style" } }, ngImport: i0 });
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonSuccessDirective, decorators: [{
121
- type: Directive,
122
- args: [{
123
- selector: '[fwButtonSuccess]',
124
- }]
125
- }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { style: [{
126
- type: HostBinding,
127
- args: ['style']
128
- }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmRpcmVjdGl2ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU12RCxNQUFNLE9BQU8saUJBQWlCO0lBdUI1QixZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQzNDLENBQUM7SUF2QkQsSUFBMEIsS0FBSztRQUM3QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCaEQsQ0FBQyxDQUFDO0lBQ0gsQ0FBQzs7K0dBckJVLGlCQUFpQjttR0FBakIsaUJBQWlCOzRGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7aUJBQ3ZCO21HQUUyQixLQUFLO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87O0FBOEJ0QixNQUFNLE9BQU8sd0JBQXdCO0lBUW5DLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDM0MsQ0FBQztJQVJELElBQTBCLEtBQUs7UUFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDOzs7R0FHaEQsQ0FBQyxDQUFDO0lBQ0gsQ0FBQzs7c0hBTlUsd0JBQXdCOzBHQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QjttR0FFMkIsS0FBSztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPOztBQWN0QixNQUFNLE9BQU8sMEJBQTBCO0lBUXJDLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDM0MsQ0FBQztJQVJELElBQTBCLEtBQUs7UUFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDOzs7R0FHaEQsQ0FBQyxDQUFDO0lBQ0gsQ0FBQzs7d0hBTlUsMEJBQTBCOzRHQUExQiwwQkFBMEI7NEZBQTFCLDBCQUEwQjtrQkFIdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO2lCQUNoQzttR0FFMkIsS0FBSztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPOztBQWN0QixNQUFNLE9BQU8sdUJBQXVCO0lBUWxDLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDM0MsQ0FBQztJQVJELElBQTBCLEtBQUs7UUFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDOzs7R0FHaEQsQ0FBQyxDQUFDO0lBQ0gsQ0FBQzs7cUhBTlUsdUJBQXVCO3lHQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFIbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO2lCQUM3QjttR0FFMkIsS0FBSztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPOztBQWN0QixNQUFNLE9BQU8sd0JBQXdCO0lBUW5DLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFDM0MsQ0FBQztJQVJELElBQTBCLEtBQUs7UUFDN0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDOzs7R0FHaEQsQ0FBQyxDQUFDO0lBQ0gsQ0FBQzs7c0hBTlUsd0JBQXdCOzBHQUF4Qix3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QjttR0FFMkIsS0FBSztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0QmluZGluZyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlU3R5bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Z3QnV0dG9uXScsXG59KVxuZXhwb3J0IGNsYXNzIEZ3QnV0dG9uRGlyZWN0aXZlIHtcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIGdldCBzdHlsZSgpOiBTYWZlU3R5bGUge1xuICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoYFxuICAgICAgZm9udC1mYW1pbHk6IEludGVyLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBoZWlnaHQ6IDM2cHg7XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2xhdGUtbGlnaHQpO1xuICAgICAgY29sb3I6IHZhcigtLXR5cG9ncmFwaHktYmFzZSk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIGApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICB9XG59XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Z3QnV0dG9uUHJpbWFyeV0nLFxufSlcbmV4cG9ydCBjbGFzcyBGd0J1dHRvblByaW1hcnlEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgZ2V0IHN0eWxlKCk6IFNhZmVTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWJhc2UpICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogdmFyKC0tdHlwb2dyYXBoeS1jb250cmFzdCk7XG4gIGApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tmd0J1dHRvblNlY29uZGFyeV0nLFxufSlcbmV4cG9ydCBjbGFzcyBGd0J1dHRvblNlY29uZGFyeURpcmVjdGl2ZSB7XG4gIEBIb3N0QmluZGluZygnc3R5bGUnKSBnZXQgc3R5bGUoKTogU2FmZVN0eWxlIHtcbiAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKGBcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1iYXNlKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHZhcigtLXR5cG9ncmFwaHktY29udHJhc3QpO1xuICBgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZndCdXR0b25EYW5nZXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgRndCdXR0b25EYW5nZXJEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgZ2V0IHN0eWxlKCk6IFNhZmVTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1yZWQtYmFzZSkgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS10eXBvZ3JhcGh5LWNvbnRyYXN0KTtcbiAgYCk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Z3QnV0dG9uU3VjY2Vzc10nLFxufSlcbmV4cG9ydCBjbGFzcyBGd0J1dHRvblN1Y2Nlc3NEaXJlY3RpdmUge1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgZ2V0IHN0eWxlKCk6IFNhZmVTdHlsZSB7XG4gICAgcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZShgXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ncmVlbi1iYXNlKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHZhcigtLXR5cG9ncmFwaHktY29udHJhc3QpO1xuICBgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcbiAgfVxufVxuIl19
@@ -1,131 +0,0 @@
1
- import { Component, ContentChildren, EventEmitter, forwardRef, HostBinding, Input, Output, ViewEncapsulation, } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { FwButtonToggleItemComponent } from '../button-toggle/button-toggle-item/button-toggle-item.component';
4
- import * as i0 from "@angular/core";
5
- export class FwButtonGroupComponent {
6
- constructor(cdref) {
7
- this.cdref = cdref;
8
- this.layout = 'basic';
9
- this.size = 'medium';
10
- this.disabled = false;
11
- this.subscriptions = [];
12
- // eslint-disable-next-line @angular-eslint/no-output-native
13
- this.change = new EventEmitter();
14
- this.onTouched = () => {
15
- };
16
- }
17
- get classes() {
18
- return ['fw-button-group', this.size, this.layout].filter(Boolean).join(' ');
19
- }
20
- ;
21
- get value() {
22
- return this._value;
23
- }
24
- set value(newValue) {
25
- this.updateValue(newValue);
26
- }
27
- registerOnChange(fn) {
28
- this.onChange = fn;
29
- }
30
- registerOnTouched(fn) {
31
- this.onTouched = fn;
32
- }
33
- setDisabledState(isDisabled) {
34
- this.disabled = isDisabled;
35
- }
36
- writeValue(value) {
37
- this.value = value;
38
- }
39
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
40
- ngOnChanges(changes) {
41
- this.formatToggles();
42
- }
43
- ngOnDestroy() {
44
- for (const subscription of this.subscriptions) {
45
- subscription.unsubscribe();
46
- }
47
- }
48
- ngAfterContentInit() {
49
- if (this.toggleButtons.length > 0) {
50
- this.formatToggles();
51
- }
52
- }
53
- updateValue(value) {
54
- this._value = value;
55
- if (this.onChange) {
56
- this.onChange(value);
57
- }
58
- this.change.emit(value);
59
- }
60
- formatToggles() {
61
- if (this.toggleButtons) {
62
- this.toggleButtons.forEach(toggle => {
63
- if (this.value.indexOf(toggle.value) >= 0) {
64
- toggle.selected = true;
65
- }
66
- toggle.size = this.size;
67
- if (this.color) {
68
- toggle.color = this.color;
69
- }
70
- if (this.selectedColor) {
71
- toggle.selectedColor = this.selectedColor;
72
- }
73
- if (this.disabled) {
74
- toggle.disabled = this.disabled;
75
- }
76
- const sub = toggle.click.subscribe(() => {
77
- toggle.selected = !toggle.selected;
78
- const vals = this.toggleButtons.map(tb => {
79
- if (tb.selected) {
80
- return tb.value;
81
- }
82
- else {
83
- return null;
84
- }
85
- }).filter(Boolean);
86
- this.writeValue(vals);
87
- });
88
- this.subscriptions.push(sub);
89
- });
90
- }
91
- }
92
- }
93
- FwButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonGroupComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
94
- FwButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwButtonGroupComponent, selector: "fw-button-group", inputs: { layout: "layout", size: "size", disabled: "disabled", color: "color", selectedColor: "selectedColor", value: "value" }, outputs: { change: "change" }, host: { properties: { "attr.class": "this.classes" } }, providers: [
95
- {
96
- provide: NG_VALUE_ACCESSOR,
97
- useExisting: forwardRef(() => FwButtonGroupComponent),
98
- multi: true,
99
- },
100
- ], queries: [{ propertyName: "toggleButtons", predicate: FwButtonToggleItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: '<ng-content select="fw-button-toggle-item,fw-tooltip"></ng-content>', isInline: true, styles: ["fw-button-group.fw-button-group{box-sizing:border-box;border-radius:8px;overflow:hidden;display:inline-flex;align-items:stretch}fw-button-group.fw-button-group .fw-button-toggle-item.no-title button{gap:0}fw-button-group.fw-button-group button{min-width:0;margin:0!important;border-radius:0;border:1px solid var(--separations-input);border-right-width:0!important}fw-button-group.fw-button-group>button:first-of-type{border-top-left-radius:8px;border-bottom-left-radius:8px}fw-button-group.fw-button-group>button:last-of-type{border-top-right-radius:8px;border-bottom-right-radius:8px;border-right-width:1px}fw-button-group.fw-button-group.compact button{line-height:24px;height:24px}fw-button-group.fw-button-group.small button{font-size:12px}fw-button-group.fw-button-group.medium button{font-size:14px}fw-button-group.fw-button-group.large button{font-size:18px}fw-button-group.fw-button-group>fw-button-toggle-item:last-of-type button{border-top-right-radius:8px;border-bottom-right-radius:8px;border-right-width:1px!important}fw-button-group.fw-button-group>fw-button-toggle-item:first-of-type button{border-top-left-radius:8px;border-bottom-left-radius:8px}fw-button-group.fw-button-group fw-tooltip fw-button-toggle-item button{border-radius:0!important;border-right-width:0!important}fw-button-group.fw-button-group fw-tooltip:last-of-type fw-button-toggle-item button{border-radius:0 8px 8px 0!important;border-right-width:1px!important}fw-button-group.fw-button-group fw-tooltip:first-of-type fw-button-toggle-item button{border-radius:8px 0 0 8px!important}\n"], encapsulation: i0.ViewEncapsulation.None });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonGroupComponent, decorators: [{
102
- type: Component,
103
- args: [{ selector: 'fw-button-group', template: '<ng-content select="fw-button-toggle-item,fw-tooltip"></ng-content>', encapsulation: ViewEncapsulation.None, providers: [
104
- {
105
- provide: NG_VALUE_ACCESSOR,
106
- useExisting: forwardRef(() => FwButtonGroupComponent),
107
- multi: true,
108
- },
109
- ], styles: ["fw-button-group.fw-button-group{box-sizing:border-box;border-radius:8px;overflow:hidden;display:inline-flex;align-items:stretch}fw-button-group.fw-button-group .fw-button-toggle-item.no-title button{gap:0}fw-button-group.fw-button-group button{min-width:0;margin:0!important;border-radius:0;border:1px solid var(--separations-input);border-right-width:0!important}fw-button-group.fw-button-group>button:first-of-type{border-top-left-radius:8px;border-bottom-left-radius:8px}fw-button-group.fw-button-group>button:last-of-type{border-top-right-radius:8px;border-bottom-right-radius:8px;border-right-width:1px}fw-button-group.fw-button-group.compact button{line-height:24px;height:24px}fw-button-group.fw-button-group.small button{font-size:12px}fw-button-group.fw-button-group.medium button{font-size:14px}fw-button-group.fw-button-group.large button{font-size:18px}fw-button-group.fw-button-group>fw-button-toggle-item:last-of-type button{border-top-right-radius:8px;border-bottom-right-radius:8px;border-right-width:1px!important}fw-button-group.fw-button-group>fw-button-toggle-item:first-of-type button{border-top-left-radius:8px;border-bottom-left-radius:8px}fw-button-group.fw-button-group fw-tooltip fw-button-toggle-item button{border-radius:0!important;border-right-width:0!important}fw-button-group.fw-button-group fw-tooltip:last-of-type fw-button-toggle-item button{border-radius:0 8px 8px 0!important;border-right-width:1px!important}fw-button-group.fw-button-group fw-tooltip:first-of-type fw-button-toggle-item button{border-radius:8px 0 0 8px!important}\n"] }]
110
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { classes: [{
111
- type: HostBinding,
112
- args: ['attr.class']
113
- }], layout: [{
114
- type: Input
115
- }], size: [{
116
- type: Input
117
- }], disabled: [{
118
- type: Input
119
- }], color: [{
120
- type: Input
121
- }], selectedColor: [{
122
- type: Input
123
- }], toggleButtons: [{
124
- type: ContentChildren,
125
- args: [FwButtonToggleItemComponent, { descendants: true }]
126
- }], change: [{
127
- type: Output
128
- }], value: [{
129
- type: Input
130
- }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBR04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7QUFlL0csTUFBTSxPQUFPLHNCQUFzQjtJQXdCakMsWUFBb0IsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFuQm5DLFdBQU0sR0FBeUIsT0FBTyxDQUFDO1FBQ3ZDLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBQy9DLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFJNUIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQzNDLDREQUE0RDtRQUNsRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVksQ0FBQztRQWVoRCxjQUFTLEdBQUcsR0FBUyxFQUFFO1FBQ3ZCLENBQUMsQ0FBQztJQUpGLENBQUM7SUF4QkQsSUFBK0IsT0FBTztRQUNwQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQUEsQ0FBQztJQVlGLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsUUFBa0I7UUFD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OztvSEF0R1Usc0JBQXNCO3dHQUF0QixzQkFBc0IsbVFBUnRCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7WUFDckQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLHdEQVlnQiwyQkFBMkIscUVBcEJsQyxxRUFBcUU7NEZBVXBFLHNCQUFzQjtrQkFibEMsU0FBUzsrQkFDRSxpQkFBaUIsWUFFakIscUVBQXFFLGlCQUNoRSxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3R0FHOEIsT0FBTztzQkFBckMsV0FBVzt1QkFBQyxZQUFZO2dCQUloQixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQytELGFBQWE7c0JBQWpGLGVBQWU7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUd6RCxNQUFNO3NCQUFmLE1BQU07Z0JBR0gsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRndCdXR0b25Ub2dnbGVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uLXRvZ2dsZS9idXR0b24tdG9nZ2xlLWl0ZW0vYnV0dG9uLXRvZ2dsZS1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LWJ1dHRvbi1ncm91cCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi1ncm91cC5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWJ1dHRvbi10b2dnbGUtaXRlbSxmdy10b29sdGlwXCI+PC9uZy1jb250ZW50PicsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRndCdXR0b25Hcm91cENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGd0J1dHRvbkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmNsYXNzJykgZ2V0IGNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gWydmdy1idXR0b24tZ3JvdXAnLCB0aGlzLnNpemUsIHRoaXMubGF5b3V0XS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xuICB9O1xuXG4gIEBJbnB1dCgpIGxheW91dD86ICdiYXNpYycgfCAnY29tcGFjdCcgPSAnYmFzaWMnO1xuICBASW5wdXQoKSBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyA9ICdtZWRpdW0nO1xuICBASW5wdXQoKSBkaXNhYmxlZD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgY29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdkYW5nZXInIHwgJ3NsYXRlJyB8ICdza2VsZXRvbicgfCAnd2FybmluZycgfCAnc3VjY2Vzcyc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdkYW5nZXInIHwgJ3NsYXRlJyB8ICdza2VsZXRvbicgfCAnd2FybmluZycgfCAnc3VjY2Vzcyc7XG4gIEBDb250ZW50Q2hpbGRyZW4oRndCdXR0b25Ub2dnbGVJdGVtQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIHRvZ2dsZUJ1dHRvbnM6IFF1ZXJ5TGlzdDxGd0J1dHRvblRvZ2dsZUl0ZW1Db21wb25lbnQ+O1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvbm8tb3V0cHV0LW5hdGl2ZVxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZ1tdO1xuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHNldCB2YWx1ZShuZXdWYWx1ZTogc3RyaW5nW10pIHtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge1xuICB9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nW10pID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuZm9ybWF0VG9nZ2xlcygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBzdWJzY3JpcHRpb24gb2YgdGhpcy5zdWJzY3JpcHRpb25zKSB7XG4gICAgICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMudG9nZ2xlQnV0dG9ucy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmZvcm1hdFRvZ2dsZXMoKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGVWYWx1ZSh2YWx1ZTogc3RyaW5nW10pOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBmb3JtYXRUb2dnbGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvZ2dsZUJ1dHRvbnMpIHtcbiAgICAgIHRoaXMudG9nZ2xlQnV0dG9ucy5mb3JFYWNoKHRvZ2dsZSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnZhbHVlLmluZGV4T2YodG9nZ2xlLnZhbHVlKSA+PSAwKSB7XG4gICAgICAgICAgdG9nZ2xlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0b2dnbGUuc2l6ZSA9IHRoaXMuc2l6ZTtcbiAgICAgICAgaWYgKHRoaXMuY29sb3IpIHtcbiAgICAgICAgICB0b2dnbGUuY29sb3IgPSB0aGlzLmNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkQ29sb3IpIHtcbiAgICAgICAgICB0b2dnbGUuc2VsZWN0ZWRDb2xvciA9IHRoaXMuc2VsZWN0ZWRDb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgIHRvZ2dsZS5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQ7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc3ViID0gdG9nZ2xlLmNsaWNrLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdG9nZ2xlLnNlbGVjdGVkID0gIXRvZ2dsZS5zZWxlY3RlZDtcbiAgICAgICAgICBjb25zdCB2YWxzID0gdGhpcy50b2dnbGVCdXR0b25zLm1hcCh0YiA9PiB7XG4gICAgICAgICAgICBpZiAodGIuc2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRiLnZhbHVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSkuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh2YWxzKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1Yik7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,54 +0,0 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../button/button.component";
4
- export class FwButtonToggleItemComponent {
5
- constructor() {
6
- this.selected = false;
7
- this.disabled = false;
8
- this.size = 'medium';
9
- this.color = 'slate';
10
- this.selectedColor = 'primary';
11
- this.selectedStyle = 'background';
12
- // eslint-disable-next-line @angular-eslint/no-output-native
13
- this.click = new EventEmitter();
14
- }
15
- get classes() {
16
- return ['fw-button-toggle-item', this.title && this.title.length > 0 ? 'has-title' : 'no-title'].filter(Boolean).join(' ');
17
- }
18
- ;
19
- handleClick() {
20
- this.click.emit(this.value);
21
- }
22
- }
23
- FwButtonToggleItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonToggleItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- FwButtonToggleItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwButtonToggleItemComponent, selector: "fw-button-toggle-item", inputs: { title: "title", icon: "icon", selectedIcon: "selectedIcon", value: "value", selected: "selected", disabled: "disabled", size: "size", color: "color", selectedColor: "selectedColor", selectedStyle: "selectedStyle" }, outputs: { click: "click" }, host: { properties: { "attr.class": "this.classes" } }, ngImport: i0, template: "<fw-button\n [title]=\"title\"\n [leftIcon]=\"(selected && selectedIcon) ? selectedIcon : icon\"\n [variant]=\"(selected && selectedStyle==='background') ? 'solid':'outline'\"\n [color]=\"selected ? selectedColor:color\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n (click)=\"handleClick()\">\n {{ title }}\n</fw-button>\n", dependencies: [{ kind: "component", type: i1.FwButtonComponent, selector: "fw-button", inputs: ["color", "size", "variant", "type", "disabled", "fullWidth", "leftIcon", "rightIcon"] }] });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonToggleItemComponent, decorators: [{
26
- type: Component,
27
- args: [{ selector: 'fw-button-toggle-item', template: "<fw-button\n [title]=\"title\"\n [leftIcon]=\"(selected && selectedIcon) ? selectedIcon : icon\"\n [variant]=\"(selected && selectedStyle==='background') ? 'solid':'outline'\"\n [color]=\"selected ? selectedColor:color\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n (click)=\"handleClick()\">\n {{ title }}\n</fw-button>\n" }]
28
- }], ctorParameters: function () { return []; }, propDecorators: { title: [{
29
- type: Input
30
- }], icon: [{
31
- type: Input
32
- }], selectedIcon: [{
33
- type: Input
34
- }], value: [{
35
- type: Input
36
- }], selected: [{
37
- type: Input
38
- }], disabled: [{
39
- type: Input
40
- }], size: [{
41
- type: Input
42
- }], color: [{
43
- type: Input
44
- }], selectedColor: [{
45
- type: Input
46
- }], selectedStyle: [{
47
- type: Input
48
- }], click: [{
49
- type: Output
50
- }], classes: [{
51
- type: HostBinding,
52
- args: ['attr.class']
53
- }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2J1dHRvbi10b2dnbGUvYnV0dG9uLXRvZ2dsZS1pdGVtL2J1dHRvbi10b2dnbGUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9idXR0b24tdG9nZ2xlL2J1dHRvbi10b2dnbGUtaXRlbS9idXR0b24tdG9nZ2xlLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVVwRixNQUFNLE9BQU8sMkJBQTJCO0lBa0J0QztRQWJTLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixTQUFJLEdBQWtDLFFBQVEsQ0FBQztRQUMvQyxVQUFLLEdBQXVGLE9BQU8sQ0FBQztRQUNwRyxrQkFBYSxHQUF1RixTQUFTLENBQUM7UUFDOUcsa0JBQWEsR0FBaUMsWUFBWSxDQUFDO1FBQ3BFLDREQUE0RDtRQUNsRCxVQUFLLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7SUFPbkUsQ0FBQztJQUxELElBQStCLE9BQU87UUFDcEMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0gsQ0FBQztJQUFBLENBQUM7SUFLRixXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7O3lIQXZCVSwyQkFBMkI7NkdBQTNCLDJCQUEyQixvWENWeEMsNlVBVUE7NEZEQWEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHVCQUF1QjswRUFLeEIsS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUV3QixPQUFPO3NCQUFyQyxXQUFXO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSWNvblR5cGUgfSBmcm9tICcuLi8uLi9pY29uL2ljb24udHlwZXMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LWJ1dHRvbi10b2dnbGUtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24tdG9nZ2xlLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBGd0J1dHRvblRvZ2dsZUl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbj86IEljb25UeXBlO1xuICBASW5wdXQoKSBzZWxlY3RlZEljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnID0gJ21lZGl1bSc7XG4gIEBJbnB1dCgpIGNvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZGFuZ2VyJyB8ICdzbGF0ZScgfCAnc2tlbGV0b24nIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnID0gJ3NsYXRlJztcbiAgQElucHV0KCkgc2VsZWN0ZWRDb2xvcj86ICdwcmltYXJ5JyB8ICdzZWNvbmRhcnknIHwgJ2RhbmdlcicgfCAnc2xhdGUnIHwgJ3NrZWxldG9uJyB8ICd3YXJuaW5nJyB8ICdzdWNjZXNzJyA9ICdwcmltYXJ5JztcbiAgQElucHV0KCkgc2VsZWN0ZWRTdHlsZT86ICdiYWNrZ3JvdW5kJyB8ICdmb3JlZ3JvdW5kJyA9ICdiYWNrZ3JvdW5kJztcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG4gIEBPdXRwdXQoKSBjbGljazogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuY2xhc3MnKSBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbJ2Z3LWJ1dHRvbi10b2dnbGUtaXRlbScsIHRoaXMudGl0bGUgJiYgdGhpcy50aXRsZS5sZW5ndGggPiAwID8gJ2hhcy10aXRsZScgOiAnbm8tdGl0bGUnXS5maWx0ZXIoQm9vbGVhbikuam9pbignICcpO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgaGFuZGxlQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5jbGljay5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG5cbn1cbiIsIjxmdy1idXR0b25cbiAgW3RpdGxlXT1cInRpdGxlXCJcbiAgW2xlZnRJY29uXT1cIihzZWxlY3RlZCAmJiBzZWxlY3RlZEljb24pID8gc2VsZWN0ZWRJY29uIDogaWNvblwiXG4gIFt2YXJpYW50XT1cIihzZWxlY3RlZCAmJiBzZWxlY3RlZFN0eWxlPT09J2JhY2tncm91bmQnKSA/ICdzb2xpZCc6J291dGxpbmUnXCJcbiAgW2NvbG9yXT1cInNlbGVjdGVkID8gc2VsZWN0ZWRDb2xvcjpjb2xvclwiXG4gIFtzaXplXT1cInNpemVcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAoY2xpY2spPVwiaGFuZGxlQ2xpY2soKVwiPlxuICB7eyB0aXRsZSB9fVxuPC9mdy1idXR0b24+XG4iXX0=
@@ -1,132 +0,0 @@
1
- import { Component, ContentChildren, EventEmitter, forwardRef, HostBinding, Input, Output, ViewEncapsulation, } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { FwButtonToggleItemComponent } from './button-toggle-item/button-toggle-item.component';
4
- import * as i0 from "@angular/core";
5
- export class FwButtonToggleComponent {
6
- constructor(cdref) {
7
- this.cdref = cdref;
8
- this.layout = 'basic';
9
- this.size = 'medium';
10
- this.disabled = false;
11
- this.subscriptions = [];
12
- // eslint-disable-next-line @angular-eslint/no-output-native
13
- this.change = new EventEmitter();
14
- this.onTouched = () => {
15
- };
16
- }
17
- get classes() {
18
- return ['fw-button-toggle', this.size, this.layout].filter(Boolean).join(' ');
19
- }
20
- ;
21
- get value() {
22
- return this._value;
23
- }
24
- set value(newValue) {
25
- this.updateValue(newValue);
26
- }
27
- registerOnChange(fn) {
28
- this.onChange = fn;
29
- }
30
- registerOnTouched(fn) {
31
- this.onTouched = fn;
32
- }
33
- setDisabledState(isDisabled) {
34
- this.disabled = isDisabled;
35
- }
36
- writeValue(value) {
37
- this.value = value;
38
- }
39
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
40
- ngOnChanges(changes) {
41
- this.formatToggles();
42
- }
43
- ngOnDestroy() {
44
- for (const subscription of this.subscriptions) {
45
- subscription.unsubscribe();
46
- }
47
- }
48
- ngAfterContentInit() {
49
- if (this.toggleButtons.length > 0) {
50
- this.formatToggles();
51
- }
52
- }
53
- updateValue(value) {
54
- this._value = value;
55
- if (this.onChange) {
56
- this.onChange(value);
57
- }
58
- this.change.emit(value);
59
- }
60
- formatToggles() {
61
- if (this.toggleButtons) {
62
- this.toggleButtons.forEach(toggle => {
63
- if (toggle.value === this.value) {
64
- toggle.selected = true;
65
- }
66
- toggle.size = this.size;
67
- if (this.color) {
68
- toggle.color = this.color;
69
- }
70
- if (this.selectedColor) {
71
- toggle.selectedColor = this.selectedColor;
72
- }
73
- if (this.disabled) {
74
- toggle.disabled = this.disabled;
75
- }
76
- const sub = toggle.click.subscribe(() => {
77
- if (this.toggleButtons.length === 1) {
78
- toggle.selected = !toggle.selected;
79
- }
80
- else {
81
- this.toggleButtons.forEach(t => {
82
- t.selected = false;
83
- });
84
- toggle.selected = true;
85
- }
86
- const val = this.toggleButtons.find(t => t.selected)?.value;
87
- this.writeValue(val);
88
- });
89
- this.subscriptions.push(sub);
90
- });
91
- }
92
- }
93
- }
94
- FwButtonToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonToggleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
95
- FwButtonToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FwButtonToggleComponent, selector: "fw-button-toggle", inputs: { layout: "layout", size: "size", disabled: "disabled", color: "color", selectedColor: "selectedColor", value: "value" }, outputs: { change: "change" }, host: { properties: { "attr.class": "this.classes" } }, providers: [
96
- {
97
- provide: NG_VALUE_ACCESSOR,
98
- useExisting: forwardRef(() => FwButtonToggleComponent),
99
- multi: true,
100
- },
101
- ], queries: [{ propertyName: "toggleButtons", predicate: FwButtonToggleItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: '<ng-content select="fw-button-toggle-item,fw-tooltip"></ng-content>', isInline: true, styles: ["fw-button-toggle.fw-button-toggle{box-sizing:border-box;border-radius:8px;overflow:hidden;display:inline-flex;align-items:stretch}fw-button-toggle.fw-button-toggle .fw-button-toggle-item.no-title button{gap:0}fw-button-toggle.fw-button-toggle button{min-width:0;margin:0!important;border-radius:0;border:1px solid var(--separations-input);border-right-width:0!important}fw-button-toggle.fw-button-toggle>button:first-of-type{border-top-left-radius:8px;border-bottom-left-radius:8px}fw-button-toggle.fw-button-toggle>button:last-of-type{border-top-right-radius:8px;border-bottom-right-radius:8px;border-right-width:1px}fw-button-toggle.fw-button-toggle.compact button{line-height:24px;height:24px}fw-button-toggle.fw-button-toggle.small button{font-size:12px}fw-button-toggle.fw-button-toggle.medium button{font-size:14px}fw-button-toggle.fw-button-toggle.large button{font-size:18px}fw-button-toggle.fw-button-toggle>fw-button-toggle-item:last-of-type button{border-top-right-radius:8px;border-bottom-right-radius:8px;border-right-width:1px!important}fw-button-toggle.fw-button-toggle>fw-button-toggle-item:first-of-type button{border-top-left-radius:8px;border-bottom-left-radius:8px}fw-button-toggle.fw-button-toggle fw-tooltip fw-button-toggle-item button{border-radius:0!important;border-right-width:0!important}fw-button-toggle.fw-button-toggle fw-tooltip:last-of-type fw-button-toggle-item button{border-radius:0 8px 8px 0!important;border-right-width:1px!important}fw-button-toggle.fw-button-toggle fw-tooltip:first-of-type fw-button-toggle-item button{border-radius:8px 0 0 8px!important}\n"], encapsulation: i0.ViewEncapsulation.None });
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FwButtonToggleComponent, decorators: [{
103
- type: Component,
104
- args: [{ selector: 'fw-button-toggle', template: '<ng-content select="fw-button-toggle-item,fw-tooltip"></ng-content>', encapsulation: ViewEncapsulation.None, providers: [
105
- {
106
- provide: NG_VALUE_ACCESSOR,
107
- useExisting: forwardRef(() => FwButtonToggleComponent),
108
- multi: true,
109
- },
110
- ], styles: ["fw-button-toggle.fw-button-toggle{box-sizing:border-box;border-radius:8px;overflow:hidden;display:inline-flex;align-items:stretch}fw-button-toggle.fw-button-toggle .fw-button-toggle-item.no-title button{gap:0}fw-button-toggle.fw-button-toggle button{min-width:0;margin:0!important;border-radius:0;border:1px solid var(--separations-input);border-right-width:0!important}fw-button-toggle.fw-button-toggle>button:first-of-type{border-top-left-radius:8px;border-bottom-left-radius:8px}fw-button-toggle.fw-button-toggle>button:last-of-type{border-top-right-radius:8px;border-bottom-right-radius:8px;border-right-width:1px}fw-button-toggle.fw-button-toggle.compact button{line-height:24px;height:24px}fw-button-toggle.fw-button-toggle.small button{font-size:12px}fw-button-toggle.fw-button-toggle.medium button{font-size:14px}fw-button-toggle.fw-button-toggle.large button{font-size:18px}fw-button-toggle.fw-button-toggle>fw-button-toggle-item:last-of-type button{border-top-right-radius:8px;border-bottom-right-radius:8px;border-right-width:1px!important}fw-button-toggle.fw-button-toggle>fw-button-toggle-item:first-of-type button{border-top-left-radius:8px;border-bottom-left-radius:8px}fw-button-toggle.fw-button-toggle fw-tooltip fw-button-toggle-item button{border-radius:0!important;border-right-width:0!important}fw-button-toggle.fw-button-toggle fw-tooltip:last-of-type fw-button-toggle-item button{border-radius:0 8px 8px 0!important;border-right-width:1px!important}fw-button-toggle.fw-button-toggle fw-tooltip:first-of-type fw-button-toggle-item button{border-radius:8px 0 0 8px!important}\n"] }]
111
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { classes: [{
112
- type: HostBinding,
113
- args: ['attr.class']
114
- }], layout: [{
115
- type: Input
116
- }], size: [{
117
- type: Input
118
- }], disabled: [{
119
- type: Input
120
- }], color: [{
121
- type: Input
122
- }], selectedColor: [{
123
- type: Input
124
- }], toggleButtons: [{
125
- type: ContentChildren,
126
- args: [FwButtonToggleItemComponent, { descendants: true }]
127
- }], change: [{
128
- type: Output
129
- }], value: [{
130
- type: Input
131
- }] } });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXRvZ2dsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9idXR0b24tdG9nZ2xlL2J1dHRvbi10b2dnbGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBR04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7QUFlaEcsTUFBTSxPQUFPLHVCQUF1QjtJQXdCbEMsWUFBb0IsS0FBd0I7UUFBeEIsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFuQm5DLFdBQU0sR0FBeUIsT0FBTyxDQUFDO1FBQ3ZDLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBQy9DLGFBQVEsR0FBYSxLQUFLLENBQUM7UUFJNUIsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBQzNDLDREQUE0RDtRQUNsRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQWU5QyxjQUFTLEdBQUcsR0FBUyxFQUFFO1FBQ3ZCLENBQUMsQ0FBQztJQUpGLENBQUM7SUF4QkQsSUFBK0IsT0FBTztRQUNwQyxPQUFPLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBQUEsQ0FBQztJQVlGLElBQ0ksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsUUFBZ0I7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Z0JBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O3FIQXZHVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixvUUFSdkI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztZQUN0RCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0Ysd0RBWWdCLDJCQUEyQixxRUFwQmxDLHFFQUFxRTs0RkFVcEUsdUJBQXVCO2tCQWJuQyxTQUFTOytCQUNFLGtCQUFrQixZQUVsQixxRUFBcUUsaUJBQ2hFLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dHQUc4QixPQUFPO3NCQUFyQyxXQUFXO3VCQUFDLFlBQVk7Z0JBSWhCLE1BQU07c0JBQWQsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDK0QsYUFBYTtzQkFBakYsZUFBZTt1QkFBQywyQkFBMkIsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBR3pELE1BQU07c0JBQWYsTUFBTTtnQkFHSCxLQUFLO3NCQURSLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGd0J1dHRvblRvZ2dsZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2J1dHRvbi10b2dnbGUtaXRlbS9idXR0b24tdG9nZ2xlLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctYnV0dG9uLXRvZ2dsZScsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi10b2dnbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGU6ICc8bmctY29udGVudCBzZWxlY3Q9XCJmdy1idXR0b24tdG9nZ2xlLWl0ZW0sZnctdG9vbHRpcFwiPjwvbmctY29udGVudD4nLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZ3QnV0dG9uVG9nZ2xlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3QnV0dG9uVG9nZ2xlQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmNsYXNzJykgZ2V0IGNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gWydmdy1idXR0b24tdG9nZ2xlJywgdGhpcy5zaXplLCB0aGlzLmxheW91dF0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKTtcbiAgfTtcblxuICBASW5wdXQoKSBsYXlvdXQ/OiAnYmFzaWMnIHwgJ2NvbXBhY3QnID0gJ2Jhc2ljJztcbiAgQElucHV0KCkgc2l6ZT86ICdzbWFsbCcgfCAnbWVkaXVtJyB8ICdsYXJnZScgPSAnbWVkaXVtJztcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGNvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZGFuZ2VyJyB8ICdzbGF0ZScgfCAnc2tlbGV0b24nIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnO1xuICBASW5wdXQoKSBzZWxlY3RlZENvbG9yPzogJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnZGFuZ2VyJyB8ICdzbGF0ZScgfCAnc2tlbGV0b24nIHwgJ3dhcm5pbmcnIHwgJ3N1Y2Nlc3MnO1xuICBAQ29udGVudENoaWxkcmVuKEZ3QnV0dG9uVG9nZ2xlSXRlbUNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSB0b2dnbGVCdXR0b25zOiBRdWVyeUxpc3Q8RndCdXR0b25Ub2dnbGVJdGVtQ29tcG9uZW50PjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nO1xuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUobmV3VmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIG9uQ2hhbmdlOiAodmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge1xuICB9O1xuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtYXRUb2dnbGVzKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IHN1YnNjcmlwdGlvbiBvZiB0aGlzLnN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50b2dnbGVCdXR0b25zLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuZm9ybWF0VG9nZ2xlcygpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gIH1cblxuICBmb3JtYXRUb2dnbGVzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRvZ2dsZUJ1dHRvbnMpIHtcbiAgICAgIHRoaXMudG9nZ2xlQnV0dG9ucy5mb3JFYWNoKHRvZ2dsZSA9PiB7XG4gICAgICAgIGlmICh0b2dnbGUudmFsdWUgPT09IHRoaXMudmFsdWUpIHtcbiAgICAgICAgICB0b2dnbGUuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRvZ2dsZS5zaXplID0gdGhpcy5zaXplO1xuICAgICAgICBpZiAodGhpcy5jb2xvcikge1xuICAgICAgICAgIHRvZ2dsZS5jb2xvciA9IHRoaXMuY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRDb2xvcikge1xuICAgICAgICAgIHRvZ2dsZS5zZWxlY3RlZENvbG9yID0gdGhpcy5zZWxlY3RlZENvbG9yO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgdG9nZ2xlLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdWIgPSB0b2dnbGUuY2xpY2suc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy50b2dnbGVCdXR0b25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgdG9nZ2xlLnNlbGVjdGVkID0gIXRvZ2dsZS5zZWxlY3RlZDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVCdXR0b25zLmZvckVhY2godCA9PiB7XG4gICAgICAgICAgICAgIHQuc2VsZWN0ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdG9nZ2xlLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgdmFsID0gdGhpcy50b2dnbGVCdXR0b25zLmZpbmQodCA9PiB0LnNlbGVjdGVkKT8udmFsdWU7XG4gICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChzdWIpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=