@skyux/layout 5.2.2 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (352) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-layout.umd.js +264 -243
  3. package/documentation.json +413 -64
  4. package/esm2015/index.js +74 -0
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/lib/modules/action-button/action-button-adapter-service.js +43 -0
  7. package/esm2015/lib/modules/action-button/action-button-adapter-service.js.map +1 -0
  8. package/esm2015/lib/modules/action-button/action-button-container.component.js +145 -0
  9. package/esm2015/lib/modules/action-button/action-button-container.component.js.map +1 -0
  10. package/esm2015/lib/modules/action-button/action-button-details.component.js +17 -0
  11. package/esm2015/lib/modules/action-button/action-button-details.component.js.map +1 -0
  12. package/esm2015/{modules → lib/modules}/action-button/action-button-header.component.js +4 -4
  13. package/esm2015/lib/modules/action-button/action-button-header.component.js.map +1 -0
  14. package/esm2015/lib/modules/action-button/action-button-icon.component.js +44 -0
  15. package/esm2015/lib/modules/action-button/action-button-icon.component.js.map +1 -0
  16. package/esm2015/lib/modules/action-button/action-button-permalink.js +2 -0
  17. package/esm2015/lib/modules/action-button/action-button-permalink.js.map +1 -0
  18. package/esm2015/{modules → lib/modules}/action-button/action-button.component.js +4 -4
  19. package/esm2015/lib/modules/action-button/action-button.component.js.map +1 -0
  20. package/esm2015/lib/modules/action-button/action-button.module.js +62 -0
  21. package/esm2015/lib/modules/action-button/action-button.module.js.map +1 -0
  22. package/esm2015/lib/modules/action-button/types/action-button-container-align-items-type.js +2 -0
  23. package/esm2015/lib/modules/action-button/types/action-button-container-align-items-type.js.map +1 -0
  24. package/esm2015/lib/modules/action-button/types/action-button-container-align-items.js +2 -0
  25. package/esm2015/lib/modules/action-button/types/action-button-container-align-items.js.map +1 -0
  26. package/esm2015/lib/modules/back-to-top/back-to-top-adapter.service.js +89 -0
  27. package/esm2015/lib/modules/back-to-top/back-to-top-adapter.service.js.map +1 -0
  28. package/esm2015/lib/modules/back-to-top/back-to-top.component.js +31 -0
  29. package/esm2015/lib/modules/back-to-top/back-to-top.component.js.map +1 -0
  30. package/esm2015/lib/modules/back-to-top/back-to-top.directive.js +115 -0
  31. package/esm2015/lib/modules/back-to-top/back-to-top.directive.js.map +1 -0
  32. package/esm2015/lib/modules/back-to-top/back-top-top.module.js +36 -0
  33. package/esm2015/lib/modules/back-to-top/back-top-top.module.js.map +1 -0
  34. package/esm2015/lib/modules/back-to-top/models/back-to-top-message-type.js +11 -0
  35. package/esm2015/lib/modules/back-to-top/models/back-to-top-message-type.js.map +1 -0
  36. package/esm2015/lib/modules/back-to-top/models/back-to-top-message.js +2 -0
  37. package/esm2015/lib/modules/back-to-top/models/back-to-top-message.js.map +1 -0
  38. package/esm2015/lib/modules/back-to-top/models/back-to-top-options.js +2 -0
  39. package/esm2015/lib/modules/back-to-top/models/back-to-top-options.js.map +1 -0
  40. package/esm2015/lib/modules/box/box-content.component.js +18 -0
  41. package/esm2015/lib/modules/box/box-content.component.js.map +1 -0
  42. package/esm2015/lib/modules/box/box-controls.component.js +17 -0
  43. package/esm2015/lib/modules/box/box-controls.component.js.map +1 -0
  44. package/esm2015/lib/modules/box/box-header.component.js +17 -0
  45. package/esm2015/lib/modules/box/box-header.component.js.map +1 -0
  46. package/esm2015/lib/modules/box/box.component.js +26 -0
  47. package/esm2015/lib/modules/box/box.component.js.map +1 -0
  48. package/esm2015/lib/modules/box/box.module.js +38 -0
  49. package/esm2015/lib/modules/box/box.module.js.map +1 -0
  50. package/esm2015/lib/modules/card/card-actions.component.js +18 -0
  51. package/esm2015/lib/modules/card/card-actions.component.js.map +1 -0
  52. package/esm2015/lib/modules/card/card-content.component.js +17 -0
  53. package/esm2015/lib/modules/card/card-content.component.js.map +1 -0
  54. package/esm2015/lib/modules/card/card-title.component.js +17 -0
  55. package/esm2015/lib/modules/card/card-title.component.js.map +1 -0
  56. package/esm2015/lib/modules/card/card.component.js +79 -0
  57. package/esm2015/lib/modules/card/card.component.js.map +1 -0
  58. package/esm2015/lib/modules/card/card.module.js +61 -0
  59. package/esm2015/lib/modules/card/card.module.js.map +1 -0
  60. package/esm2015/lib/modules/definition-list/definition-list-content.component.js +19 -0
  61. package/esm2015/lib/modules/definition-list/definition-list-content.component.js.map +1 -0
  62. package/esm2015/lib/modules/definition-list/definition-list-heading.component.js +19 -0
  63. package/esm2015/lib/modules/definition-list/definition-list-heading.component.js.map +1 -0
  64. package/esm2015/lib/modules/definition-list/definition-list-label.component.js +25 -0
  65. package/esm2015/lib/modules/definition-list/definition-list-label.component.js.map +1 -0
  66. package/esm2015/lib/modules/definition-list/definition-list-value.component.js +25 -0
  67. package/esm2015/lib/modules/definition-list/definition-list-value.component.js.map +1 -0
  68. package/esm2015/lib/modules/definition-list/definition-list.component.js +44 -0
  69. package/esm2015/lib/modules/definition-list/definition-list.component.js.map +1 -0
  70. package/esm2015/lib/modules/definition-list/definition-list.module.js +44 -0
  71. package/esm2015/lib/modules/definition-list/definition-list.module.js.map +1 -0
  72. package/esm2015/lib/modules/definition-list/definition-list.service.js +18 -0
  73. package/esm2015/lib/modules/definition-list/definition-list.service.js.map +1 -0
  74. package/esm2015/lib/modules/description-list/description-list-adapter-service.js +43 -0
  75. package/esm2015/lib/modules/description-list/description-list-adapter-service.js.map +1 -0
  76. package/esm2015/lib/modules/description-list/description-list-content.component.js +25 -0
  77. package/esm2015/lib/modules/description-list/description-list-content.component.js.map +1 -0
  78. package/esm2015/lib/modules/description-list/description-list-description.component.js +53 -0
  79. package/esm2015/lib/modules/description-list/description-list-description.component.js.map +1 -0
  80. package/esm2015/lib/modules/description-list/description-list-term.component.js +24 -0
  81. package/esm2015/lib/modules/description-list/description-list-term.component.js.map +1 -0
  82. package/esm2015/lib/modules/description-list/description-list.component.js +107 -0
  83. package/esm2015/lib/modules/description-list/description-list.component.js.map +1 -0
  84. package/esm2015/lib/modules/description-list/description-list.module.js +53 -0
  85. package/esm2015/lib/modules/description-list/description-list.module.js.map +1 -0
  86. package/esm2015/lib/modules/description-list/description-list.service.js +26 -0
  87. package/esm2015/lib/modules/description-list/description-list.service.js.map +1 -0
  88. package/esm2015/lib/modules/description-list/types/description-list-mode-type.js +2 -0
  89. package/esm2015/lib/modules/description-list/types/description-list-mode-type.js.map +1 -0
  90. package/esm2015/lib/modules/description-list/types/description-list-mode.js +24 -0
  91. package/esm2015/lib/modules/description-list/types/description-list-mode.js.map +1 -0
  92. package/esm2015/{modules → lib/modules}/fluid-grid/column.component.js +4 -4
  93. package/esm2015/lib/modules/fluid-grid/column.component.js.map +1 -0
  94. package/esm2015/lib/modules/fluid-grid/fluid-grid-gutter-size.js +20 -0
  95. package/esm2015/lib/modules/fluid-grid/fluid-grid-gutter-size.js.map +1 -0
  96. package/esm2015/lib/modules/fluid-grid/fluid-grid.component.js +66 -0
  97. package/esm2015/lib/modules/fluid-grid/fluid-grid.component.js.map +1 -0
  98. package/esm2015/lib/modules/fluid-grid/fluid-grid.module.js +20 -0
  99. package/esm2015/lib/modules/fluid-grid/fluid-grid.module.js.map +1 -0
  100. package/esm2015/{modules → lib/modules}/fluid-grid/row.component.js +4 -4
  101. package/esm2015/lib/modules/fluid-grid/row.component.js.map +1 -0
  102. package/esm2015/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.js +2 -0
  103. package/esm2015/lib/modules/fluid-grid/types/fluid-grid-gutter-size-type.js.map +1 -0
  104. package/esm2015/lib/modules/format/format-item.js +2 -0
  105. package/esm2015/lib/modules/format/format-item.js.map +1 -0
  106. package/esm2015/lib/modules/format/format.component.js +63 -0
  107. package/esm2015/lib/modules/format/format.component.js.map +1 -0
  108. package/esm2015/lib/modules/format/format.module.js +18 -0
  109. package/esm2015/lib/modules/format/format.module.js.map +1 -0
  110. package/esm2015/lib/modules/inline-delete/inline-delete-adapter.service.js +115 -0
  111. package/esm2015/lib/modules/inline-delete/inline-delete-adapter.service.js.map +1 -0
  112. package/esm2015/lib/modules/inline-delete/inline-delete-type.js +16 -0
  113. package/esm2015/lib/modules/inline-delete/inline-delete-type.js.map +1 -0
  114. package/esm2015/lib/modules/inline-delete/inline-delete.component.js +167 -0
  115. package/esm2015/lib/modules/inline-delete/inline-delete.component.js.map +1 -0
  116. package/esm2015/lib/modules/inline-delete/inline-delete.module.js +34 -0
  117. package/esm2015/lib/modules/inline-delete/inline-delete.module.js.map +1 -0
  118. package/esm2015/lib/modules/page/page-theme-adapter.service.js +26 -0
  119. package/esm2015/lib/modules/page/page-theme-adapter.service.js.map +1 -0
  120. package/esm2015/lib/modules/page/page.component.js +31 -0
  121. package/esm2015/lib/modules/page/page.component.js.map +1 -0
  122. package/esm2015/lib/modules/page/page.module.js +16 -0
  123. package/esm2015/lib/modules/page/page.module.js.map +1 -0
  124. package/esm2015/lib/modules/page-summary/page-summary-adapter.service.js +23 -0
  125. package/esm2015/lib/modules/page-summary/page-summary-adapter.service.js.map +1 -0
  126. package/esm2015/lib/modules/page-summary/page-summary-alert.component.js +21 -0
  127. package/esm2015/lib/modules/page-summary/page-summary-alert.component.js.map +1 -0
  128. package/esm2015/lib/modules/page-summary/page-summary-content.component.js +20 -0
  129. package/esm2015/lib/modules/page-summary/page-summary-content.component.js.map +1 -0
  130. package/esm2015/{modules → lib/modules}/page-summary/page-summary-image.component.js +4 -4
  131. package/esm2015/lib/modules/page-summary/page-summary-image.component.js.map +1 -0
  132. package/esm2015/{modules → lib/modules}/page-summary/page-summary-key-info.component.js +4 -4
  133. package/esm2015/lib/modules/page-summary/page-summary-key-info.component.js.map +1 -0
  134. package/esm2015/lib/modules/page-summary/page-summary-status.component.js +21 -0
  135. package/esm2015/lib/modules/page-summary/page-summary-status.component.js.map +1 -0
  136. package/esm2015/lib/modules/page-summary/page-summary-subtitle.component.js +20 -0
  137. package/esm2015/lib/modules/page-summary/page-summary-subtitle.component.js.map +1 -0
  138. package/esm2015/lib/modules/page-summary/page-summary-title.component.js +20 -0
  139. package/esm2015/lib/modules/page-summary/page-summary-title.component.js.map +1 -0
  140. package/esm2015/{modules → lib/modules}/page-summary/page-summary.component.js +6 -6
  141. package/esm2015/lib/modules/page-summary/page-summary.component.js.map +1 -0
  142. package/esm2015/lib/modules/page-summary/page-summary.module.js +57 -0
  143. package/esm2015/lib/modules/page-summary/page-summary.module.js.map +1 -0
  144. package/esm2015/lib/modules/shared/sky-layout-resources.module.js +60 -0
  145. package/esm2015/lib/modules/shared/sky-layout-resources.module.js.map +1 -0
  146. package/esm2015/lib/modules/text-expand/text-expand-adapter.service.js +31 -0
  147. package/esm2015/lib/modules/text-expand/text-expand-adapter.service.js.map +1 -0
  148. package/esm2015/lib/modules/text-expand/text-expand-modal-context.js +6 -0
  149. package/esm2015/lib/modules/text-expand/text-expand-modal-context.js.map +1 -0
  150. package/esm2015/lib/modules/text-expand/text-expand-modal.component.js +30 -0
  151. package/esm2015/lib/modules/text-expand/text-expand-modal.component.js.map +1 -0
  152. package/esm2015/lib/modules/text-expand/text-expand.component.js +252 -0
  153. package/esm2015/lib/modules/text-expand/text-expand.component.js.map +1 -0
  154. package/esm2015/lib/modules/text-expand/text-expand.module.js +36 -0
  155. package/esm2015/lib/modules/text-expand/text-expand.module.js.map +1 -0
  156. package/esm2015/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.js +37 -0
  157. package/esm2015/lib/modules/text-expand-repeater/text-expand-repeater-adapter.service.js.map +1 -0
  158. package/esm2015/lib/modules/text-expand-repeater/text-expand-repeater.component.js +176 -0
  159. package/esm2015/lib/modules/text-expand-repeater/text-expand-repeater.component.js.map +1 -0
  160. package/esm2015/lib/modules/text-expand-repeater/text-expand-repeater.module.js +20 -0
  161. package/esm2015/lib/modules/text-expand-repeater/text-expand-repeater.module.js.map +1 -0
  162. package/esm2015/lib/modules/text-expand-repeater/types/text-expand-repeater-list-style-type.js +2 -0
  163. package/esm2015/lib/modules/text-expand-repeater/types/text-expand-repeater-list-style-type.js.map +1 -0
  164. package/esm2015/{modules → lib/modules}/toolbar/toolbar-item.component.js +4 -4
  165. package/esm2015/lib/modules/toolbar/toolbar-item.component.js.map +1 -0
  166. package/esm2015/lib/modules/toolbar/toolbar-section.component.js +18 -0
  167. package/esm2015/lib/modules/toolbar/toolbar-section.component.js.map +1 -0
  168. package/esm2015/{modules → lib/modules}/toolbar/toolbar-view-actions.component.js +4 -4
  169. package/esm2015/lib/modules/toolbar/toolbar-view-actions.component.js.map +1 -0
  170. package/esm2015/{modules → lib/modules}/toolbar/toolbar.component.js +5 -5
  171. package/esm2015/lib/modules/toolbar/toolbar.component.js.map +1 -0
  172. package/esm2015/lib/modules/toolbar/toolbar.module.js +37 -0
  173. package/esm2015/lib/modules/toolbar/toolbar.module.js.map +1 -0
  174. package/esm2015/skyux-layout.js +2 -2
  175. package/esm2015/skyux-layout.js.map +1 -0
  176. package/esm2015/testing/action-button-fixture.js +1 -1
  177. package/esm2015/testing/action-button-fixture.js.map +1 -0
  178. package/esm2015/testing/card-fixture.js +1 -1
  179. package/esm2015/testing/card-fixture.js.map +1 -0
  180. package/esm2015/testing/page-summary-fixture.js +1 -1
  181. package/esm2015/testing/page-summary-fixture.js.map +1 -0
  182. package/esm2015/testing/public-api.js +1 -1
  183. package/esm2015/testing/public-api.js.map +1 -0
  184. package/esm2015/testing/skyux-layout-testing.js +1 -1
  185. package/esm2015/testing/skyux-layout-testing.js.map +1 -0
  186. package/fesm2015/skyux-layout-testing.js.map +1 -1
  187. package/fesm2015/skyux-layout.js +264 -243
  188. package/fesm2015/skyux-layout.js.map +1 -1
  189. package/index.d.ts +71 -0
  190. package/{modules → lib/modules}/action-button/action-button-adapter-service.d.ts +0 -0
  191. package/{modules → lib/modules}/action-button/action-button-container.component.d.ts +2 -1
  192. package/{modules → lib/modules}/action-button/action-button-details.component.d.ts +0 -0
  193. package/{modules → lib/modules}/action-button/action-button-header.component.d.ts +0 -0
  194. package/{modules → lib/modules}/action-button/action-button-icon.component.d.ts +1 -1
  195. package/{modules → lib/modules}/action-button/action-button-permalink.d.ts +0 -0
  196. package/{modules → lib/modules}/action-button/action-button.component.d.ts +0 -0
  197. package/{modules → lib/modules}/action-button/action-button.module.d.ts +0 -0
  198. package/{modules → lib/modules}/action-button/types/action-button-container-align-items-type.d.ts +0 -0
  199. package/{modules → lib/modules}/action-button/types/action-button-container-align-items.d.ts +0 -0
  200. package/{modules → lib/modules}/back-to-top/back-to-top-adapter.service.d.ts +0 -0
  201. package/{modules → lib/modules}/back-to-top/back-to-top.component.d.ts +0 -0
  202. package/{modules → lib/modules}/back-to-top/back-to-top.directive.d.ts +0 -0
  203. package/{modules → lib/modules}/back-to-top/back-top-top.module.d.ts +0 -0
  204. package/{modules → lib/modules}/back-to-top/models/back-to-top-message-type.d.ts +0 -0
  205. package/{modules → lib/modules}/back-to-top/models/back-to-top-message.d.ts +0 -0
  206. package/{modules → lib/modules}/back-to-top/models/back-to-top-options.d.ts +0 -0
  207. package/{modules → lib/modules}/box/box-content.component.d.ts +0 -0
  208. package/{modules → lib/modules}/box/box-controls.component.d.ts +0 -0
  209. package/{modules → lib/modules}/box/box-header.component.d.ts +0 -0
  210. package/{modules → lib/modules}/box/box.component.d.ts +0 -0
  211. package/{modules → lib/modules}/box/box.module.d.ts +0 -0
  212. package/{modules → lib/modules}/card/card-actions.component.d.ts +0 -0
  213. package/{modules → lib/modules}/card/card-content.component.d.ts +0 -0
  214. package/{modules → lib/modules}/card/card-title.component.d.ts +0 -0
  215. package/{modules → lib/modules}/card/card.component.d.ts +2 -2
  216. package/{modules → lib/modules}/card/card.module.d.ts +0 -0
  217. package/{modules → lib/modules}/definition-list/definition-list-content.component.d.ts +0 -0
  218. package/{modules → lib/modules}/definition-list/definition-list-heading.component.d.ts +0 -0
  219. package/{modules → lib/modules}/definition-list/definition-list-label.component.d.ts +0 -0
  220. package/{modules → lib/modules}/definition-list/definition-list-value.component.d.ts +0 -0
  221. package/{modules → lib/modules}/definition-list/definition-list.component.d.ts +2 -2
  222. package/{modules → lib/modules}/definition-list/definition-list.module.d.ts +0 -0
  223. package/{modules → lib/modules}/definition-list/definition-list.service.d.ts +0 -0
  224. package/{modules → lib/modules}/description-list/description-list-adapter-service.d.ts +0 -0
  225. package/{modules → lib/modules}/description-list/description-list-content.component.d.ts +0 -0
  226. package/{modules → lib/modules}/description-list/description-list-description.component.d.ts +0 -0
  227. package/{modules → lib/modules}/description-list/description-list-term.component.d.ts +0 -0
  228. package/{modules → lib/modules}/description-list/description-list.component.d.ts +4 -3
  229. package/{modules → lib/modules}/description-list/description-list.module.d.ts +0 -0
  230. package/{modules → lib/modules}/description-list/description-list.service.d.ts +0 -0
  231. package/{modules → lib/modules}/description-list/types/description-list-mode-type.d.ts +0 -0
  232. package/{modules → lib/modules}/description-list/types/description-list-mode.d.ts +0 -0
  233. package/{modules → lib/modules}/fluid-grid/column.component.d.ts +0 -0
  234. package/{modules → lib/modules}/fluid-grid/fluid-grid-gutter-size.d.ts +0 -0
  235. package/{modules → lib/modules}/fluid-grid/fluid-grid.component.d.ts +2 -2
  236. package/{modules → lib/modules}/fluid-grid/fluid-grid.module.d.ts +0 -0
  237. package/{modules → lib/modules}/fluid-grid/row.component.d.ts +0 -0
  238. package/{modules → lib/modules}/fluid-grid/types/fluid-grid-gutter-size-type.d.ts +0 -0
  239. package/{modules → lib/modules}/format/format-item.d.ts +0 -0
  240. package/{modules → lib/modules}/format/format.component.d.ts +0 -0
  241. package/{modules → lib/modules}/format/format.module.d.ts +0 -0
  242. package/{modules → lib/modules}/inline-delete/inline-delete-adapter.service.d.ts +0 -0
  243. package/{modules → lib/modules}/inline-delete/inline-delete-type.d.ts +0 -0
  244. package/{modules → lib/modules}/inline-delete/inline-delete.component.d.ts +1 -1
  245. package/{modules → lib/modules}/inline-delete/inline-delete.module.d.ts +0 -0
  246. package/{modules → lib/modules}/page/page-theme-adapter.service.d.ts +0 -0
  247. package/{modules → lib/modules}/page/page.component.d.ts +0 -0
  248. package/{modules → lib/modules}/page/page.module.d.ts +0 -0
  249. package/{modules → lib/modules}/page-summary/page-summary-adapter.service.d.ts +0 -0
  250. package/{modules → lib/modules}/page-summary/page-summary-alert.component.d.ts +1 -1
  251. package/{modules → lib/modules}/page-summary/page-summary-content.component.d.ts +0 -0
  252. package/{modules → lib/modules}/page-summary/page-summary-image.component.d.ts +0 -0
  253. package/{modules → lib/modules}/page-summary/page-summary-key-info.component.d.ts +0 -0
  254. package/{modules → lib/modules}/page-summary/page-summary-status.component.d.ts +0 -0
  255. package/{modules → lib/modules}/page-summary/page-summary-subtitle.component.d.ts +0 -0
  256. package/{modules → lib/modules}/page-summary/page-summary-title.component.d.ts +0 -0
  257. package/{modules → lib/modules}/page-summary/page-summary.component.d.ts +0 -0
  258. package/{modules → lib/modules}/page-summary/page-summary.module.d.ts +0 -0
  259. package/{modules → lib/modules}/shared/sky-layout-resources.module.d.ts +0 -0
  260. package/{modules → lib/modules}/text-expand/text-expand-adapter.service.d.ts +0 -0
  261. package/{modules → lib/modules}/text-expand/text-expand-modal-context.d.ts +0 -0
  262. package/{modules → lib/modules}/text-expand/text-expand-modal.component.d.ts +0 -0
  263. package/{modules → lib/modules}/text-expand/text-expand.component.d.ts +1 -1
  264. package/{modules → lib/modules}/text-expand/text-expand.module.d.ts +0 -0
  265. package/{modules → lib/modules}/text-expand-repeater/text-expand-repeater-adapter.service.d.ts +0 -0
  266. package/{modules → lib/modules}/text-expand-repeater/text-expand-repeater.component.d.ts +1 -1
  267. package/{modules → lib/modules}/text-expand-repeater/text-expand-repeater.module.d.ts +0 -0
  268. package/{modules → lib/modules}/text-expand-repeater/types/text-expand-repeater-list-style-type.d.ts +0 -0
  269. package/{modules → lib/modules}/toolbar/toolbar-item.component.d.ts +0 -0
  270. package/{modules → lib/modules}/toolbar/toolbar-section.component.d.ts +0 -0
  271. package/{modules → lib/modules}/toolbar/toolbar-view-actions.component.d.ts +0 -0
  272. package/{modules → lib/modules}/toolbar/toolbar.component.d.ts +0 -0
  273. package/{modules → lib/modules}/toolbar/toolbar.module.d.ts +0 -0
  274. package/package.json +26 -12
  275. package/skyux-layout.d.ts +1 -1
  276. package/LICENSE +0 -21
  277. package/esm2015/modules/action-button/action-button-adapter-service.js +0 -43
  278. package/esm2015/modules/action-button/action-button-container.component.js +0 -142
  279. package/esm2015/modules/action-button/action-button-details.component.js +0 -17
  280. package/esm2015/modules/action-button/action-button-icon.component.js +0 -44
  281. package/esm2015/modules/action-button/action-button-permalink.js +0 -2
  282. package/esm2015/modules/action-button/action-button.module.js +0 -62
  283. package/esm2015/modules/action-button/types/action-button-container-align-items-type.js +0 -2
  284. package/esm2015/modules/action-button/types/action-button-container-align-items.js +0 -2
  285. package/esm2015/modules/back-to-top/back-to-top-adapter.service.js +0 -88
  286. package/esm2015/modules/back-to-top/back-to-top.component.js +0 -31
  287. package/esm2015/modules/back-to-top/back-to-top.directive.js +0 -114
  288. package/esm2015/modules/back-to-top/back-top-top.module.js +0 -36
  289. package/esm2015/modules/back-to-top/models/back-to-top-message-type.js +0 -11
  290. package/esm2015/modules/back-to-top/models/back-to-top-message.js +0 -2
  291. package/esm2015/modules/back-to-top/models/back-to-top-options.js +0 -2
  292. package/esm2015/modules/box/box-content.component.js +0 -18
  293. package/esm2015/modules/box/box-controls.component.js +0 -17
  294. package/esm2015/modules/box/box-header.component.js +0 -17
  295. package/esm2015/modules/box/box.component.js +0 -26
  296. package/esm2015/modules/box/box.module.js +0 -38
  297. package/esm2015/modules/card/card-actions.component.js +0 -18
  298. package/esm2015/modules/card/card-content.component.js +0 -17
  299. package/esm2015/modules/card/card-title.component.js +0 -17
  300. package/esm2015/modules/card/card.component.js +0 -79
  301. package/esm2015/modules/card/card.module.js +0 -61
  302. package/esm2015/modules/definition-list/definition-list-content.component.js +0 -19
  303. package/esm2015/modules/definition-list/definition-list-heading.component.js +0 -19
  304. package/esm2015/modules/definition-list/definition-list-label.component.js +0 -24
  305. package/esm2015/modules/definition-list/definition-list-value.component.js +0 -24
  306. package/esm2015/modules/definition-list/definition-list.component.js +0 -44
  307. package/esm2015/modules/definition-list/definition-list.module.js +0 -44
  308. package/esm2015/modules/definition-list/definition-list.service.js +0 -18
  309. package/esm2015/modules/description-list/description-list-adapter-service.js +0 -43
  310. package/esm2015/modules/description-list/description-list-content.component.js +0 -25
  311. package/esm2015/modules/description-list/description-list-description.component.js +0 -51
  312. package/esm2015/modules/description-list/description-list-term.component.js +0 -24
  313. package/esm2015/modules/description-list/description-list.component.js +0 -105
  314. package/esm2015/modules/description-list/description-list.module.js +0 -53
  315. package/esm2015/modules/description-list/description-list.service.js +0 -26
  316. package/esm2015/modules/description-list/types/description-list-mode-type.js +0 -2
  317. package/esm2015/modules/description-list/types/description-list-mode.js +0 -24
  318. package/esm2015/modules/fluid-grid/fluid-grid-gutter-size.js +0 -20
  319. package/esm2015/modules/fluid-grid/fluid-grid.component.js +0 -66
  320. package/esm2015/modules/fluid-grid/fluid-grid.module.js +0 -20
  321. package/esm2015/modules/fluid-grid/types/fluid-grid-gutter-size-type.js +0 -2
  322. package/esm2015/modules/format/format-item.js +0 -2
  323. package/esm2015/modules/format/format.component.js +0 -63
  324. package/esm2015/modules/format/format.module.js +0 -18
  325. package/esm2015/modules/inline-delete/inline-delete-adapter.service.js +0 -114
  326. package/esm2015/modules/inline-delete/inline-delete-type.js +0 -16
  327. package/esm2015/modules/inline-delete/inline-delete.component.js +0 -167
  328. package/esm2015/modules/inline-delete/inline-delete.module.js +0 -34
  329. package/esm2015/modules/page/page-theme-adapter.service.js +0 -26
  330. package/esm2015/modules/page/page.component.js +0 -31
  331. package/esm2015/modules/page/page.module.js +0 -16
  332. package/esm2015/modules/page-summary/page-summary-adapter.service.js +0 -23
  333. package/esm2015/modules/page-summary/page-summary-alert.component.js +0 -21
  334. package/esm2015/modules/page-summary/page-summary-content.component.js +0 -20
  335. package/esm2015/modules/page-summary/page-summary-status.component.js +0 -21
  336. package/esm2015/modules/page-summary/page-summary-subtitle.component.js +0 -20
  337. package/esm2015/modules/page-summary/page-summary-title.component.js +0 -20
  338. package/esm2015/modules/page-summary/page-summary.module.js +0 -57
  339. package/esm2015/modules/shared/sky-layout-resources.module.js +0 -41
  340. package/esm2015/modules/text-expand/text-expand-adapter.service.js +0 -31
  341. package/esm2015/modules/text-expand/text-expand-modal-context.js +0 -6
  342. package/esm2015/modules/text-expand/text-expand-modal.component.js +0 -28
  343. package/esm2015/modules/text-expand/text-expand.component.js +0 -250
  344. package/esm2015/modules/text-expand/text-expand.module.js +0 -36
  345. package/esm2015/modules/text-expand-repeater/text-expand-repeater-adapter.service.js +0 -37
  346. package/esm2015/modules/text-expand-repeater/text-expand-repeater.component.js +0 -175
  347. package/esm2015/modules/text-expand-repeater/text-expand-repeater.module.js +0 -20
  348. package/esm2015/modules/text-expand-repeater/types/text-expand-repeater-list-style-type.js +0 -2
  349. package/esm2015/modules/toolbar/toolbar-section.component.js +0 -18
  350. package/esm2015/modules/toolbar/toolbar.module.js +0 -37
  351. package/esm2015/public-api.js +0 -74
  352. package/public-api.d.ts +0 -71
@@ -1,21 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Displays messages that require immediate attention as [alerts](https://developer.blackbaud.com/skyux-indicators/docs/alert) within
5
- * the page summary.
6
- */
7
- /* istanbul ignore next */
8
- /* Code coverage having problems with no statements in classes */
9
- export class SkyPageSummaryAlertComponent {
10
- }
11
- SkyPageSummaryAlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryAlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- SkyPageSummaryAlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyPageSummaryAlertComponent, selector: "sky-page-summary-alert", ngImport: i0, template: "<ng-content></ng-content>\n", styles: ["::ng-deep .sky-alert{margin-top:0;margin-bottom:20px;line-height:initial}\n"] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryAlertComponent, decorators: [{
14
- type: Component,
15
- args: [{
16
- selector: 'sky-page-summary-alert',
17
- templateUrl: './page-summary-alert.component.html',
18
- styleUrls: ['./page-summary-alert.component.scss'],
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zdW1tYXJ5LWFsZXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbW9kdWxlcy9wYWdlLXN1bW1hcnkvcGFnZS1zdW1tYXJ5LWFsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbW9kdWxlcy9wYWdlLXN1bW1hcnkvcGFnZS1zdW1tYXJ5LWFsZXJ0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOzs7R0FHRztBQU1ILDBCQUEwQjtBQUMxQixpRUFBaUU7QUFDakUsTUFBTSxPQUFPLDRCQUE0Qjs7MEhBQTVCLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLDhEQ2J6Qyw2QkFDQTs0RkRZYSw0QkFBNEI7a0JBUHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsV0FBVyxFQUFFLHFDQUFxQztvQkFDbEQsU0FBUyxFQUFFLENBQUMscUNBQXFDLENBQUM7aUJBQ25EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogRGlzcGxheXMgbWVzc2FnZXMgdGhhdCByZXF1aXJlIGltbWVkaWF0ZSBhdHRlbnRpb24gYXMgW2FsZXJ0c10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC1pbmRpY2F0b3JzL2RvY3MvYWxlcnQpIHdpdGhpblxuICogdGhlIHBhZ2Ugc3VtbWFyeS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXBhZ2Utc3VtbWFyeS1hbGVydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdlLXN1bW1hcnktYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdlLXN1bW1hcnktYWxlcnQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuLyogQ29kZSBjb3ZlcmFnZSBoYXZpbmcgcHJvYmxlbXMgd2l0aCBubyBzdGF0ZW1lbnRzIGluIGNsYXNzZXMgKi9cbmV4cG9ydCBjbGFzcyBTa3lQYWdlU3VtbWFyeUFsZXJ0Q29tcG9uZW50IHt9XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Displays content in the arbitrary section of the page summary.
5
- */
6
- /* istanbul ignore next */
7
- /* Code coverage having problems with no statements in classes */
8
- export class SkyPageSummaryContentComponent {
9
- }
10
- SkyPageSummaryContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- SkyPageSummaryContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyPageSummaryContentComponent, selector: "sky-page-summary-content", ngImport: i0, template: "<div class=\"sky-page-summary-content\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-page-summary-content{margin-top:20px}\n"] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryContentComponent, decorators: [{
13
- type: Component,
14
- args: [{
15
- selector: 'sky-page-summary-content',
16
- templateUrl: './page-summary-content.component.html',
17
- styleUrls: ['./page-summary-content.component.scss'],
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zdW1tYXJ5LWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L3NyYy9tb2R1bGVzL3BhZ2Utc3VtbWFyeS9wYWdlLXN1bW1hcnktY29udGVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvc3JjL21vZHVsZXMvcGFnZS1zdW1tYXJ5L3BhZ2Utc3VtbWFyeS1jb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOztHQUVHO0FBTUgsMEJBQTBCO0FBQzFCLGlFQUFpRTtBQUNqRSxNQUFNLE9BQU8sOEJBQThCOzs0SEFBOUIsOEJBQThCO2dIQUE5Qiw4QkFBOEIsZ0VDWjNDLGlGQUdBOzRGRFNhLDhCQUE4QjtrQkFQMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztpQkFDckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBEaXNwbGF5cyBjb250ZW50IGluIHRoZSBhcmJpdHJhcnkgc2VjdGlvbiBvZiB0aGUgcGFnZSBzdW1tYXJ5LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcGFnZS1zdW1tYXJ5LWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1zdW1tYXJ5LWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9wYWdlLXN1bW1hcnktY29udGVudC5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4vKiBDb2RlIGNvdmVyYWdlIGhhdmluZyBwcm9ibGVtcyB3aXRoIG5vIHN0YXRlbWVudHMgaW4gY2xhc3NlcyAqL1xuZXhwb3J0IGNsYXNzIFNreVBhZ2VTdW1tYXJ5Q29udGVudENvbXBvbmVudCB7fVxuIiwiPGRpdiBjbGFzcz1cInNreS1wYWdlLXN1bW1hcnktY29udGVudFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,21 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Displays [labels](https://developer.blackbaud.com/skyux/components/label)
5
- * to highlight important status information about a page's content.
6
- */
7
- /* istanbul ignore next */
8
- /* Code coverage having problems with no statements in classes */
9
- export class SkyPageSummaryStatusComponent {
10
- }
11
- SkyPageSummaryStatusComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- SkyPageSummaryStatusComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyPageSummaryStatusComponent, selector: "sky-page-summary-status", ngImport: i0, template: "<div class=\"sky-page-summary-status\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-page-summary-status{margin-top:10px}.sky-page-summary-status ::ng-deep .sky-label{margin-right:5px}\n"] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryStatusComponent, decorators: [{
14
- type: Component,
15
- args: [{
16
- selector: 'sky-page-summary-status',
17
- templateUrl: './page-summary-status.component.html',
18
- styleUrls: ['./page-summary-status.component.scss'],
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zdW1tYXJ5LXN0YXR1cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvc3JjL21vZHVsZXMvcGFnZS1zdW1tYXJ5L3BhZ2Utc3VtbWFyeS1zdGF0dXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L3NyYy9tb2R1bGVzL3BhZ2Utc3VtbWFyeS9wYWdlLXN1bW1hcnktc3RhdHVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOzs7R0FHRztBQU1ILDBCQUEwQjtBQUMxQixpRUFBaUU7QUFDakUsTUFBTSxPQUFPLDZCQUE2Qjs7MkhBQTdCLDZCQUE2QjsrR0FBN0IsNkJBQTZCLCtEQ2IxQyxnRkFHQTs0RkRVYSw2QkFBNkI7a0JBUHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsV0FBVyxFQUFFLHNDQUFzQztvQkFDbkQsU0FBUyxFQUFFLENBQUMsc0NBQXNDLENBQUM7aUJBQ3BEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogRGlzcGxheXMgW2xhYmVsc10oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2xhYmVsKVxuICogdG8gaGlnaGxpZ2h0IGltcG9ydGFudCBzdGF0dXMgaW5mb3JtYXRpb24gYWJvdXQgYSBwYWdlJ3MgY29udGVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXBhZ2Utc3VtbWFyeS1zdGF0dXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnZS1zdW1tYXJ5LXN0YXR1cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2Utc3VtbWFyeS1zdGF0dXMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuLyogQ29kZSBjb3ZlcmFnZSBoYXZpbmcgcHJvYmxlbXMgd2l0aCBubyBzdGF0ZW1lbnRzIGluIGNsYXNzZXMgKi9cbmV4cG9ydCBjbGFzcyBTa3lQYWdlU3VtbWFyeVN0YXR1c0NvbXBvbmVudCB7fVxuIiwiPGRpdiBjbGFzcz1cInNreS1wYWdlLXN1bW1hcnktc3RhdHVzXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -1,20 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Specifies a subtitle to identify the page content.
5
- */
6
- /* istanbul ignore next */
7
- /* Code coverage having problems with no statements in classes */
8
- export class SkyPageSummarySubtitleComponent {
9
- }
10
- SkyPageSummarySubtitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummarySubtitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- SkyPageSummarySubtitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyPageSummarySubtitleComponent, selector: "sky-page-summary-subtitle", ngImport: i0, template: "<p class=\"sky-page-summary-subtitle sky-emphasized\">\n <ng-content></ng-content>\n</p>\n", styles: [".sky-page-summary-subtitle{margin-top:0;margin-bottom:10px;line-height:1.1}\n"] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummarySubtitleComponent, decorators: [{
13
- type: Component,
14
- args: [{
15
- selector: 'sky-page-summary-subtitle',
16
- templateUrl: './page-summary-subtitle.component.html',
17
- styleUrls: ['./page-summary-subtitle.component.scss'],
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zdW1tYXJ5LXN1YnRpdGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbW9kdWxlcy9wYWdlLXN1bW1hcnkvcGFnZS1zdW1tYXJ5LXN1YnRpdGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbW9kdWxlcy9wYWdlLXN1bW1hcnkvcGFnZS1zdW1tYXJ5LXN1YnRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOztHQUVHO0FBTUgsMEJBQTBCO0FBQzFCLGlFQUFpRTtBQUNqRSxNQUFNLE9BQU8sK0JBQStCOzs2SEFBL0IsK0JBQStCO2lIQUEvQiwrQkFBK0IsaUVDWjVDLDZGQUdBOzRGRFNhLCtCQUErQjtrQkFQM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxXQUFXLEVBQUUsd0NBQXdDO29CQUNyRCxTQUFTLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQztpQkFDdEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgYSBzdWJ0aXRsZSB0byBpZGVudGlmeSB0aGUgcGFnZSBjb250ZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcGFnZS1zdW1tYXJ5LXN1YnRpdGxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2Utc3VtbWFyeS1zdWJ0aXRsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2Utc3VtbWFyeS1zdWJ0aXRsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4vKiBDb2RlIGNvdmVyYWdlIGhhdmluZyBwcm9ibGVtcyB3aXRoIG5vIHN0YXRlbWVudHMgaW4gY2xhc3NlcyAqL1xuZXhwb3J0IGNsYXNzIFNreVBhZ2VTdW1tYXJ5U3VidGl0bGVDb21wb25lbnQge31cbiIsIjxwIGNsYXNzPVwic2t5LXBhZ2Utc3VtbWFyeS1zdWJ0aXRsZSBza3ktZW1waGFzaXplZFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L3A+XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Specifies a title to identify the page content.
5
- */
6
- /* istanbul ignore next */
7
- /* Code coverage having problems with no statements in classes */
8
- export class SkyPageSummaryTitleComponent {
9
- }
10
- SkyPageSummaryTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
- SkyPageSummaryTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyPageSummaryTitleComponent, selector: "sky-page-summary-title", ngImport: i0, template: "<h1 class=\"sky-page-summary-title sky-page-heading\">\n <ng-content></ng-content>\n</h1>\n", styles: [".sky-page-summary-title{margin-top:0;margin-bottom:5px}\n"] });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryTitleComponent, decorators: [{
13
- type: Component,
14
- args: [{
15
- selector: 'sky-page-summary-title',
16
- templateUrl: './page-summary-title.component.html',
17
- styleUrls: ['./page-summary-title.component.scss'],
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zdW1tYXJ5LXRpdGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbW9kdWxlcy9wYWdlLXN1bW1hcnkvcGFnZS1zdW1tYXJ5LXRpdGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbW9kdWxlcy9wYWdlLXN1bW1hcnkvcGFnZS1zdW1tYXJ5LXRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRTFDOztHQUVHO0FBTUgsMEJBQTBCO0FBQzFCLGlFQUFpRTtBQUNqRSxNQUFNLE9BQU8sNEJBQTRCOzswSEFBNUIsNEJBQTRCOzhHQUE1Qiw0QkFBNEIsOERDWnpDLDhGQUdBOzRGRFNhLDRCQUE0QjtrQkFQeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUscUNBQXFDO29CQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztpQkFDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgYSB0aXRsZSB0byBpZGVudGlmeSB0aGUgcGFnZSBjb250ZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcGFnZS1zdW1tYXJ5LXRpdGxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BhZ2Utc3VtbWFyeS10aXRsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2Utc3VtbWFyeS10aXRsZS5jb21wb25lbnQuc2NzcyddLFxufSlcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4vKiBDb2RlIGNvdmVyYWdlIGhhdmluZyBwcm9ibGVtcyB3aXRoIG5vIHN0YXRlbWVudHMgaW4gY2xhc3NlcyAqL1xuZXhwb3J0IGNsYXNzIFNreVBhZ2VTdW1tYXJ5VGl0bGVDb21wb25lbnQge31cbiIsIjxoMSBjbGFzcz1cInNreS1wYWdlLXN1bW1hcnktdGl0bGUgc2t5LXBhZ2UtaGVhZGluZ1wiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2gxPlxuIl19
@@ -1,57 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { NgModule } from '@angular/core';
3
- import { SkyPageSummaryAlertComponent } from './page-summary-alert.component';
4
- import { SkyPageSummaryContentComponent } from './page-summary-content.component';
5
- import { SkyPageSummaryImageComponent } from './page-summary-image.component';
6
- import { SkyPageSummaryKeyInfoComponent } from './page-summary-key-info.component';
7
- import { SkyPageSummaryStatusComponent } from './page-summary-status.component';
8
- import { SkyPageSummarySubtitleComponent } from './page-summary-subtitle.component';
9
- import { SkyPageSummaryTitleComponent } from './page-summary-title.component';
10
- import { SkyPageSummaryComponent } from './page-summary.component';
11
- import * as i0 from "@angular/core";
12
- export class SkyPageSummaryModule {
13
- }
14
- SkyPageSummaryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
15
- SkyPageSummaryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryModule, declarations: [SkyPageSummaryAlertComponent,
16
- SkyPageSummaryComponent,
17
- SkyPageSummaryContentComponent,
18
- SkyPageSummaryImageComponent,
19
- SkyPageSummaryKeyInfoComponent,
20
- SkyPageSummaryStatusComponent,
21
- SkyPageSummarySubtitleComponent,
22
- SkyPageSummaryTitleComponent], imports: [CommonModule], exports: [SkyPageSummaryAlertComponent,
23
- SkyPageSummaryComponent,
24
- SkyPageSummaryContentComponent,
25
- SkyPageSummaryImageComponent,
26
- SkyPageSummaryKeyInfoComponent,
27
- SkyPageSummaryStatusComponent,
28
- SkyPageSummarySubtitleComponent,
29
- SkyPageSummaryTitleComponent] });
30
- SkyPageSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryModule, imports: [[CommonModule]] });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyPageSummaryModule, decorators: [{
32
- type: NgModule,
33
- args: [{
34
- declarations: [
35
- SkyPageSummaryAlertComponent,
36
- SkyPageSummaryComponent,
37
- SkyPageSummaryContentComponent,
38
- SkyPageSummaryImageComponent,
39
- SkyPageSummaryKeyInfoComponent,
40
- SkyPageSummaryStatusComponent,
41
- SkyPageSummarySubtitleComponent,
42
- SkyPageSummaryTitleComponent,
43
- ],
44
- imports: [CommonModule],
45
- exports: [
46
- SkyPageSummaryAlertComponent,
47
- SkyPageSummaryComponent,
48
- SkyPageSummaryContentComponent,
49
- SkyPageSummaryImageComponent,
50
- SkyPageSummaryKeyInfoComponent,
51
- SkyPageSummaryStatusComponent,
52
- SkyPageSummarySubtitleComponent,
53
- SkyPageSummaryTitleComponent,
54
- ],
55
- }]
56
- }] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zdW1tYXJ5Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbW9kdWxlcy9wYWdlLXN1bW1hcnkvcGFnZS1zdW1tYXJ5Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU5RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU5RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVoRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVwRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUF5Qm5FLE1BQU0sT0FBTyxvQkFBb0I7O2tIQUFwQixvQkFBb0I7bUhBQXBCLG9CQUFvQixpQkFyQjdCLDRCQUE0QjtRQUM1Qix1QkFBdUI7UUFDdkIsOEJBQThCO1FBQzlCLDRCQUE0QjtRQUM1Qiw4QkFBOEI7UUFDOUIsNkJBQTZCO1FBQzdCLCtCQUErQjtRQUMvQiw0QkFBNEIsYUFFcEIsWUFBWSxhQUVwQiw0QkFBNEI7UUFDNUIsdUJBQXVCO1FBQ3ZCLDhCQUE4QjtRQUM5Qiw0QkFBNEI7UUFDNUIsOEJBQThCO1FBQzlCLDZCQUE2QjtRQUM3QiwrQkFBK0I7UUFDL0IsNEJBQTRCO21IQUduQixvQkFBb0IsWUFadEIsQ0FBQyxZQUFZLENBQUM7NEZBWVosb0JBQW9CO2tCQXZCaEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNEJBQTRCO3dCQUM1Qix1QkFBdUI7d0JBQ3ZCLDhCQUE4Qjt3QkFDOUIsNEJBQTRCO3dCQUM1Qiw4QkFBOEI7d0JBQzlCLDZCQUE2Qjt3QkFDN0IsK0JBQStCO3dCQUMvQiw0QkFBNEI7cUJBQzdCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFO3dCQUNQLDRCQUE0Qjt3QkFDNUIsdUJBQXVCO3dCQUN2Qiw4QkFBOEI7d0JBQzlCLDRCQUE0Qjt3QkFDNUIsOEJBQThCO3dCQUM5Qiw2QkFBNkI7d0JBQzdCLCtCQUErQjt3QkFDL0IsNEJBQTRCO3FCQUM3QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreVBhZ2VTdW1tYXJ5QWxlcnRDb21wb25lbnQgfSBmcm9tICcuL3BhZ2Utc3VtbWFyeS1hbGVydC5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lQYWdlU3VtbWFyeUNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3BhZ2Utc3VtbWFyeS1jb250ZW50LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreVBhZ2VTdW1tYXJ5SW1hZ2VDb21wb25lbnQgfSBmcm9tICcuL3BhZ2Utc3VtbWFyeS1pbWFnZS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lQYWdlU3VtbWFyeUtleUluZm9Db21wb25lbnQgfSBmcm9tICcuL3BhZ2Utc3VtbWFyeS1rZXktaW5mby5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lQYWdlU3VtbWFyeVN0YXR1c0NvbXBvbmVudCB9IGZyb20gJy4vcGFnZS1zdW1tYXJ5LXN0YXR1cy5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBTa3lQYWdlU3VtbWFyeVN1YnRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLXN1bW1hcnktc3VidGl0bGUuY29tcG9uZW50JztcblxuaW1wb3J0IHsgU2t5UGFnZVN1bW1hcnlUaXRsZUNvbXBvbmVudCB9IGZyb20gJy4vcGFnZS1zdW1tYXJ5LXRpdGxlLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IFNreVBhZ2VTdW1tYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9wYWdlLXN1bW1hcnkuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2t5UGFnZVN1bW1hcnlBbGVydENvbXBvbmVudCxcbiAgICBTa3lQYWdlU3VtbWFyeUNvbXBvbmVudCxcbiAgICBTa3lQYWdlU3VtbWFyeUNvbnRlbnRDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlJbWFnZUNvbXBvbmVudCxcbiAgICBTa3lQYWdlU3VtbWFyeUtleUluZm9Db21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlTdGF0dXNDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlTdWJ0aXRsZUNvbXBvbmVudCxcbiAgICBTa3lQYWdlU3VtbWFyeVRpdGxlQ29tcG9uZW50LFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW1xuICAgIFNreVBhZ2VTdW1tYXJ5QWxlcnRDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlDb250ZW50Q29tcG9uZW50LFxuICAgIFNreVBhZ2VTdW1tYXJ5SW1hZ2VDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlLZXlJbmZvQ29tcG9uZW50LFxuICAgIFNreVBhZ2VTdW1tYXJ5U3RhdHVzQ29tcG9uZW50LFxuICAgIFNreVBhZ2VTdW1tYXJ5U3VidGl0bGVDb21wb25lbnQsXG4gICAgU2t5UGFnZVN1bW1hcnlUaXRsZUNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UGFnZVN1bW1hcnlNb2R1bGUge31cbiJdfQ==
@@ -1,41 +0,0 @@
1
- /**
2
- * NOTICE: DO NOT MODIFY THIS FILE!
3
- * The contents of this file were automatically generated by
4
- * the 'ng generate @skyux/i18n:lib-resources-module modules/shared/sky-layout' schematic.
5
- * To update this file, simply rerun the command.
6
- */
7
- import { NgModule } from '@angular/core';
8
- import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
9
- import * as i0 from "@angular/core";
10
- const RESOURCES = {
11
- 'EN-US': { "skyux_back_to_top": { "message": "Back to top" }, "skyux_card_checkbox_label": { "message": "Select card" }, "skyux_definition_list_none_found": { "message": "None found." }, "skyux_description_list_none_found": { "message": "None found." }, "skyux_inline_delete_assistive_text": { "message": "Are you sure you want to delete this item?" }, "skyux_inline_delete_cancel": { "message": "Cancel" }, "skyux_inline_delete_confirm_deletion": { "message": "Confirm deletion" }, "skyux_inline_delete_delete": { "message": "Delete" }, "skyux_text_expand_close_text": { "message": "Close" }, "skyux_text_expand_modal_title": { "message": "Expanded view" }, "skyux_text_expand_see_less": { "message": "See less" }, "skyux_text_expand_see_more": { "message": "See more" } },
12
- };
13
- export class SkyLayoutResourcesProvider {
14
- getString(localeInfo, name) {
15
- return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
16
- }
17
- }
18
- /**
19
- * Import into any component library module that needs to use resource strings.
20
- */
21
- export class SkyLayoutResourcesModule {
22
- }
23
- SkyLayoutResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyLayoutResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
- SkyLayoutResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyLayoutResourcesModule, exports: [SkyI18nModule] });
25
- SkyLayoutResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyLayoutResourcesModule, providers: [{
26
- provide: SKY_LIB_RESOURCES_PROVIDERS,
27
- useClass: SkyLayoutResourcesProvider,
28
- multi: true
29
- }], imports: [SkyI18nModule] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyLayoutResourcesModule, decorators: [{
31
- type: NgModule,
32
- args: [{
33
- exports: [SkyI18nModule],
34
- providers: [{
35
- provide: SKY_LIB_RESOURCES_PROVIDERS,
36
- useClass: SkyLayoutResourcesProvider,
37
- multi: true
38
- }]
39
- }]
40
- }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWxheW91dC1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L3NyYy9tb2R1bGVzL3NoYXJlZC9za3ktbGF5b3V0LXJlc291cmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxxQkFBcUIsRUFFckIsYUFBYSxFQUdiLDJCQUEyQixFQUM1QixNQUFNLGFBQWEsQ0FBQzs7QUFFckIsTUFBTSxTQUFTLEdBQTBDO0lBQ3ZELE9BQU8sRUFBRSxFQUFDLG1CQUFtQixFQUFDLEVBQUMsU0FBUyxFQUFDLGFBQWEsRUFBQyxFQUFDLDJCQUEyQixFQUFDLEVBQUMsU0FBUyxFQUFDLGFBQWEsRUFBQyxFQUFDLGtDQUFrQyxFQUFDLEVBQUMsU0FBUyxFQUFDLGFBQWEsRUFBQyxFQUFDLG1DQUFtQyxFQUFDLEVBQUMsU0FBUyxFQUFDLGFBQWEsRUFBQyxFQUFDLG9DQUFvQyxFQUFDLEVBQUMsU0FBUyxFQUFDLDRDQUE0QyxFQUFDLEVBQUMsNEJBQTRCLEVBQUMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLEVBQUMsc0NBQXNDLEVBQUMsRUFBQyxTQUFTLEVBQUMsa0JBQWtCLEVBQUMsRUFBQyw0QkFBNEIsRUFBQyxFQUFDLFNBQVMsRUFBQyxRQUFRLEVBQUMsRUFBQyw4QkFBOEIsRUFBQyxFQUFDLFNBQVMsRUFBQyxPQUFPLEVBQUMsRUFBQywrQkFBK0IsRUFBQyxFQUFDLFNBQVMsRUFBQyxlQUFlLEVBQUMsRUFBQyw0QkFBNEIsRUFBQyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsRUFBQyw0QkFBNEIsRUFBQyxFQUFDLFNBQVMsRUFBQyxVQUFVLEVBQUMsRUFBQztDQUN6c0IsQ0FBQztBQUVGLE1BQU0sT0FBTywwQkFBMEI7SUFDOUIsU0FBUyxDQUFDLFVBQTRCLEVBQUUsSUFBWTtRQUN6RCxPQUFPLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBU0gsTUFBTSxPQUFPLHdCQUF3Qjs7c0hBQXhCLHdCQUF3Qjt1SEFBeEIsd0JBQXdCLFlBUHpCLGFBQWE7dUhBT1osd0JBQXdCLGFBTnhCLENBQUM7WUFDVixPQUFPLEVBQUUsMkJBQTJCO1lBQ3BDLFFBQVEsRUFBRSwwQkFBMEI7WUFDcEMsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLFlBTFEsYUFBYTs0RkFPWix3QkFBd0I7a0JBUnBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUUsQ0FBQzs0QkFDVixPQUFPLEVBQUUsMkJBQTJCOzRCQUNwQyxRQUFRLEVBQUUsMEJBQTBCOzRCQUNwQyxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDO2lCQUNIIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBOT1RJQ0U6IERPIE5PVCBNT0RJRlkgVEhJUyBGSUxFIVxuICogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB3ZXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5XG4gKiB0aGUgJ25nIGdlbmVyYXRlIEBza3l1eC9pMThuOmxpYi1yZXNvdXJjZXMtbW9kdWxlIG1vZHVsZXMvc2hhcmVkL3NreS1sYXlvdXQnIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxuICBTa3lBcHBMb2NhbGVJbmZvLFxuICBTa3lJMThuTW9kdWxlLFxuICBTa3lMaWJSZXNvdXJjZXMsXG4gIFNreUxpYlJlc291cmNlc1Byb3ZpZGVyLFxuICBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlNcbn0gZnJvbSAnQHNreXV4L2kxOG4nO1xuXG5jb25zdCBSRVNPVVJDRVM6IHsgW2xvY2FsZTogc3RyaW5nXTogU2t5TGliUmVzb3VyY2VzIH0gPSB7XG4gICdFTi1VUyc6IHtcInNreXV4X2JhY2tfdG9fdG9wXCI6e1wibWVzc2FnZVwiOlwiQmFjayB0byB0b3BcIn0sXCJza3l1eF9jYXJkX2NoZWNrYm94X2xhYmVsXCI6e1wibWVzc2FnZVwiOlwiU2VsZWN0IGNhcmRcIn0sXCJza3l1eF9kZWZpbml0aW9uX2xpc3Rfbm9uZV9mb3VuZFwiOntcIm1lc3NhZ2VcIjpcIk5vbmUgZm91bmQuXCJ9LFwic2t5dXhfZGVzY3JpcHRpb25fbGlzdF9ub25lX2ZvdW5kXCI6e1wibWVzc2FnZVwiOlwiTm9uZSBmb3VuZC5cIn0sXCJza3l1eF9pbmxpbmVfZGVsZXRlX2Fzc2lzdGl2ZV90ZXh0XCI6e1wibWVzc2FnZVwiOlwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGl0ZW0/XCJ9LFwic2t5dXhfaW5saW5lX2RlbGV0ZV9jYW5jZWxcIjp7XCJtZXNzYWdlXCI6XCJDYW5jZWxcIn0sXCJza3l1eF9pbmxpbmVfZGVsZXRlX2NvbmZpcm1fZGVsZXRpb25cIjp7XCJtZXNzYWdlXCI6XCJDb25maXJtIGRlbGV0aW9uXCJ9LFwic2t5dXhfaW5saW5lX2RlbGV0ZV9kZWxldGVcIjp7XCJtZXNzYWdlXCI6XCJEZWxldGVcIn0sXCJza3l1eF90ZXh0X2V4cGFuZF9jbG9zZV90ZXh0XCI6e1wibWVzc2FnZVwiOlwiQ2xvc2VcIn0sXCJza3l1eF90ZXh0X2V4cGFuZF9tb2RhbF90aXRsZVwiOntcIm1lc3NhZ2VcIjpcIkV4cGFuZGVkIHZpZXdcIn0sXCJza3l1eF90ZXh0X2V4cGFuZF9zZWVfbGVzc1wiOntcIm1lc3NhZ2VcIjpcIlNlZSBsZXNzXCJ9LFwic2t5dXhfdGV4dF9leHBhbmRfc2VlX21vcmVcIjp7XCJtZXNzYWdlXCI6XCJTZWUgbW9yZVwifX0sXG59O1xuXG5leHBvcnQgY2xhc3MgU2t5TGF5b3V0UmVzb3VyY2VzUHJvdmlkZXIgaW1wbGVtZW50cyBTa3lMaWJSZXNvdXJjZXNQcm92aWRlciB7XG4gIHB1YmxpYyBnZXRTdHJpbmcobG9jYWxlSW5mbzogU2t5QXBwTG9jYWxlSW5mbywgbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0TGliU3RyaW5nRm9yTG9jYWxlKFJFU09VUkNFUywgbG9jYWxlSW5mby5sb2NhbGUsIG5hbWUpO1xuICB9XG59XG5cbi8qKlxuICogSW1wb3J0IGludG8gYW55IGNvbXBvbmVudCBsaWJyYXJ5IG1vZHVsZSB0aGF0IG5lZWRzIHRvIHVzZSByZXNvdXJjZSBzdHJpbmdzLlxuICovXG5ATmdNb2R1bGUoe1xuICBleHBvcnRzOiBbU2t5STE4bk1vZHVsZV0sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gICAgdXNlQ2xhc3M6IFNreUxheW91dFJlc291cmNlc1Byb3ZpZGVyLFxuICAgIG11bHRpOiB0cnVlXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIFNreUxheW91dFJlc291cmNlc01vZHVsZSB7IH1cbiJdfQ==
@@ -1,31 +0,0 @@
1
- import { Injectable, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @internal
5
- */
6
- export class SkyTextExpandAdapterService {
7
- constructor(rendererFactory) {
8
- this.rendererFactory = rendererFactory;
9
- this.renderer = this.rendererFactory.createRenderer(undefined, undefined);
10
- }
11
- getContainerHeight(containerEl) {
12
- return containerEl.nativeElement.offsetHeight;
13
- }
14
- setContainerHeight(containerEl, height) {
15
- if (height === undefined) {
16
- this.renderer.removeStyle(containerEl.nativeElement, 'max-height');
17
- }
18
- else {
19
- this.renderer.setStyle(containerEl.nativeElement, 'max-height', height);
20
- }
21
- }
22
- setText(textEl, text) {
23
- textEl.nativeElement.textContent = text;
24
- }
25
- }
26
- SkyTextExpandAdapterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextExpandAdapterService, deps: [{ token: i0.RendererFactory2 }], target: i0.ɵɵFactoryTarget.Injectable });
27
- SkyTextExpandAdapterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextExpandAdapterService });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextExpandAdapterService, decorators: [{
29
- type: Injectable
30
- }], ctorParameters: function () { return [{ type: i0.RendererFactory2 }]; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L3NyYy9tb2R1bGVzL3RleHQtZXhwYW5kL3RleHQtZXhwYW5kLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsVUFBVSxHQUdYLE1BQU0sZUFBZSxDQUFDOztBQUV2Qjs7R0FFRztBQUVILE1BQU0sT0FBTywyQkFBMkI7SUFHdEMsWUFBb0IsZUFBaUM7UUFBakMsb0JBQWUsR0FBZixlQUFlLENBQWtCO1FBQ25ELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxXQUF1QjtRQUMvQyxPQUFPLFdBQVcsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBQ2hELENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxXQUF1QixFQUFFLE1BQWM7UUFDL0QsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDcEU7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQztJQUVNLE9BQU8sQ0FBQyxNQUFrQixFQUFFLElBQVk7UUFDN0MsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFDLENBQUM7O3lIQXJCVSwyQkFBMkI7NkhBQTNCLDJCQUEyQjs0RkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0YWJsZSxcbiAgUmVuZGVyZXIyLFxuICBSZW5kZXJlckZhY3RvcnkyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNreVRleHRFeHBhbmRBZGFwdGVyU2VydmljZSB7XG4gIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyRmFjdG9yeTogUmVuZGVyZXJGYWN0b3J5Mikge1xuICAgIHRoaXMucmVuZGVyZXIgPSB0aGlzLnJlbmRlcmVyRmFjdG9yeS5jcmVhdGVSZW5kZXJlcih1bmRlZmluZWQsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29udGFpbmVySGVpZ2h0KGNvbnRhaW5lckVsOiBFbGVtZW50UmVmKSB7XG4gICAgcmV0dXJuIGNvbnRhaW5lckVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuICB9XG5cbiAgcHVibGljIHNldENvbnRhaW5lckhlaWdodChjb250YWluZXJFbDogRWxlbWVudFJlZiwgaGVpZ2h0OiBzdHJpbmcpIHtcbiAgICBpZiAoaGVpZ2h0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlU3R5bGUoY29udGFpbmVyRWwubmF0aXZlRWxlbWVudCwgJ21heC1oZWlnaHQnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShjb250YWluZXJFbC5uYXRpdmVFbGVtZW50LCAnbWF4LWhlaWdodCcsIGhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFRleHQodGV4dEVsOiBFbGVtZW50UmVmLCB0ZXh0OiBzdHJpbmcpIHtcbiAgICB0ZXh0RWwubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudCA9IHRleHQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +0,0 @@
1
- /**
2
- * @internal
3
- */
4
- export class SkyTextExpandModalContext {
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtbW9kYWwtY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbW9kdWxlcy90ZXh0LWV4cGFuZC90ZXh0LWV4cGFuZC1tb2RhbC1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLHlCQUF5QjtDQUdyQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBTa3lUZXh0RXhwYW5kTW9kYWxDb250ZXh0IHtcbiAgcHVibGljIGhlYWRlcjogc3RyaW5nO1xuICBwdWJsaWMgdGV4dDogc3RyaW5nO1xufVxuIl19
@@ -1,28 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "./text-expand-modal-context";
4
- import * as i2 from "@skyux/modals";
5
- import * as i3 from "@skyux/i18n";
6
- /**
7
- * @internal
8
- */
9
- export class SkyTextExpandModalComponent {
10
- constructor(context, instance) {
11
- this.context = context;
12
- this.instance = instance;
13
- }
14
- close() {
15
- this.instance.close();
16
- }
17
- }
18
- SkyTextExpandModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextExpandModalComponent, deps: [{ token: i1.SkyTextExpandModalContext }, { token: i2.SkyModalInstance }], target: i0.ɵɵFactoryTarget.Component });
19
- SkyTextExpandModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyTextExpandModalComponent, selector: "sky-text-expand-modal", ngImport: i0, template: "<sky-modal>\n <sky-modal-header>{{ context.header }}</sky-modal-header>\n <sky-modal-content class=\"sky-text-expand-modal-content\">{{\n context.text\n }}</sky-modal-content>\n <sky-modal-footer>\n <button class=\"sky-btn sky-btn-link\" (click)=\"close()\">\n {{ 'skyux_text_expand_close_text' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto;transition:max-height .25s}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"], components: [{ type: i2.λ5, selector: "sky-modal", inputs: ["ariaRole", "tiledBody"] }, { type: i2.λ4, selector: "sky-modal-header" }, { type: i2.λ2, selector: "sky-modal-content" }, { type: i2.λ3, selector: "sky-modal-footer" }], pipes: { "skyLibResources": i3.SkyLibResourcesPipe } });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextExpandModalComponent, decorators: [{
21
- type: Component,
22
- args: [{
23
- selector: 'sky-text-expand-modal',
24
- templateUrl: './text-expand-modal.component.html',
25
- styleUrls: ['./text-expand.component.scss'],
26
- }]
27
- }], ctorParameters: function () { return [{ type: i1.SkyTextExpandModalContext }, { type: i2.SkyModalInstance }]; } });
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L3NyYy9tb2R1bGVzL3RleHQtZXhwYW5kL3RleHQtZXhwYW5kLW1vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbW9kdWxlcy90ZXh0LWV4cGFuZC90ZXh0LWV4cGFuZC1tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQU0xQzs7R0FFRztBQU1ILE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsWUFDUyxPQUFrQyxFQUNsQyxRQUEwQjtRQUQxQixZQUFPLEdBQVAsT0FBTyxDQUEyQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFrQjtJQUNoQyxDQUFDO0lBRUcsS0FBSztRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7eUhBUlUsMkJBQTJCOzZHQUEzQiwyQkFBMkIsNkRDZHhDLGtZQVdBOzRGREdhLDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxXQUFXLEVBQUUsb0NBQW9DO29CQUNqRCxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5TW9kYWxJbnN0YW5jZSB9IGZyb20gJ0Bza3l1eC9tb2RhbHMnO1xuXG5pbXBvcnQgeyBTa3lUZXh0RXhwYW5kTW9kYWxDb250ZXh0IH0gZnJvbSAnLi90ZXh0LWV4cGFuZC1tb2RhbC1jb250ZXh0JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LXRleHQtZXhwYW5kLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtZXhwYW5kLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1leHBhbmQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5VGV4dEV4cGFuZE1vZGFsQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGNvbnRleHQ6IFNreVRleHRFeHBhbmRNb2RhbENvbnRleHQsXG4gICAgcHVibGljIGluc3RhbmNlOiBTa3lNb2RhbEluc3RhbmNlXG4gICkge31cblxuICBwdWJsaWMgY2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5pbnN0YW5jZS5jbG9zZSgpO1xuICB9XG59XG4iLCI8c2t5LW1vZGFsPlxuICA8c2t5LW1vZGFsLWhlYWRlcj57eyBjb250ZXh0LmhlYWRlciB9fTwvc2t5LW1vZGFsLWhlYWRlcj5cbiAgPHNreS1tb2RhbC1jb250ZW50IGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLW1vZGFsLWNvbnRlbnRcIj57e1xuICAgIGNvbnRleHQudGV4dFxuICB9fTwvc2t5LW1vZGFsLWNvbnRlbnQ+XG4gIDxza3ktbW9kYWwtZm9vdGVyPlxuICAgIDxidXR0b24gY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGlua1wiIChjbGljayk9XCJjbG9zZSgpXCI+XG4gICAgICB7eyAnc2t5dXhfdGV4dF9leHBhbmRfY2xvc2VfdGV4dCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9za3ktbW9kYWwtZm9vdGVyPlxuPC9za3ktbW9kYWw+XG4iXX0=
@@ -1,250 +0,0 @@
1
- import { Component, ElementRef, Input, ViewChild, } from '@angular/core';
2
- import { forkJoin as observableForkJoin } from 'rxjs';
3
- import { take } from 'rxjs/operators';
4
- import { SkyTextExpandAdapterService } from './text-expand-adapter.service';
5
- import { SkyTextExpandModalComponent } from './text-expand-modal.component';
6
- import { SkyTextExpandModalContext } from './text-expand-modal-context';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@skyux/i18n";
9
- import * as i2 from "@skyux/modals";
10
- import * as i3 from "./text-expand-adapter.service";
11
- import * as i4 from "@angular/common";
12
- /**
13
- * Auto-incrementing integer used to generate unique ids for text expand components.
14
- */
15
- let nextId = 0;
16
- export class SkyTextExpandComponent {
17
- constructor(resources, modalService, textExpandAdapter) {
18
- this.resources = resources;
19
- this.modalService = modalService;
20
- this.textExpandAdapter = textExpandAdapter;
21
- /**
22
- * Specifies the maximum number of text characters to display inline when users select the link
23
- * to expand the full text. If the text exceeds this limit, then the component expands
24
- * the full text in a modal instead.
25
- */
26
- this.maxExpandedLength = 600;
27
- /**
28
- * Specifies the maximum number of newline characters to display inline when users select
29
- * the link to expand the full text. If the text exceeds this limit, then
30
- * the component expands the full text in a modal view instead.
31
- */
32
- this.maxExpandedNewlines = 2;
33
- /**
34
- * Indicates whether to replace newline characters in truncated text with spaces.
35
- */
36
- this.truncateNewlines = true;
37
- this.contentSectionId = `sky-text-expand-content-${++nextId}`;
38
- this.isExpanded = false;
39
- this._maxLength = 200;
40
- }
41
- /**
42
- * Specifies the number of text characters to display before truncating the text.
43
- * To avoid truncating text in the middle of a word, the component looks for a space
44
- * in the 10 characters before the last character.
45
- * @default 200
46
- */
47
- set maxLength(value) {
48
- this._maxLength = value;
49
- /* istanbul ignore else */
50
- if (this.textEl) {
51
- this.setup(this.expandedText);
52
- }
53
- }
54
- get maxLength() {
55
- return this._maxLength;
56
- }
57
- /**
58
- * Specifies the text to truncate.
59
- */
60
- set text(value) {
61
- /* istanbul ignore else */
62
- if (this.textEl) {
63
- this.setup(value);
64
- }
65
- }
66
- textExpand() {
67
- if (this.isModal) {
68
- // Modal View
69
- /* istanbul ignore else */
70
- /* sanity check */
71
- if (!this.isExpanded) {
72
- this.modalService.open(SkyTextExpandModalComponent, [
73
- {
74
- provide: SkyTextExpandModalContext,
75
- useValue: {
76
- header: this.expandModalTitle,
77
- text: this.expandedText,
78
- },
79
- },
80
- ]);
81
- }
82
- }
83
- else {
84
- // Normal View
85
- if (!this.isExpanded) {
86
- this.setContainerMaxHeight();
87
- setTimeout(() => {
88
- this.isExpanded = true;
89
- this.animateText(this.collapsedText, this.expandedText, true);
90
- }, 10);
91
- }
92
- else {
93
- this.setContainerMaxHeight();
94
- setTimeout(() => {
95
- this.isExpanded = false;
96
- this.animateText(this.expandedText, this.collapsedText, false);
97
- }, 10);
98
- }
99
- }
100
- }
101
- animationEnd() {
102
- // Ensure the correct text is displayed
103
- this.textExpandAdapter.setText(this.textEl, this.textToShow);
104
- // Set height back to auto so the browser can change the height as needed with window changes
105
- this.textExpandAdapter.setContainerHeight(this.containerEl, undefined);
106
- }
107
- ngAfterContentInit() {
108
- observableForkJoin([
109
- this.resources.getString('skyux_text_expand_see_more'),
110
- this.resources.getString('skyux_text_expand_see_less'),
111
- ])
112
- .pipe(take(1))
113
- .subscribe((resources) => {
114
- this.seeMoreText = resources[0];
115
- this.seeLessText = resources[1];
116
- this.setup(this.expandedText);
117
- /* istanbul ignore else */
118
- if (!this.expandModalTitle) {
119
- this.resources
120
- .getString('skyux_text_expand_modal_title')
121
- .pipe(take(1))
122
- .subscribe((resource) => {
123
- this.expandModalTitle = resource;
124
- });
125
- }
126
- });
127
- }
128
- setContainerMaxHeight() {
129
- // ensure everything is reset
130
- this.animationEnd();
131
- /* Before animation is kicked off, ensure that a maxHeight exists */
132
- /* Once we have support for angular v4 animations with parameters we can use that instead */
133
- let currentHeight = this.textExpandAdapter.getContainerHeight(this.containerEl);
134
- this.textExpandAdapter.setContainerHeight(this.containerEl, `${currentHeight}px`);
135
- }
136
- setup(value) {
137
- if (value) {
138
- this.newlineCount = this.getNewlineCount(value);
139
- this.collapsedText = this.getTruncatedText(value, this.maxLength);
140
- this.expandedText = value;
141
- if (this.collapsedText !== value) {
142
- this.buttonText = this.seeMoreText;
143
- this.isExpanded = false;
144
- this.expandable = true;
145
- this.isModal =
146
- this.newlineCount > this.maxExpandedNewlines ||
147
- this.expandedText.length > this.maxExpandedLength;
148
- }
149
- else {
150
- this.expandable = false;
151
- }
152
- this.textToShow = this.collapsedText;
153
- }
154
- else {
155
- this.textToShow = '';
156
- this.expandable = false;
157
- }
158
- this.textExpandAdapter.setText(this.textEl, this.textToShow);
159
- }
160
- getNewlineCount(value) {
161
- let matches = value.match(/\n/gi);
162
- if (matches) {
163
- return matches.length;
164
- }
165
- return 0;
166
- }
167
- getTruncatedText(value, length) {
168
- let i;
169
- if (this.truncateNewlines) {
170
- value = value.replace(/\n+/gi, ' ');
171
- }
172
- // Jump ahead one character and see if it's a space, and if it isn't,
173
- // back up to the first space and break there so a word doesn't get cut
174
- // in half.
175
- if (length < value.length) {
176
- for (i = length; i > length - 10; i--) {
177
- if (/\s/.test(value.charAt(i))) {
178
- length = i;
179
- break;
180
- }
181
- }
182
- }
183
- return value.substr(0, length);
184
- }
185
- animateText(previousText, newText, expanding) {
186
- let adapter = this.textExpandAdapter;
187
- let container = this.containerEl;
188
- // Reset max height
189
- adapter.setContainerHeight(container, undefined);
190
- // Measure the current height so we can animate from it.
191
- let currentHeight = adapter.getContainerHeight(container);
192
- this.textToShow = newText;
193
- adapter.setText(this.textEl, this.textToShow);
194
- this.buttonText = expanding ? this.seeLessText : this.seeMoreText;
195
- // Measure the new height so we can animate to it.
196
- let newHeight = adapter.getContainerHeight(container);
197
- /* istanbul ignore if */
198
- if (newHeight < currentHeight) {
199
- // The new text is smaller than the old text, so put the old text back before doing
200
- // the collapse animation to avoid showing a big chunk of whitespace.
201
- adapter.setText(this.textEl, previousText);
202
- }
203
- adapter.setContainerHeight(container, `${currentHeight}px`);
204
- // This timeout is necessary due to the browser needing to pick up the non-auto height being set
205
- // in order to do the transtion in height correctly. Without it the transition does not fire.
206
- setTimeout(() => {
207
- adapter.setContainerHeight(container, `${newHeight}px`);
208
- /* This resets values if the transition does not get kicked off */
209
- setTimeout(() => {
210
- this.animationEnd();
211
- }, 500);
212
- }, 10);
213
- }
214
- }
215
- SkyTextExpandComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextExpandComponent, deps: [{ token: i1.SkyLibResourcesService }, { token: i2.SkyModalService }, { token: i3.SkyTextExpandAdapterService }], target: i0.ɵɵFactoryTarget.Component });
216
- SkyTextExpandComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyTextExpandComponent, selector: "sky-text-expand", inputs: { expandModalTitle: "expandModalTitle", maxExpandedLength: "maxExpandedLength", maxExpandedNewlines: "maxExpandedNewlines", maxLength: "maxLength", text: "text", truncateNewlines: "truncateNewlines" }, providers: [SkyTextExpandAdapterService], viewQueries: [{ propertyName: "containerEl", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }, { propertyName: "textEl", first: true, predicate: ["text"], descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div\n class=\"sky-text-expand-container\"\n (transitionend)=\"animationEnd()\"\n #container\n>\n <span class=\"sky-text-expand-text\" [id]=\"contentSectionId\" #text></span>\n <span class=\"sky-text-expand-ellipsis\" *ngIf=\"!isExpanded && expandable\"\n >...\n </span>\n <button\n *ngIf=\"expandable\"\n type=\"button\"\n class=\"sky-btn sky-btn-link-inline sky-text-expand-see-more\"\n [attr.aria-expanded]=\"isModal ? undefined : isExpanded\"\n [attr.aria-controls]=\"isModal ? undefined : contentSectionId\"\n [attr.aria-haspopup]=\"isModal ? 'dialog' : undefined\"\n (click)=\"textExpand()\"\n >\n {{ buttonText }}\n </button>\n</div>\n", styles: [".sky-text-expand-ellipsis{letter-spacing:2px;white-space:nowrap}.sky-text-expand-space{white-space:normal}.sky-text-expand-see-more{white-space:nowrap;margin-left:5px}.sky-text-expand-text{margin:0;white-space:pre-wrap}.sky-text-expand-container{word-break:break-word;word-wrap:break-word;overflow:hidden;height:auto;transition:max-height .25s}.sky-text-expand-modal-content{white-space:pre-line;word-wrap:break-word}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyTextExpandComponent, decorators: [{
218
- type: Component,
219
- args: [{
220
- selector: 'sky-text-expand',
221
- templateUrl: './text-expand.component.html',
222
- styleUrls: ['./text-expand.component.scss'],
223
- providers: [SkyTextExpandAdapterService],
224
- }]
225
- }], ctorParameters: function () { return [{ type: i1.SkyLibResourcesService }, { type: i2.SkyModalService }, { type: i3.SkyTextExpandAdapterService }]; }, propDecorators: { expandModalTitle: [{
226
- type: Input
227
- }], maxExpandedLength: [{
228
- type: Input
229
- }], maxExpandedNewlines: [{
230
- type: Input
231
- }], maxLength: [{
232
- type: Input
233
- }], text: [{
234
- type: Input
235
- }], truncateNewlines: [{
236
- type: Input
237
- }], containerEl: [{
238
- type: ViewChild,
239
- args: ['container', {
240
- read: ElementRef,
241
- static: true,
242
- }]
243
- }], textEl: [{
244
- type: ViewChild,
245
- args: ['text', {
246
- read: ElementRef,
247
- static: true,
248
- }]
249
- }] } });
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1leHBhbmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L3NyYy9tb2R1bGVzL3RleHQtZXhwYW5kL3RleHQtZXhwYW5kLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9zcmMvbW9kdWxlcy90ZXh0LWV4cGFuZC90ZXh0LWV4cGFuZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxRQUFRLElBQUksa0JBQWtCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7QUFFeEU7O0dBRUc7QUFDSCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFRZixNQUFNLE9BQU8sc0JBQXNCO0lBaUdqQyxZQUNVLFNBQWlDLEVBQ2pDLFlBQTZCLEVBQzdCLGlCQUE4QztRQUY5QyxjQUFTLEdBQVQsU0FBUyxDQUF3QjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBaUI7UUFDN0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE2QjtRQTVGeEQ7Ozs7V0FJRztRQUVJLHNCQUFpQixHQUFXLEdBQUcsQ0FBQztRQUV2Qzs7OztXQUlHO1FBRUksd0JBQW1CLEdBQVcsQ0FBQyxDQUFDO1FBaUN2Qzs7V0FFRztRQUVJLHFCQUFnQixHQUFZLElBQUksQ0FBQztRQUlqQyxxQkFBZ0Is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QUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5TGliUmVzb3VyY2VzU2VydmljZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcblxuaW1wb3J0IHsgU2t5TW9kYWxTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L21vZGFscyc7XG5cbmltcG9ydCB7IGZvcmtKb2luIGFzIG9ic2VydmFibGVGb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lUZXh0RXhwYW5kQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuL3RleHQtZXhwYW5kLWFkYXB0ZXIuc2VydmljZSc7XG5cbmltcG9ydCB7IFNreVRleHRFeHBhbmRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1leHBhbmQtbW9kYWwuY29tcG9uZW50JztcblxuaW1wb3J0IHsgU2t5VGV4dEV4cGFuZE1vZGFsQ29udGV4dCB9IGZyb20gJy4vdGV4dC1leHBhbmQtbW9kYWwtY29udGV4dCc7XG5cbi8qKlxuICogQXV0by1pbmNyZW1lbnRpbmcgaW50ZWdlciB1c2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBpZHMgZm9yIHRleHQgZXhwYW5kIGNvbXBvbmVudHMuXG4gKi9cbmxldCBuZXh0SWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktdGV4dC1leHBhbmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1leHBhbmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWV4cGFuZC5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtTa3lUZXh0RXhwYW5kQWRhcHRlclNlcnZpY2VdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lUZXh0RXhwYW5kQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSB0aXRsZSB0byBkaXNwbGF5IHdoZW4gdGhlIGNvbXBvbmVudCBleHBhbmRzIHRoZSBmdWxsIHRleHQgaW4gYSBtb2RhbC5cbiAgICogQGRlZmF1bHQgJ0V4cGFuZGVkIHZpZXcnXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZXhwYW5kTW9kYWxUaXRsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRleHQgY2hhcmFjdGVycyB0byBkaXNwbGF5IGlubGluZSB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgbGlua1xuICAgKiB0byBleHBhbmQgdGhlIGZ1bGwgdGV4dC4gSWYgdGhlIHRleHQgZXhjZWVkcyB0aGlzIGxpbWl0LCB0aGVuIHRoZSBjb21wb25lbnQgZXhwYW5kc1xuICAgKiB0aGUgZnVsbCB0ZXh0IGluIGEgbW9kYWwgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYXhFeHBhbmRlZExlbmd0aDogbnVtYmVyID0gNjAwO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIG5ld2xpbmUgY2hhcmFjdGVycyB0byBkaXNwbGF5IGlubGluZSB3aGVuIHVzZXJzIHNlbGVjdFxuICAgKiB0aGUgbGluayB0byBleHBhbmQgdGhlIGZ1bGwgdGV4dC4gSWYgdGhlIHRleHQgZXhjZWVkcyB0aGlzIGxpbWl0LCB0aGVuXG4gICAqIHRoZSBjb21wb25lbnQgZXhwYW5kcyB0aGUgZnVsbCB0ZXh0IGluIGEgbW9kYWwgdmlldyBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG1heEV4cGFuZGVkTmV3bGluZXM6IG51bWJlciA9IDI7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIHRleHQgY2hhcmFjdGVycyB0byBkaXNwbGF5IGJlZm9yZSB0cnVuY2F0aW5nIHRoZSB0ZXh0LlxuICAgKiBUbyBhdm9pZCB0cnVuY2F0aW5nIHRleHQgaW4gdGhlIG1pZGRsZSBvZiBhIHdvcmQsIHRoZSBjb21wb25lbnQgbG9va3MgZm9yIGEgc3BhY2VcbiAgICogaW4gdGhlIDEwIGNoYXJhY3RlcnMgYmVmb3JlIHRoZSBsYXN0IGNoYXJhY3Rlci5cbiAgICogQGRlZmF1bHQgMjAwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heExlbmd0aCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fbWF4TGVuZ3RoID0gdmFsdWU7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLnRleHRFbCkge1xuICAgICAgdGhpcy5zZXR1cCh0aGlzLmV4cGFuZGVkVGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBtYXhMZW5ndGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4TGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdGV4dCB0byB0cnVuY2F0ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgdGV4dCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy50ZXh0RWwpIHtcbiAgICAgIHRoaXMuc2V0dXAodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byByZXBsYWNlIG5ld2xpbmUgY2hhcmFjdGVycyBpbiB0cnVuY2F0ZWQgdGV4dCB3aXRoIHNwYWNlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0cnVuY2F0ZU5ld2xpbmVzOiBib29sZWFuID0gdHJ1ZTtcblxuICBwdWJsaWMgYnV0dG9uVGV4dDogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb250ZW50U2VjdGlvbklkOiBzdHJpbmcgPSBgc2t5LXRleHQtZXhwYW5kLWNvbnRlbnQtJHsrK25leHRJZH1gO1xuXG4gIHB1YmxpYyBleHBhbmRhYmxlOiBib29sZWFuO1xuXG4gIHB1YmxpYyBpc0V4cGFuZGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGlzTW9kYWw6IGJvb2xlYW47XG5cbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gICAgc3RhdGljOiB0cnVlLFxuICB9KVxuICBwcml2YXRlIGNvbnRhaW5lckVsOiBFbGVtZW50UmVmO1xuXG4gIEBWaWV3Q2hpbGQoJ3RleHQnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgICBzdGF0aWM6IHRydWUsXG4gIH0pXG4gIHByaXZhdGUgdGV4dEVsOiBFbGVtZW50UmVmO1xuXG4gIHByaXZhdGUgY29sbGFwc2VkVGV4dDogc3RyaW5nO1xuXG4gIHByaXZhdGUgZXhwYW5kZWRUZXh0OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBuZXdsaW5lQ291bnQ6IG51bWJlcjtcblxuICBwcml2YXRlIHNlZU1vcmVUZXh0OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBzZWVMZXNzVGV4dDogc3RyaW5nO1xuXG4gIHByaXZhdGUgdGV4dFRvU2hvdzogc3RyaW5nO1xuXG4gIHByaXZhdGUgX21heExlbmd0aDogbnVtYmVyID0gMjAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzb3VyY2VzOiBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBTa3lNb2RhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0ZXh0RXhwYW5kQWRhcHRlcjogU2t5VGV4dEV4cGFuZEFkYXB0ZXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgdGV4dEV4cGFuZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc01vZGFsKSB7XG4gICAgICAvLyBNb2RhbCBWaWV3XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgLyogc2FuaXR5IGNoZWNrICovXG4gICAgICBpZiAoIXRoaXMuaXNFeHBhbmRlZCkge1xuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKFNreVRleHRFeHBhbmRNb2RhbENvbXBvbmVudCwgW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFNreVRleHRFeHBhbmRNb2RhbENvbnRleHQsXG4gICAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgICBoZWFkZXI6IHRoaXMuZXhwYW5kTW9kYWxUaXRsZSxcbiAgICAgICAgICAgICAgdGV4dDogdGhpcy5leHBhbmRlZFRleHQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOb3JtYWwgVmlld1xuICAgICAgaWYgKCF0aGlzLmlzRXhwYW5kZWQpIHtcbiAgICAgICAgdGhpcy5zZXRDb250YWluZXJNYXhIZWlnaHQoKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0V4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmFuaW1hdGVUZXh0KHRoaXMuY29sbGFwc2VkVGV4dCwgdGhpcy5leHBhbmRlZFRleHQsIHRydWUpO1xuICAgICAgICB9LCAxMCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldENvbnRhaW5lck1heEhlaWdodCgpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzRXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmFuaW1hdGVUZXh0KHRoaXMuZXhwYW5kZWRUZXh0LCB0aGlzLmNvbGxhcHNlZFRleHQsIGZhbHNlKTtcbiAgICAgICAgfSwgMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhbmltYXRpb25FbmQoKTogdm9pZCB7XG4gICAgLy8gRW5zdXJlIHRoZSBjb3JyZWN0IHRleHQgaXMgZGlzcGxheWVkXG4gICAgdGhpcy50ZXh0RXhwYW5kQWRhcHRlci5zZXRUZXh0KHRoaXMudGV4dEVsLCB0aGlzLnRleHRUb1Nob3cpO1xuICAgIC8vIFNldCBoZWlnaHQgYmFjayB0byBhdXRvIHNvIHRoZSBicm93c2VyIGNhbiBjaGFuZ2UgdGhlIGhlaWdodCBhcyBuZWVkZWQgd2l0aCB3aW5kb3cgY2hhbmdlc1xuICAgIHRoaXMudGV4dEV4cGFuZEFkYXB0ZXIuc2V0Q29udGFpbmVySGVpZ2h0KHRoaXMuY29udGFpbmVyRWwsIHVuZGVmaW5lZCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIG9ic2VydmFibGVGb3JrSm9pbihbXG4gICAgICB0aGlzLnJlc291cmNlcy5nZXRTdHJpbmcoJ3NreXV4X3RleHRfZXhwYW5kX3NlZV9tb3JlJyksXG4gICAgICB0aGlzLnJlc291cmNlcy5nZXRTdHJpbmcoJ3NreXV4X3RleHRfZXhwYW5kX3NlZV9sZXNzJyksXG4gICAgXSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChyZXNvdXJjZXMpID0+IHtcbiAgICAgICAgdGhpcy5zZWVNb3JlVGV4dCA9IHJlc291cmNlc1swXTtcbiAgICAgICAgdGhpcy5zZWVMZXNzVGV4dCA9IHJlc291cmNlc1sxXTtcbiAgICAgICAgdGhpcy5zZXR1cCh0aGlzLmV4cGFuZGVkVGV4dCk7XG5cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKCF0aGlzLmV4cGFuZE1vZGFsVGl0bGUpIHtcbiAgICAgICAgICB0aGlzLnJlc291cmNlc1xuICAgICAgICAgICAgLmdldFN0cmluZygnc2t5dXhfdGV4dF9leHBhbmRfbW9kYWxfdGl0bGUnKVxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc291cmNlKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuZXhwYW5kTW9kYWxUaXRsZSA9IHJlc291cmNlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDb250YWluZXJNYXhIZWlnaHQoKTogdm9pZCB7XG4gICAgLy8gZW5zdXJlIGV2ZXJ5dGhpbmcgaXMgcmVzZXRcbiAgICB0aGlzLmFuaW1hdGlvbkVuZCgpO1xuICAgIC8qIEJlZm9yZSBhbmltYXRpb24gaXMga2lja2VkIG9mZiwgZW5zdXJlIHRoYXQgYSBtYXhIZWlnaHQgZXhpc3RzICovXG4gICAgLyogT25jZSB3ZSBoYXZlIHN1cHBvcnQgZm9yIGFuZ3VsYXIgdjQgYW5pbWF0aW9ucyB3aXRoIHBhcmFtZXRlcnMgd2UgY2FuIHVzZSB0aGF0IGluc3RlYWQgKi9cbiAgICBsZXQgY3VycmVudEhlaWdodCA9IHRoaXMudGV4dEV4cGFuZEFkYXB0ZXIuZ2V0Q29udGFpbmVySGVpZ2h0KFxuICAgICAgdGhpcy5jb250YWluZXJFbFxuICAgICk7XG4gICAgdGhpcy50ZXh0RXhwYW5kQWRhcHRlci5zZXRDb250YWluZXJIZWlnaHQoXG4gICAgICB0aGlzLmNvbnRhaW5lckVsLFxuICAgICAgYCR7Y3VycmVudEhlaWdodH1weGBcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLm5ld2xpbmVDb3VudCA9IHRoaXMuZ2V0TmV3bGluZUNvdW50KHZhbHVlKTtcbiAgICAgIHRoaXMuY29sbGFwc2VkVGV4dCA9IHRoaXMuZ2V0VHJ1bmNhdGVkVGV4dCh2YWx1ZSwgdGhpcy5tYXhMZW5ndGgpO1xuICAgICAgdGhpcy5leHBhbmRlZFRleHQgPSB2YWx1ZTtcbiAgICAgIGlmICh0aGlzLmNvbGxhcHNlZFRleHQgIT09IHZhbHVlKSB7XG4gICAgICAgIHRoaXMuYnV0dG9uVGV4dCA9IHRoaXMuc2VlTW9yZVRleHQ7XG4gICAgICAgIHRoaXMuaXNFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmV4cGFuZGFibGUgPSB0cnVlO1xuICAgICAgICB0aGlzLmlzTW9kYWwgPVxuICAgICAgICAgIHRoaXMubmV3bGluZUNvdW50ID4gdGhpcy5tYXhFeHBhbmRlZE5ld2xpbmVzIHx8XG4gICAgICAgICAgdGhpcy5leHBhbmRlZFRleHQubGVuZ3RoID4gdGhpcy5tYXhFeHBhbmRlZExlbmd0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZXhwYW5kYWJsZSA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy50ZXh0VG9TaG93ID0gdGhpcy5jb2xsYXBzZWRUZXh0O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnRleHRUb1Nob3cgPSAnJztcbiAgICAgIHRoaXMuZXhwYW5kYWJsZSA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnRleHRFeHBhbmRBZGFwdGVyLnNldFRleHQodGhpcy50ZXh0RWwsIHRoaXMudGV4dFRvU2hvdyk7XG4gIH1cblxuICBwcml2YXRlIGdldE5ld2xpbmVDb3VudCh2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBsZXQgbWF0Y2hlcyA9IHZhbHVlLm1hdGNoKC9cXG4vZ2kpO1xuXG4gICAgaWYgKG1hdGNoZXMpIHtcbiAgICAgIHJldHVybiBtYXRjaGVzLmxlbmd0aDtcbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJ1bmNhdGVkVGV4dCh2YWx1ZTogc3RyaW5nLCBsZW5ndGg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IGk6IG51bWJlcjtcbiAgICBpZiAodGhpcy50cnVuY2F0ZU5ld2xpbmVzKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1xcbisvZ2ksICcgJyk7XG4gICAgfVxuICAgIC8vIEp1bXAgYWhlYWQgb25lIGNoYXJhY3RlciBhbmQgc2VlIGlmIGl0J3MgYSBzcGFjZSwgYW5kIGlmIGl0IGlzbid0LFxuICAgIC8vIGJhY2sgdXAgdG8gdGhlIGZpcnN0IHNwYWNlIGFuZCBicmVhayB0aGVyZSBzbyBhIHdvcmQgZG9lc24ndCBnZXQgY3V0XG4gICAgLy8gaW4gaGFsZi5cbiAgICBpZiAobGVuZ3RoIDwgdmFsdWUubGVuZ3RoKSB7XG4gICAgICBmb3IgKGkgPSBsZW5ndGg7IGkgPiBsZW5ndGggLSAxMDsgaS0tKSB7XG4gICAgICAgIGlmICgvXFxzLy50ZXN0KHZhbHVlLmNoYXJBdChpKSkpIHtcbiAgICAgICAgICBsZW5ndGggPSBpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZS5zdWJzdHIoMCwgbGVuZ3RoKTtcbiAgfVxuXG4gIHByaXZhdGUgYW5pbWF0ZVRleHQoXG4gICAgcHJldmlvdXNUZXh0OiBzdHJpbmcsXG4gICAgbmV3VGV4dDogc3RyaW5nLFxuICAgIGV4cGFuZGluZzogYm9vbGVhblxuICApOiB2b2lkIHtcbiAgICBsZXQgYWRhcHRlciA9IHRoaXMudGV4dEV4cGFuZEFkYXB0ZXI7XG4gICAgbGV0IGNvbnRhaW5lciA9IHRoaXMuY29udGFpbmVyRWw7XG4gICAgLy8gUmVzZXQgbWF4IGhlaWdodFxuICAgIGFkYXB0ZXIuc2V0Q29udGFpbmVySGVpZ2h0KGNvbnRhaW5lciwgdW5kZWZpbmVkKTtcbiAgICAvLyBNZWFzdXJlIHRoZSBjdXJyZW50IGhlaWdodCBzbyB3ZSBjYW4gYW5pbWF0ZSBmcm9tIGl0LlxuICAgIGxldCBjdXJyZW50SGVpZ2h0ID0gYWRhcHRlci5nZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyKTtcbiAgICB0aGlzLnRleHRUb1Nob3cgPSBuZXdUZXh0O1xuICAgIGFkYXB0ZXIuc2V0VGV4dCh0aGlzLnRleHRFbCwgdGhpcy50ZXh0VG9TaG93KTtcbiAgICB0aGlzLmJ1dHRvblRleHQgPSBleHBhbmRpbmcgPyB0aGlzLnNlZUxlc3NUZXh0IDogdGhpcy5zZWVNb3JlVGV4dDtcbiAgICAvLyBNZWFzdXJlIHRoZSBuZXcgaGVpZ2h0IHNvIHdlIGNhbiBhbmltYXRlIHRvIGl0LlxuICAgIGxldCBuZXdIZWlnaHQgPSBhZGFwdGVyLmdldENvbnRhaW5lckhlaWdodChjb250YWluZXIpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChuZXdIZWlnaHQgPCBjdXJyZW50SGVpZ2h0KSB7XG4gICAgICAvLyBUaGUgbmV3IHRleHQgaXMgc21hbGxlciB0aGFuIHRoZSBvbGQgdGV4dCwgc28gcHV0IHRoZSBvbGQgdGV4dCBiYWNrIGJlZm9yZSBkb2luZ1xuICAgICAgLy8gdGhlIGNvbGxhcHNlIGFuaW1hdGlvbiB0byBhdm9pZCBzaG93aW5nIGEgYmlnIGNodW5rIG9mIHdoaXRlc3BhY2UuXG4gICAgICBhZGFwdGVyLnNldFRleHQodGhpcy50ZXh0RWwsIHByZXZpb3VzVGV4dCk7XG4gICAgfVxuXG4gICAgYWRhcHRlci5zZXRDb250YWluZXJIZWlnaHQoY29udGFpbmVyLCBgJHtjdXJyZW50SGVpZ2h0fXB4YCk7XG4gICAgLy8gVGhpcyB0aW1lb3V0IGlzIG5lY2Vzc2FyeSBkdWUgdG8gdGhlIGJyb3dzZXIgbmVlZGluZyB0byBwaWNrIHVwIHRoZSBub24tYXV0byBoZWlnaHQgYmVpbmcgc2V0XG4gICAgLy8gaW4gb3JkZXIgdG8gZG8gdGhlIHRyYW5zdGlvbiBpbiBoZWlnaHQgY29ycmVjdGx5LiBXaXRob3V0IGl0IHRoZSB0cmFuc2l0aW9uIGRvZXMgbm90IGZpcmUuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBhZGFwdGVyLnNldENvbnRhaW5lckhlaWdodChjb250YWluZXIsIGAke25ld0hlaWdodH1weGApO1xuICAgICAgLyogVGhpcyByZXNldHMgdmFsdWVzIGlmIHRoZSB0cmFuc2l0aW9uIGRvZXMgbm90IGdldCBraWNrZWQgb2ZmICovXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5hbmltYXRpb25FbmQoKTtcbiAgICAgIH0sIDUwMCk7XG4gICAgfSwgMTApO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLWNvbnRhaW5lclwiXG4gICh0cmFuc2l0aW9uZW5kKT1cImFuaW1hdGlvbkVuZCgpXCJcbiAgI2NvbnRhaW5lclxuPlxuICA8c3BhbiBjbGFzcz1cInNreS10ZXh0LWV4cGFuZC10ZXh0XCIgW2lkXT1cImNvbnRlbnRTZWN0aW9uSWRcIiAjdGV4dD48L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwic2t5LXRleHQtZXhwYW5kLWVsbGlwc2lzXCIgKm5nSWY9XCIhaXNFeHBhbmRlZCAmJiBleHBhbmRhYmxlXCJcbiAgICA+Li4uXG4gIDwvc3Bhbj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwiZXhwYW5kYWJsZVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluay1pbmxpbmUgc2t5LXRleHQtZXhwYW5kLXNlZS1tb3JlXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzTW9kYWwgPyB1bmRlZmluZWQgOiBpc0V4cGFuZGVkXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlzTW9kYWwgPyB1bmRlZmluZWQgOiBjb250ZW50U2VjdGlvbklkXCJcbiAgICBbYXR0ci5hcmlhLWhhc3BvcHVwXT1cImlzTW9kYWwgPyAnZGlhbG9nJyA6IHVuZGVmaW5lZFwiXG4gICAgKGNsaWNrKT1cInRleHRFeHBhbmQoKVwiXG4gID5cbiAgICB7eyBidXR0b25UZXh0IH19XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=