@danske/sapphire-angular 1.12.4

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 (354) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +25 -0
  3. package/esm2020/danske-sapphire-angular.mjs +5 -0
  4. package/esm2020/lib/badge/public_api.mjs +3 -0
  5. package/esm2020/lib/badge/src/badge.component.mjs +66 -0
  6. package/esm2020/lib/badge/src/badge.module.mjs +18 -0
  7. package/esm2020/lib/button/public_api.mjs +12 -0
  8. package/esm2020/lib/button/src/button-group.component.mjs +57 -0
  9. package/esm2020/lib/button/src/button-icon.directive.mjs +13 -0
  10. package/esm2020/lib/button/src/button.component.mjs +100 -0
  11. package/esm2020/lib/button/src/button.module.mjs +48 -0
  12. package/esm2020/lib/button/src/icon-button.component.mjs +95 -0
  13. package/esm2020/lib/button/src/toggle-button-required-validator.mjs +27 -0
  14. package/esm2020/lib/button/src/toggle-button.component.mjs +124 -0
  15. package/esm2020/lib/checkbox/public_api.mjs +8 -0
  16. package/esm2020/lib/checkbox/src/checkbox-required-validator.mjs +26 -0
  17. package/esm2020/lib/checkbox/src/checkbox.component.mjs +264 -0
  18. package/esm2020/lib/checkbox/src/checkbox.module.mjs +21 -0
  19. package/esm2020/lib/common/auto-id.decorator.mjs +24 -0
  20. package/esm2020/lib/common/coerce-boolean.decorator.mjs +32 -0
  21. package/esm2020/lib/common/constructor.mjs +2 -0
  22. package/esm2020/lib/common/disabled.mjs +16 -0
  23. package/esm2020/lib/common/focused.directive.mjs +64 -0
  24. package/esm2020/lib/common/placement.mjs +60 -0
  25. package/esm2020/lib/common/platform.mjs +45 -0
  26. package/esm2020/lib/common/pressed.directive.mjs +55 -0
  27. package/esm2020/lib/common/public_api.mjs +4 -0
  28. package/esm2020/lib/common/sapphire-view-encapsulation.mjs +83 -0
  29. package/esm2020/lib/common/scroll-monitor.directive.mjs +63 -0
  30. package/esm2020/lib/common/tabindex.mjs +19 -0
  31. package/esm2020/lib/common/visually-hidden.directive.mjs +32 -0
  32. package/esm2020/lib/contextual-help/public_api.mjs +3 -0
  33. package/esm2020/lib/contextual-help/src/contextual-help.component.mjs +112 -0
  34. package/esm2020/lib/contextual-help/src/contextual-help.module.mjs +33 -0
  35. package/esm2020/lib/core.module.mjs +179 -0
  36. package/esm2020/lib/field/public_api.mjs +8 -0
  37. package/esm2020/lib/field/src/field-control.mjs +17 -0
  38. package/esm2020/lib/field/src/field-error.directive.mjs +20 -0
  39. package/esm2020/lib/field/src/field-label.directive.mjs +17 -0
  40. package/esm2020/lib/field/src/field-note-suffix.directive.mjs +28 -0
  41. package/esm2020/lib/field/src/field-note.directive.mjs +17 -0
  42. package/esm2020/lib/field/src/field.component.mjs +153 -0
  43. package/esm2020/lib/field/src/field.module.mjs +49 -0
  44. package/esm2020/lib/icon/public_api.mjs +4 -0
  45. package/esm2020/lib/icon/src/icon-size-provider.mjs +18 -0
  46. package/esm2020/lib/icon/src/icon.component.mjs +67 -0
  47. package/esm2020/lib/icon/src/icon.module.mjs +18 -0
  48. package/esm2020/lib/label/public_api.mjs +6 -0
  49. package/esm2020/lib/label/src/label.component.mjs +61 -0
  50. package/esm2020/lib/link/public_api.mjs +7 -0
  51. package/esm2020/lib/link/src/link.component.mjs +62 -0
  52. package/esm2020/lib/link/src/link.module.mjs +16 -0
  53. package/esm2020/lib/listbox/public_api.mjs +10 -0
  54. package/esm2020/lib/listbox/src/cdk-option-scroll-issue-patch.mjs +30 -0
  55. package/esm2020/lib/listbox/src/listbox-child.mjs +7 -0
  56. package/esm2020/lib/listbox/src/listbox-input.directive.mjs +42 -0
  57. package/esm2020/lib/listbox/src/listbox-item.component.mjs +49 -0
  58. package/esm2020/lib/listbox/src/listbox.component.mjs +273 -0
  59. package/esm2020/lib/listbox/src/listbox.module.mjs +81 -0
  60. package/esm2020/lib/listbox/src/option-icon.directive.mjs +22 -0
  61. package/esm2020/lib/listbox/src/option-primary-text.directive.mjs +25 -0
  62. package/esm2020/lib/listbox/src/option-secondary-text.directive.mjs +22 -0
  63. package/esm2020/lib/listbox/src/option.component.mjs +58 -0
  64. package/esm2020/lib/listbox/src/section.directive.mjs +46 -0
  65. package/esm2020/lib/menu/public_api.mjs +10 -0
  66. package/esm2020/lib/menu/src/menu-item.component.mjs +45 -0
  67. package/esm2020/lib/menu/src/menu-section.component.mjs +27 -0
  68. package/esm2020/lib/menu/src/menu-trigger.directive.mjs +149 -0
  69. package/esm2020/lib/menu/src/menu.component.mjs +33 -0
  70. package/esm2020/lib/menu/src/menu.module.mjs +39 -0
  71. package/esm2020/lib/modal/public_api.mjs +19 -0
  72. package/esm2020/lib/modal/src/dialog/confirmation-dialog.component.mjs +61 -0
  73. package/esm2020/lib/modal/src/dialog/danger-dialog.component.mjs +62 -0
  74. package/esm2020/lib/modal/src/dialog/dialog-close-button.directive.mjs +18 -0
  75. package/esm2020/lib/modal/src/dialog/dialog-content.directive.mjs +29 -0
  76. package/esm2020/lib/modal/src/dialog/dialog-footer.component.mjs +43 -0
  77. package/esm2020/lib/modal/src/dialog/dialog-header.component.mjs +65 -0
  78. package/esm2020/lib/modal/src/dialog/dialog-trigger.directive.mjs +37 -0
  79. package/esm2020/lib/modal/src/dialog/dialog.component.mjs +60 -0
  80. package/esm2020/lib/modal/src/modal-base.component.mjs +89 -0
  81. package/esm2020/lib/modal/src/modal-close-button.directive.mjs +28 -0
  82. package/esm2020/lib/modal/src/modal-trigger.directive.mjs +42 -0
  83. package/esm2020/lib/modal/src/modal.module.mjs +143 -0
  84. package/esm2020/lib/modal/src/modal.service.mjs +58 -0
  85. package/esm2020/lib/modal/src/panel/inline-panel.component.mjs +15 -0
  86. package/esm2020/lib/modal/src/panel/panel-back-button.directive.mjs +13 -0
  87. package/esm2020/lib/modal/src/panel/panel-close-button.directive.mjs +16 -0
  88. package/esm2020/lib/modal/src/panel/panel-content.component.mjs +38 -0
  89. package/esm2020/lib/modal/src/panel/panel-footer.component.mjs +38 -0
  90. package/esm2020/lib/modal/src/panel/panel-header.component.mjs +68 -0
  91. package/esm2020/lib/modal/src/panel/panel-trigger.directive.mjs +37 -0
  92. package/esm2020/lib/modal/src/panel/panel.component.mjs +37 -0
  93. package/esm2020/lib/notification-badge/public_api.mjs +3 -0
  94. package/esm2020/lib/notification-badge/src/notification-badge.component.mjs +28 -0
  95. package/esm2020/lib/notification-badge/src/notification-badge.module.mjs +18 -0
  96. package/esm2020/lib/pagination/public_api.mjs +3 -0
  97. package/esm2020/lib/pagination/src/pagination.component.mjs +85 -0
  98. package/esm2020/lib/pagination/src/pagination.module.mjs +36 -0
  99. package/esm2020/lib/popover/public_api.mjs +10 -0
  100. package/esm2020/lib/popover/src/popover-close-button.directive.mjs +32 -0
  101. package/esm2020/lib/popover/src/popover-title.directive.mjs +24 -0
  102. package/esm2020/lib/popover/src/popover-trigger.directive.mjs +301 -0
  103. package/esm2020/lib/popover/src/popover.component.mjs +88 -0
  104. package/esm2020/lib/popover/src/popover.module.mjs +38 -0
  105. package/esm2020/lib/radio/public_api.mjs +8 -0
  106. package/esm2020/lib/radio/src/radio-group.component.mjs +195 -0
  107. package/esm2020/lib/radio/src/radio.component.mjs +279 -0
  108. package/esm2020/lib/radio/src/radio.module.mjs +22 -0
  109. package/esm2020/lib/segmented-tabs/public_api.mjs +6 -0
  110. package/esm2020/lib/segmented-tabs/src/segmented-tab-content.directive.mjs +15 -0
  111. package/esm2020/lib/segmented-tabs/src/segmented-tab-label.directive.mjs +20 -0
  112. package/esm2020/lib/segmented-tabs/src/segmented-tab.component.mjs +69 -0
  113. package/esm2020/lib/segmented-tabs/src/segmented-tabs.component.mjs +215 -0
  114. package/esm2020/lib/segmented-tabs/src/segmented-tabs.module.mjs +39 -0
  115. package/esm2020/lib/select/public_api.mjs +10 -0
  116. package/esm2020/lib/select/src/basic-select/basic-select.component.mjs +127 -0
  117. package/esm2020/lib/select/src/common/hidden-select.component.mjs +33 -0
  118. package/esm2020/lib/select/src/common/select-component-base.mjs +267 -0
  119. package/esm2020/lib/select/src/common/select-value-holder.mjs +86 -0
  120. package/esm2020/lib/select/src/select/searchable-select.directive.mjs +90 -0
  121. package/esm2020/lib/select/src/select/select.component.mjs +351 -0
  122. package/esm2020/lib/select/src/select/select.module.mjs +113 -0
  123. package/esm2020/lib/select/src/select/selection-text.directive.mjs +19 -0
  124. package/esm2020/lib/skeleton/public_api.mjs +6 -0
  125. package/esm2020/lib/skeleton/src/skeleton-block.directive.mjs +16 -0
  126. package/esm2020/lib/skeleton/src/skeleton-circle.directive.mjs +16 -0
  127. package/esm2020/lib/skeleton/src/skeleton-text.directive.mjs +43 -0
  128. package/esm2020/lib/skeleton/src/skeleton.component.mjs +29 -0
  129. package/esm2020/lib/skeleton/src/skeleton.module.mjs +37 -0
  130. package/esm2020/lib/skeleton/src/util.mjs +2 -0
  131. package/esm2020/lib/surface/public_api.mjs +7 -0
  132. package/esm2020/lib/surface/src/surface.component.mjs +25 -0
  133. package/esm2020/lib/surface/src/surface.module.mjs +16 -0
  134. package/esm2020/lib/switch/public_api.mjs +4 -0
  135. package/esm2020/lib/switch/src/switch-required-validator.mjs +27 -0
  136. package/esm2020/lib/switch/src/switch.component.mjs +216 -0
  137. package/esm2020/lib/switch/src/switch.module.mjs +19 -0
  138. package/esm2020/lib/table/public_api.mjs +15 -0
  139. package/esm2020/lib/table/src/table-body.directive.mjs +20 -0
  140. package/esm2020/lib/table/src/table-cell.directive.mjs +87 -0
  141. package/esm2020/lib/table/src/table-head-cell.component.mjs +57 -0
  142. package/esm2020/lib/table/src/table-head.directive.mjs +32 -0
  143. package/esm2020/lib/table/src/table-row.directive.mjs +48 -0
  144. package/esm2020/lib/table/src/table-sort-header.directive.mjs +44 -0
  145. package/esm2020/lib/table/src/table-sort.directive.mjs +26 -0
  146. package/esm2020/lib/table/src/table.component.mjs +82 -0
  147. package/esm2020/lib/table/src/table.directive.mjs +20 -0
  148. package/esm2020/lib/table/src/table.module.mjs +74 -0
  149. package/esm2020/lib/text-field/public_api.mjs +12 -0
  150. package/esm2020/lib/text-field/src/text-field-affix.directive.mjs +26 -0
  151. package/esm2020/lib/text-field/src/text-field-input.directive.mjs +51 -0
  152. package/esm2020/lib/text-field/src/text-field-postfix.directive.mjs +13 -0
  153. package/esm2020/lib/text-field/src/text-field-prefix.directive.mjs +13 -0
  154. package/esm2020/lib/text-field/src/text-field-textarea-autosize.directive.mjs +73 -0
  155. package/esm2020/lib/text-field/src/text-field.component.mjs +78 -0
  156. package/esm2020/lib/text-field/src/text-field.module.mjs +67 -0
  157. package/esm2020/lib/theme/public_api.mjs +34 -0
  158. package/esm2020/lib/theme/src/sapphire-overlay-container.service.mjs +38 -0
  159. package/esm2020/lib/theme/src/theme-base.directive.mjs +87 -0
  160. package/esm2020/lib/theme/src/theme-check.directive.mjs +29 -0
  161. package/esm2020/lib/theme/src/theme-root.directive.mjs +23 -0
  162. package/esm2020/lib/theme/src/theme.module.mjs +32 -0
  163. package/esm2020/lib/theme/src/themes.mjs +27 -0
  164. package/esm2020/lib/theme/src/top-level-theme-ref.service.mjs +21 -0
  165. package/esm2020/lib/tooltip/public_api.mjs +5 -0
  166. package/esm2020/lib/tooltip/src/tooltip.component.mjs +47 -0
  167. package/esm2020/lib/tooltip/src/tooltip.directive.mjs +223 -0
  168. package/esm2020/lib/tooltip/src/tooltip.module.mjs +30 -0
  169. package/esm2020/lib/tooltip/src/truncated-with-tooltip.directive.mjs +56 -0
  170. package/esm2020/lib/typography/public_api.mjs +8 -0
  171. package/esm2020/lib/typography/src/heading.component.mjs +44 -0
  172. package/esm2020/lib/typography/src/paragraph.component.mjs +24 -0
  173. package/esm2020/lib/typography/src/typography.module.mjs +19 -0
  174. package/esm2020/public-api.mjs +30 -0
  175. package/fesm2015/danske-sapphire-angular.mjs +8010 -0
  176. package/fesm2015/danske-sapphire-angular.mjs.map +1 -0
  177. package/fesm2020/danske-sapphire-angular.mjs +7890 -0
  178. package/fesm2020/danske-sapphire-angular.mjs.map +1 -0
  179. package/index.d.ts +5 -0
  180. package/lib/badge/public_api.d.ts +2 -0
  181. package/lib/badge/src/badge.component.d.ts +35 -0
  182. package/lib/badge/src/badge.module.d.ts +8 -0
  183. package/lib/button/public_api.d.ts +7 -0
  184. package/lib/button/src/button-group.component.d.ts +26 -0
  185. package/lib/button/src/button-icon.directive.d.ts +5 -0
  186. package/lib/button/src/button.component.d.ts +31 -0
  187. package/lib/button/src/button.module.d.ts +14 -0
  188. package/lib/button/src/icon-button.component.d.ts +26 -0
  189. package/lib/button/src/toggle-button-required-validator.d.ts +10 -0
  190. package/lib/button/src/toggle-button.component.d.ts +39 -0
  191. package/lib/checkbox/public_api.d.ts +3 -0
  192. package/lib/checkbox/src/checkbox-required-validator.d.ts +10 -0
  193. package/lib/checkbox/src/checkbox.component.d.ts +112 -0
  194. package/lib/checkbox/src/checkbox.module.d.ts +11 -0
  195. package/lib/common/auto-id.decorator.d.ts +7 -0
  196. package/lib/common/coerce-boolean.decorator.d.ts +7 -0
  197. package/lib/common/constructor.d.ts +2 -0
  198. package/lib/common/disabled.d.ts +9 -0
  199. package/lib/common/focused.directive.d.ts +30 -0
  200. package/lib/common/placement.d.ts +11 -0
  201. package/lib/common/platform.d.ts +9 -0
  202. package/lib/common/pressed.directive.d.ts +27 -0
  203. package/lib/common/public_api.d.ts +2 -0
  204. package/lib/common/sapphire-view-encapsulation.d.ts +37 -0
  205. package/lib/common/scroll-monitor.directive.d.ts +23 -0
  206. package/lib/common/tabindex.d.ts +12 -0
  207. package/lib/common/visually-hidden.directive.d.ts +11 -0
  208. package/lib/contextual-help/public_api.d.ts +2 -0
  209. package/lib/contextual-help/src/contextual-help.component.d.ts +50 -0
  210. package/lib/contextual-help/src/contextual-help.module.d.ts +7 -0
  211. package/lib/core.module.d.ts +30 -0
  212. package/lib/field/public_api.d.ts +7 -0
  213. package/lib/field/src/field-control.d.ts +16 -0
  214. package/lib/field/src/field-error.directive.d.ts +8 -0
  215. package/lib/field/src/field-label.directive.d.ts +8 -0
  216. package/lib/field/src/field-note-suffix.directive.d.ts +15 -0
  217. package/lib/field/src/field-note.directive.d.ts +8 -0
  218. package/lib/field/src/field.component.d.ts +77 -0
  219. package/lib/field/src/field.module.d.ts +14 -0
  220. package/lib/icon/public_api.d.ts +3 -0
  221. package/lib/icon/src/icon-size-provider.d.ts +23 -0
  222. package/lib/icon/src/icon.component.d.ts +18 -0
  223. package/lib/icon/src/icon.module.d.ts +8 -0
  224. package/lib/label/public_api.d.ts +5 -0
  225. package/lib/label/src/label.component.d.ts +43 -0
  226. package/lib/link/public_api.d.ts +2 -0
  227. package/lib/link/src/link.component.d.ts +13 -0
  228. package/lib/link/src/link.module.d.ts +7 -0
  229. package/lib/listbox/public_api.d.ts +9 -0
  230. package/lib/listbox/src/cdk-option-scroll-issue-patch.d.ts +17 -0
  231. package/lib/listbox/src/listbox-child.d.ts +6 -0
  232. package/lib/listbox/src/listbox-input.directive.d.ts +16 -0
  233. package/lib/listbox/src/listbox-item.component.d.ts +21 -0
  234. package/lib/listbox/src/listbox.component.d.ts +127 -0
  235. package/lib/listbox/src/listbox.module.d.ts +22 -0
  236. package/lib/listbox/src/option-icon.directive.d.ts +10 -0
  237. package/lib/listbox/src/option-primary-text.directive.d.ts +14 -0
  238. package/lib/listbox/src/option-secondary-text.directive.d.ts +10 -0
  239. package/lib/listbox/src/option.component.d.ts +21 -0
  240. package/lib/listbox/src/section.directive.d.ts +14 -0
  241. package/lib/menu/public_api.d.ts +5 -0
  242. package/lib/menu/src/menu-item.component.d.ts +12 -0
  243. package/lib/menu/src/menu-section.component.d.ts +12 -0
  244. package/lib/menu/src/menu-trigger.directive.d.ts +34 -0
  245. package/lib/menu/src/menu.component.d.ts +10 -0
  246. package/lib/menu/src/menu.module.d.ts +13 -0
  247. package/lib/modal/public_api.d.ts +18 -0
  248. package/lib/modal/src/dialog/confirmation-dialog.component.d.ts +43 -0
  249. package/lib/modal/src/dialog/danger-dialog.component.d.ts +44 -0
  250. package/lib/modal/src/dialog/dialog-close-button.directive.d.ts +7 -0
  251. package/lib/modal/src/dialog/dialog-content.directive.d.ts +13 -0
  252. package/lib/modal/src/dialog/dialog-footer.component.d.ts +20 -0
  253. package/lib/modal/src/dialog/dialog-header.component.d.ts +25 -0
  254. package/lib/modal/src/dialog/dialog-trigger.directive.d.ts +13 -0
  255. package/lib/modal/src/dialog/dialog.component.d.ts +33 -0
  256. package/lib/modal/src/modal-base.component.d.ts +33 -0
  257. package/lib/modal/src/modal-close-button.directive.d.ts +9 -0
  258. package/lib/modal/src/modal-trigger.directive.d.ts +24 -0
  259. package/lib/modal/src/modal.module.d.ts +30 -0
  260. package/lib/modal/src/modal.service.d.ts +26 -0
  261. package/lib/modal/src/panel/inline-panel.component.d.ts +6 -0
  262. package/lib/modal/src/panel/panel-back-button.directive.d.ts +5 -0
  263. package/lib/modal/src/panel/panel-close-button.directive.d.ts +6 -0
  264. package/lib/modal/src/panel/panel-content.component.d.ts +14 -0
  265. package/lib/modal/src/panel/panel-footer.component.d.ts +21 -0
  266. package/lib/modal/src/panel/panel-header.component.d.ts +26 -0
  267. package/lib/modal/src/panel/panel-trigger.directive.d.ts +13 -0
  268. package/lib/modal/src/panel/panel.component.d.ts +18 -0
  269. package/lib/notification-badge/public_api.d.ts +2 -0
  270. package/lib/notification-badge/src/notification-badge.component.d.ts +10 -0
  271. package/lib/notification-badge/src/notification-badge.module.d.ts +8 -0
  272. package/lib/pagination/public_api.d.ts +2 -0
  273. package/lib/pagination/src/pagination.component.d.ts +32 -0
  274. package/lib/pagination/src/pagination.module.d.ts +12 -0
  275. package/lib/popover/public_api.d.ts +5 -0
  276. package/lib/popover/src/popover-close-button.directive.d.ts +13 -0
  277. package/lib/popover/src/popover-title.directive.d.ts +11 -0
  278. package/lib/popover/src/popover-trigger.directive.d.ts +86 -0
  279. package/lib/popover/src/popover.component.d.ts +32 -0
  280. package/lib/popover/src/popover.module.d.ts +12 -0
  281. package/lib/radio/public_api.d.ts +3 -0
  282. package/lib/radio/src/radio-group.component.d.ts +65 -0
  283. package/lib/radio/src/radio.component.d.ts +99 -0
  284. package/lib/radio/src/radio.module.d.ts +12 -0
  285. package/lib/segmented-tabs/public_api.d.ts +5 -0
  286. package/lib/segmented-tabs/src/segmented-tab-content.directive.d.ts +6 -0
  287. package/lib/segmented-tabs/src/segmented-tab-label.directive.d.ts +6 -0
  288. package/lib/segmented-tabs/src/segmented-tab.component.d.ts +27 -0
  289. package/lib/segmented-tabs/src/segmented-tabs.component.d.ts +48 -0
  290. package/lib/segmented-tabs/src/segmented-tabs.module.d.ts +13 -0
  291. package/lib/select/public_api.d.ts +5 -0
  292. package/lib/select/src/basic-select/basic-select.component.d.ts +50 -0
  293. package/lib/select/src/common/hidden-select.component.d.ts +19 -0
  294. package/lib/select/src/common/select-component-base.d.ts +109 -0
  295. package/lib/select/src/common/select-value-holder.d.ts +54 -0
  296. package/lib/select/src/select/searchable-select.directive.d.ts +40 -0
  297. package/lib/select/src/select/select.component.d.ts +80 -0
  298. package/lib/select/src/select/select.module.d.ts +26 -0
  299. package/lib/select/src/select/selection-text.directive.d.ts +11 -0
  300. package/lib/skeleton/public_api.d.ts +5 -0
  301. package/lib/skeleton/src/skeleton-block.directive.d.ts +5 -0
  302. package/lib/skeleton/src/skeleton-circle.directive.d.ts +5 -0
  303. package/lib/skeleton/src/skeleton-text.directive.d.ts +13 -0
  304. package/lib/skeleton/src/skeleton.component.d.ts +13 -0
  305. package/lib/skeleton/src/skeleton.module.d.ts +11 -0
  306. package/lib/skeleton/src/util.d.ts +1 -0
  307. package/lib/surface/public_api.d.ts +2 -0
  308. package/lib/surface/src/surface.component.d.ts +11 -0
  309. package/lib/surface/src/surface.module.d.ts +7 -0
  310. package/lib/switch/public_api.d.ts +3 -0
  311. package/lib/switch/src/switch-required-validator.d.ts +10 -0
  312. package/lib/switch/src/switch.component.d.ts +91 -0
  313. package/lib/switch/src/switch.module.d.ts +9 -0
  314. package/lib/table/public_api.d.ts +10 -0
  315. package/lib/table/src/table-body.directive.d.ts +7 -0
  316. package/lib/table/src/table-cell.directive.d.ts +30 -0
  317. package/lib/table/src/table-head-cell.component.d.ts +19 -0
  318. package/lib/table/src/table-head.directive.d.ts +10 -0
  319. package/lib/table/src/table-row.directive.d.ts +16 -0
  320. package/lib/table/src/table-sort-header.directive.d.ts +11 -0
  321. package/lib/table/src/table-sort.directive.d.ts +13 -0
  322. package/lib/table/src/table.component.d.ts +37 -0
  323. package/lib/table/src/table.directive.d.ts +7 -0
  324. package/lib/table/src/table.module.d.ts +19 -0
  325. package/lib/text-field/public_api.d.ts +7 -0
  326. package/lib/text-field/src/text-field-affix.directive.d.ts +10 -0
  327. package/lib/text-field/src/text-field-input.directive.d.ts +16 -0
  328. package/lib/text-field/src/text-field-postfix.directive.d.ts +5 -0
  329. package/lib/text-field/src/text-field-prefix.directive.d.ts +5 -0
  330. package/lib/text-field/src/text-field-textarea-autosize.directive.d.ts +20 -0
  331. package/lib/text-field/src/text-field.component.d.ts +23 -0
  332. package/lib/text-field/src/text-field.module.d.ts +17 -0
  333. package/lib/theme/public_api.d.ts +24 -0
  334. package/lib/theme/src/sapphire-overlay-container.service.d.ts +14 -0
  335. package/lib/theme/src/theme-base.directive.d.ts +14 -0
  336. package/lib/theme/src/theme-check.directive.d.ts +14 -0
  337. package/lib/theme/src/theme-root.directive.d.ts +13 -0
  338. package/lib/theme/src/theme.module.d.ts +14 -0
  339. package/lib/theme/src/themes.d.ts +16 -0
  340. package/lib/theme/src/top-level-theme-ref.service.d.ts +13 -0
  341. package/lib/tooltip/public_api.d.ts +4 -0
  342. package/lib/tooltip/src/tooltip.component.d.ts +10 -0
  343. package/lib/tooltip/src/tooltip.directive.d.ts +39 -0
  344. package/lib/tooltip/src/tooltip.module.d.ts +11 -0
  345. package/lib/tooltip/src/truncated-with-tooltip.directive.d.ts +26 -0
  346. package/lib/typography/public_api.d.ts +3 -0
  347. package/lib/typography/src/heading.component.d.ts +17 -0
  348. package/lib/typography/src/paragraph.component.d.ts +8 -0
  349. package/lib/typography/src/typography.module.d.ts +9 -0
  350. package/package.json +45 -0
  351. package/public-api.d.ts +26 -0
  352. package/src/lib/listbox/src/README.md +67 -0
  353. package/theme-assets/default-dark.css +1 -0
  354. package/theme-assets/default.css +1 -0
@@ -0,0 +1,46 @@
1
+ import { ContentChildren, Directive, forwardRef, Input, QueryList, } from '@angular/core';
2
+ import { OptionComponent } from './option.component';
3
+ import { ListboxChild } from './listbox-child';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Used to define a group of Options as a section. It intentionally only
7
+ * queries OptionComponent, in `children`, to limit the section/option nesting
8
+ * to one level.
9
+ */
10
+ export class SectionDirective {
11
+ constructor() {
12
+ this.children = new QueryList();
13
+ }
14
+ }
15
+ SectionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SectionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
+ SectionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: SectionDirective, selector: "sp-section", inputs: { ariaLabel: ["aria-label", "ariaLabel"] }, providers: [
17
+ {
18
+ provide: ListboxChild,
19
+ useExisting: forwardRef(() => SectionDirective),
20
+ },
21
+ ], queries: [{ propertyName: "children", predicate: OptionComponent }], ngImport: i0 });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SectionDirective, decorators: [{
23
+ type: Directive,
24
+ args: [{
25
+ selector: 'sp-section',
26
+ providers: [
27
+ {
28
+ provide: ListboxChild,
29
+ useExisting: forwardRef(() => SectionDirective),
30
+ },
31
+ ],
32
+ }]
33
+ }], propDecorators: { children: [{
34
+ type: ContentChildren,
35
+ args: [OptionComponent]
36
+ }], ariaLabel: [{
37
+ type: Input,
38
+ args: ['aria-label']
39
+ }] } });
40
+ export function section(options, ariaLabel) {
41
+ const section = new SectionDirective();
42
+ section.children = options;
43
+ section.ariaLabel = ariaLabel;
44
+ return section;
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2xpc3Rib3gvc3JjL3NlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBQ0wsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRS9DOzs7O0dBSUc7QUFVSCxNQUFNLE9BQU8sZ0JBQWdCO0lBVDdCO1FBV0UsYUFBUSxHQUE4QixJQUFJLFNBQVMsRUFBbUIsQ0FBQztLQUl4RTs7NkdBTlksZ0JBQWdCO2lHQUFoQixnQkFBZ0IseUZBUGhCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsWUFBWTtZQUNyQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDO1NBQ2hEO0tBQ0YsbURBR2dCLGVBQWU7MkZBRHJCLGdCQUFnQjtrQkFUNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxZQUFZOzRCQUNyQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQzt5QkFDaEQ7cUJBQ0Y7aUJBQ0Y7OEJBR0MsUUFBUTtzQkFEUCxlQUFlO3VCQUFDLGVBQWU7Z0JBSWhDLFNBQVM7c0JBRFIsS0FBSzt1QkFBQyxZQUFZOztBQUlyQixNQUFNLFVBQVUsT0FBTyxDQUNyQixPQUFrQyxFQUNsQyxTQUFrQjtJQUVsQixNQUFNLE9BQU8sR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7SUFDdkMsT0FBTyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDM0IsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDOUIsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRGlyZWN0aXZlLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0Ym94Q2hpbGQgfSBmcm9tICcuL2xpc3Rib3gtY2hpbGQnO1xuXG4vKipcbiAqIFVzZWQgdG8gZGVmaW5lIGEgZ3JvdXAgb2YgT3B0aW9ucyBhcyBhIHNlY3Rpb24uIEl0IGludGVudGlvbmFsbHkgb25seVxuICogcXVlcmllcyBPcHRpb25Db21wb25lbnQsIGluIGBjaGlsZHJlbmAsIHRvIGxpbWl0IHRoZSBzZWN0aW9uL29wdGlvbiBuZXN0aW5nXG4gKiB0byBvbmUgbGV2ZWwuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3NwLXNlY3Rpb24nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBMaXN0Ym94Q2hpbGQsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTZWN0aW9uRGlyZWN0aXZlKSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTZWN0aW9uRGlyZWN0aXZlIHtcbiAgQENvbnRlbnRDaGlsZHJlbihPcHRpb25Db21wb25lbnQpXG4gIGNoaWxkcmVuOiBJdGVyYWJsZTxPcHRpb25Db21wb25lbnQ+ID0gbmV3IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ+KCk7XG5cbiAgQElucHV0KCdhcmlhLWxhYmVsJylcbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VjdGlvbihcbiAgb3B0aW9uczogSXRlcmFibGU8T3B0aW9uQ29tcG9uZW50PixcbiAgYXJpYUxhYmVsPzogc3RyaW5nXG4pIHtcbiAgY29uc3Qgc2VjdGlvbiA9IG5ldyBTZWN0aW9uRGlyZWN0aXZlKCk7XG4gIHNlY3Rpb24uY2hpbGRyZW4gPSBvcHRpb25zO1xuICBzZWN0aW9uLmFyaWFMYWJlbCA9IGFyaWFMYWJlbDtcbiAgcmV0dXJuIHNlY3Rpb247XG59XG4iXX0=
@@ -0,0 +1,10 @@
1
+ // We have separate public_api.ts file for each angular module, to have them
2
+ // exposed as separate entry points. The build is still not emitting separate
3
+ // entry points, which will be addressed in this task:
4
+ // WCCJ-838
5
+ export * from './src/menu.component';
6
+ export * from './src/menu.module';
7
+ export * from './src/menu-item.component';
8
+ export * from './src/menu-section.component';
9
+ export * from './src/menu-trigger.directive';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbWVudS9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDRFQUE0RTtBQUM1RSw2RUFBNkU7QUFDN0Usc0RBQXNEO0FBQ3RELFdBQVc7QUFDWCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBXZSBoYXZlIHNlcGFyYXRlIHB1YmxpY19hcGkudHMgZmlsZSBmb3IgZWFjaCBhbmd1bGFyIG1vZHVsZSwgdG8gaGF2ZSB0aGVtXG4vLyBleHBvc2VkIGFzIHNlcGFyYXRlIGVudHJ5IHBvaW50cy4gVGhlIGJ1aWxkIGlzIHN0aWxsIG5vdCBlbWl0dGluZyBzZXBhcmF0ZVxuLy8gZW50cnkgcG9pbnRzLCB3aGljaCB3aWxsIGJlIGFkZHJlc3NlZCBpbiB0aGlzIHRhc2s6XG4vLyBXQ0NKLTgzOFxuZXhwb3J0ICogZnJvbSAnLi9zcmMvbWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbWVudS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbWVudS1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9tZW51LXNlY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL21lbnUtdHJpZ2dlci5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,45 @@
1
+ import { __decorate } from "tslib";
2
+ import { Component, HostBinding, Input } from '@angular/core';
3
+ import { CdkMenuItem } from '@angular/cdk/menu';
4
+ import { CoerceBoolean } from '../../common/coerce-boolean.decorator';
5
+ import { UseComponentStyles } from '../../common/sapphire-view-encapsulation';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/menu";
8
+ import * as i2 from "../../common/sapphire-view-encapsulation";
9
+ export class MenuItemComponent {
10
+ }
11
+ MenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
+ MenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: MenuItemComponent, selector: "sp-menu-item", inputs: { disabled: "disabled", danger: "danger" }, host: { properties: { "class.sapphire-listbox__item": "true", "class.is-disabled": "this.disabled", "class.sapphire-listbox__item--danger": "this.danger" } }, hostDirectives: [{ directive: i1.CdkMenuItem, inputs: ["cdkMenuItemDisabled", "disabled", "cdkMenuitemTypeaheadLabel", "typeaheadLabel"], outputs: ["cdkMenuItemTriggered", "triggered"] }, { directive: i2.UseComponentStyles }], ngImport: i0, template: "<div class=\"sapphire-listbox__content\" _spUseComponentStyles>\n <div class=\"sapphire-listbox__text-container\" _spUseComponentStyles>\n <div class=\"sapphire-listbox__primary-text\" _spUseComponentStyles>\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.UseComponentStyles, selector: "[_spUseComponentStyles]" }] });
13
+ __decorate([
14
+ CoerceBoolean
15
+ ], MenuItemComponent.prototype, "disabled", void 0);
16
+ __decorate([
17
+ CoerceBoolean
18
+ ], MenuItemComponent.prototype, "danger", void 0);
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuItemComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: 'sp-menu-item', hostDirectives: [
22
+ {
23
+ directive: CdkMenuItem,
24
+ inputs: [
25
+ 'cdkMenuItemDisabled: disabled',
26
+ 'cdkMenuitemTypeaheadLabel: typeaheadLabel',
27
+ ],
28
+ outputs: ['cdkMenuItemTriggered: triggered'],
29
+ },
30
+ UseComponentStyles,
31
+ ], host: {
32
+ '[class.sapphire-listbox__item]': 'true',
33
+ }, template: "<div class=\"sapphire-listbox__content\" _spUseComponentStyles>\n <div class=\"sapphire-listbox__text-container\" _spUseComponentStyles>\n <div class=\"sapphire-listbox__primary-text\" _spUseComponentStyles>\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n" }]
34
+ }], propDecorators: { disabled: [{
35
+ type: HostBinding,
36
+ args: ['class.is-disabled']
37
+ }, {
38
+ type: Input
39
+ }], danger: [{
40
+ type: HostBinding,
41
+ args: ['class.sapphire-listbox__item--danger']
42
+ }, {
43
+ type: Input
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWVudS9zcmMvbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWVudS9zcmMvbWVudS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7OztBQW9COUUsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjtrR0FBakIsaUJBQWlCLDBlQ3pCOUIsc1JBT0E7QUR1QkU7SUFEQyxhQUFhO21EQUNTO0FBTXZCO0lBREMsYUFBYTtpREFDTzsyRkFYVixpQkFBaUI7a0JBbEI3QixTQUFTOytCQUNFLGNBQWMsa0JBRVI7d0JBQ2Q7NEJBQ0UsU0FBUyxFQUFFLFdBQVc7NEJBQ3RCLE1BQU0sRUFBRTtnQ0FDTiwrQkFBK0I7Z0NBQy9CLDJDQUEyQzs2QkFDNUM7NEJBQ0QsT0FBTyxFQUFFLENBQUMsaUNBQWlDLENBQUM7eUJBQzdDO3dCQUNELGtCQUFrQjtxQkFDbkIsUUFDSzt3QkFDSixnQ0FBZ0MsRUFBRSxNQUFNO3FCQUN6Qzs4QkFPRCxRQUFRO3NCQUhQLFdBQVc7dUJBQUMsbUJBQW1COztzQkFDL0IsS0FBSztnQkFRTixNQUFNO3NCQUhMLFdBQVc7dUJBQUMsc0NBQXNDOztzQkFDbEQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ2RrTWVudUl0ZW0gfSBmcm9tICdAYW5ndWxhci9jZGsvbWVudSc7XG5cbmltcG9ydCB7IENvZXJjZUJvb2xlYW4gfSBmcm9tICcuLi8uLi9jb21tb24vY29lcmNlLWJvb2xlYW4uZGVjb3JhdG9yJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlcyB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcC1tZW51LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICB7XG4gICAgICBkaXJlY3RpdmU6IENka01lbnVJdGVtLFxuICAgICAgaW5wdXRzOiBbXG4gICAgICAgICdjZGtNZW51SXRlbURpc2FibGVkOiBkaXNhYmxlZCcsXG4gICAgICAgICdjZGtNZW51aXRlbVR5cGVhaGVhZExhYmVsOiB0eXBlYWhlYWRMYWJlbCcsXG4gICAgICBdLFxuICAgICAgb3V0cHV0czogWydjZGtNZW51SXRlbVRyaWdnZXJlZDogdHJpZ2dlcmVkJ10sXG4gICAgfSxcbiAgICBVc2VDb21wb25lbnRTdHlsZXMsXG4gIF0sXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLnNhcHBoaXJlLWxpc3Rib3hfX2l0ZW1dJzogJ3RydWUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBNZW51SXRlbUNvbXBvbmVudCB7XG4gIC8qKiBXaGV0aGVyIHRoZSBpdGVtIHNob3VsZCBiZSBkaXNhYmxlZCAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWRpc2FibGVkJylcbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dDtcblxuICAvKiogV2hldGhlciB0aGUgaXRlbSBzaG91bGQgYmUgc3R5bGVkIGFzIGRhbmdlciBpdGVtICovXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2FwcGhpcmUtbGlzdGJveF9faXRlbS0tZGFuZ2VyJylcbiAgQElucHV0KClcbiAgQENvZXJjZUJvb2xlYW5cbiAgZGFuZ2VyOiBCb29sZWFuSW5wdXQ7XG59XG4iLCI8ZGl2IGNsYXNzPVwic2FwcGhpcmUtbGlzdGJveF9fY29udGVudFwiIF9zcFVzZUNvbXBvbmVudFN0eWxlcz5cbiAgPGRpdiBjbGFzcz1cInNhcHBoaXJlLWxpc3Rib3hfX3RleHQtY29udGFpbmVyXCIgX3NwVXNlQ29tcG9uZW50U3R5bGVzPlxuICAgIDxkaXYgY2xhc3M9XCJzYXBwaGlyZS1saXN0Ym94X19wcmltYXJ5LXRleHRcIiBfc3BVc2VDb21wb25lbnRTdHlsZXM+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,27 @@
1
+ import { Component, ContentChild } from '@angular/core';
2
+ import { CdkMenuGroup, CdkMenuItem } from '@angular/cdk/menu';
3
+ import { UseComponentStyles } from '../../common/sapphire-view-encapsulation';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/menu";
6
+ import * as i2 from "../../common/sapphire-view-encapsulation";
7
+ import * as i3 from "@angular/common";
8
+ export class MenuSectionComponent {
9
+ constructor(menu) {
10
+ this.menu = menu;
11
+ }
12
+ _isFirstSection() {
13
+ return this.menu.items?.first === this.firstMenuItem;
14
+ }
15
+ }
16
+ MenuSectionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuSectionComponent, deps: [{ token: i1.CdkMenu }], target: i0.ɵɵFactoryTarget.Component });
17
+ MenuSectionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: MenuSectionComponent, selector: "sp-menu-section", host: { properties: { "class.sapphire-listbox__section": "true" } }, queries: [{ propertyName: "firstMenuItem", first: true, predicate: CdkMenuItem, descendants: true }], hostDirectives: [{ directive: i1.CdkMenuGroup }, { directive: i2.UseComponentStyles }], ngImport: i0, template: "<div\n *ngIf=\"!_isFirstSection()\"\n class=\"sapphire-listbox__separator\"\n _spUseComponentStyles\n></div>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.UseComponentStyles, selector: "[_spUseComponentStyles]" }] });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuSectionComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'sp-menu-section', hostDirectives: [CdkMenuGroup, UseComponentStyles], host: {
21
+ '[class.sapphire-listbox__section]': 'true',
22
+ }, template: "<div\n *ngIf=\"!_isFirstSection()\"\n class=\"sapphire-listbox__separator\"\n _spUseComponentStyles\n></div>\n<ng-content></ng-content>\n" }]
23
+ }], ctorParameters: function () { return [{ type: i1.CdkMenu }]; }, propDecorators: { firstMenuItem: [{
24
+ type: ContentChild,
25
+ args: [CdkMenuItem]
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWVudS9zcmMvbWVudS1zZWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWVudS9zcmMvbWVudS1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBVyxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7O0FBVTlFLE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsWUFBb0IsSUFBYTtRQUFiLFNBQUksR0FBSixJQUFJLENBQVM7SUFBRyxDQUFDO0lBRXJDLGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ3ZELENBQUM7O2lIQVBVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHVLQUNqQixXQUFXLHdJQ2IzQiw4SUFNQTsyRkRNYSxvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0UsaUJBQWlCLGtCQUVYLENBQUMsWUFBWSxFQUFFLGtCQUFrQixDQUFDLFFBQzVDO3dCQUNKLG1DQUFtQyxFQUFFLE1BQU07cUJBQzVDOzhGQUcwQixhQUFhO3NCQUF2QyxZQUFZO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENvbnRlbnRDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrTWVudSwgQ2RrTWVudUdyb3VwLCBDZGtNZW51SXRlbSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9tZW51JztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlcyB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcC1tZW51LXNlY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdERpcmVjdGl2ZXM6IFtDZGtNZW51R3JvdXAsIFVzZUNvbXBvbmVudFN0eWxlc10sXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLnNhcHBoaXJlLWxpc3Rib3hfX3NlY3Rpb25dJzogJ3RydWUnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBNZW51U2VjdGlvbkNvbXBvbmVudCB7XG4gIEBDb250ZW50Q2hpbGQoQ2RrTWVudUl0ZW0pIGZpcnN0TWVudUl0ZW0/OiBDZGtNZW51SXRlbTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1lbnU6IENka01lbnUpIHt9XG5cbiAgX2lzRmlyc3RTZWN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLm1lbnUuaXRlbXM/LmZpcnN0ID09PSB0aGlzLmZpcnN0TWVudUl0ZW07XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCIhX2lzRmlyc3RTZWN0aW9uKClcIlxuICBjbGFzcz1cInNhcHBoaXJlLWxpc3Rib3hfX3NlcGFyYXRvclwiXG4gIF9zcFVzZUNvbXBvbmVudFN0eWxlc1xuPjwvZGl2PlxuPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
@@ -0,0 +1,149 @@
1
+ import { CdkMenuTrigger } from '@angular/cdk/menu';
2
+ import { Directive, HostListener, Input } from '@angular/core';
3
+ import { flip, toConnectedPosition, } from '../../common/placement';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/cdk/menu";
6
+ export class MenuTriggerDirective {
7
+ constructor(menuTrigger) {
8
+ this.menuTrigger = menuTrigger;
9
+ /**
10
+ * Horizontal alignment of the menu and the trigger.
11
+ */
12
+ this.align = 'start';
13
+ /**
14
+ * Vertical direction in which the menu opens, relative to the trigger.
15
+ */
16
+ this.direction = 'bottom';
17
+ }
18
+ ngOnInit() {
19
+ this.menuTrigger.menuPosition = [
20
+ {
21
+ originX: 'start',
22
+ originY: 'bottom',
23
+ overlayX: 'start',
24
+ overlayY: 'top',
25
+ offsetY: 6,
26
+ },
27
+ {
28
+ originX: 'start',
29
+ originY: 'top',
30
+ overlayX: 'start',
31
+ overlayY: 'bottom',
32
+ offsetY: -6,
33
+ },
34
+ ];
35
+ this.patchMenuTrigger(this.menuTrigger, this.getPlacementValue.bind(this));
36
+ }
37
+ close() {
38
+ return this.menuTrigger.close();
39
+ }
40
+ open() {
41
+ return this.menuTrigger.open();
42
+ }
43
+ toggle() {
44
+ return this.menuTrigger.toggle();
45
+ }
46
+ getMenu() {
47
+ return this.menuTrigger.getMenu();
48
+ }
49
+ isOpen() {
50
+ return this.menuTrigger.isOpen();
51
+ }
52
+ // Preventing default behavior of page being scrolled when you press space when you use it to activate the trigger
53
+ handleSpace() {
54
+ return false;
55
+ }
56
+ handleEscape() {
57
+ this.close();
58
+ }
59
+ /**
60
+ * `CdkMenuTrigger` controls overlay creation, and doesn't allow customizing overlay config.
61
+ * We need to patch it like this to make the menu modal, like other popovers. It's unsafe, as it
62
+ * relies on private API, so we have to cover the expected result by tests.
63
+ */
64
+ patchMenuTrigger(menuTrigger, getPlacement) {
65
+ // @ts-expect-error accessing private method
66
+ const originalGetOverlayConfig = menuTrigger._getOverlayConfig;
67
+ // @ts-expect-error accessing private method
68
+ menuTrigger._getOverlayConfig = function () {
69
+ // @ts-expect-error accessing private method
70
+ const overlay = this._overlay;
71
+ return {
72
+ ...originalGetOverlayConfig.call(this, arguments),
73
+ hasBackdrop: true,
74
+ backdropClass: 'sapphire-menu-backdrop',
75
+ scrollStrategy: overlay?.scrollStrategies.block(),
76
+ };
77
+ };
78
+ // @ts-expect-error accessing private method
79
+ menuTrigger._getOverlayPositions = function () {
80
+ const placement = getPlacement() || 'bottom start';
81
+ return [
82
+ toConnectedPosition(placement),
83
+ toConnectedPosition(flip(placement)),
84
+ ];
85
+ };
86
+ const original_getOverlayPositionStrategy =
87
+ // @ts-expect-error accessing private method
88
+ menuTrigger._getOverlayPositionStrategy;
89
+ // @ts-expect-error accessing private method
90
+ menuTrigger._getOverlayPositionStrategy =
91
+ function () {
92
+ const result = original_getOverlayPositionStrategy.call(this, arguments);
93
+ /**
94
+ * Two reasons for viewport margin:
95
+ * - Looks ugly with zero margin
96
+ * - For some reason, with zero margin, menu item text may unnecessarily
97
+ * wrap, if menu trigger is rendered close to the right edge of the
98
+ * viewport.
99
+ * - If menu popover is 'end' aligned, it's for some reason pushed to the right
100
+ * as if it were close to the left edge. Thus avoiding margin in those cases.
101
+ */
102
+ const placement = getPlacement();
103
+ return result.withViewportMargin(placement.includes('end') ? 0 : 6);
104
+ };
105
+ const originalOpen = menuTrigger.open;
106
+ menuTrigger.open = function () {
107
+ // @ts-expect-error accessing private method
108
+ menuTrigger.overlayRef?.updatePositionStrategy(
109
+ // @ts-expect-error accessing private method
110
+ menuTrigger._getOverlayPositionStrategy());
111
+ originalOpen.call(this);
112
+ };
113
+ }
114
+ getPlacementValue() {
115
+ return `${this.direction} ${this.align}`;
116
+ }
117
+ }
118
+ MenuTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuTriggerDirective, deps: [{ token: i1.CdkMenuTrigger }], target: i0.ɵɵFactoryTarget.Directive });
119
+ MenuTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: MenuTriggerDirective, selector: "[spMenuTriggerFor]", inputs: { align: ["spMenuTriggerAlign", "align"], direction: ["spMenuTriggerDirection", "direction"] }, host: { listeners: { "keydown.space": "handleSpace()", "keydown.escape": "handleEscape()" }, properties: { "class.is-active": "isOpen()" } }, exportAs: ["spMenuTrigger"], hostDirectives: [{ directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "spMenuTriggerFor"], outputs: ["cdkMenuOpened", "spMenuOpened", "cdkMenuClosed", "spMenuClosed"] }], ngImport: i0 });
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuTriggerDirective, decorators: [{
121
+ type: Directive,
122
+ args: [{
123
+ selector: '[spMenuTriggerFor]',
124
+ hostDirectives: [
125
+ {
126
+ directive: CdkMenuTrigger,
127
+ inputs: ['cdkMenuTriggerFor: spMenuTriggerFor'],
128
+ outputs: ['cdkMenuOpened: spMenuOpened', 'cdkMenuClosed: spMenuClosed'],
129
+ },
130
+ ],
131
+ exportAs: 'spMenuTrigger',
132
+ host: {
133
+ '[class.is-active]': 'isOpen()',
134
+ },
135
+ }]
136
+ }], ctorParameters: function () { return [{ type: i1.CdkMenuTrigger }]; }, propDecorators: { align: [{
137
+ type: Input,
138
+ args: ['spMenuTriggerAlign']
139
+ }], direction: [{
140
+ type: Input,
141
+ args: ['spMenuTriggerDirection']
142
+ }], handleSpace: [{
143
+ type: HostListener,
144
+ args: ['keydown.space']
145
+ }], handleEscape: [{
146
+ type: HostListener,
147
+ args: ['keydown.escape']
148
+ }] } });
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS10cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbWVudS9zcmMvbWVudS10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFPbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxJQUFJLEVBR0osbUJBQW1CLEdBRXBCLE1BQU0sd0JBQXdCLENBQUM7OztBQWdCaEMsTUFBTSxPQUFPLG9CQUFvQjtJQVcvQixZQUFvQixXQUEyQjtRQUEzQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFWL0M7O1dBRUc7UUFDMEIsVUFBSyxHQUF3QixPQUFPLENBQUM7UUFFbEU7O1dBRUc7UUFDOEIsY0FBUyxHQUFzQixRQUFRLENBQUM7SUFFdkIsQ0FBQztJQUVuRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEdBQUc7WUFDOUI7Z0JBQ0UsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNEO2dCQUNFLE9BQU8sRUFBRSxPQUFPO2dCQUNoQixPQUFPLEVBQUUsS0FBSztnQkFDZCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDLENBQUM7YUFDWjtTQUNGLENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGtIQUFrSDtJQUUxRyxXQUFXO1FBQ2pCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUdPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxnQkFBZ0IsQ0FDdEIsV0FBMkIsRUFDM0IsWUFBNkI7UUFFN0IsNENBQTRDO1FBQzVDLE1BQU0sd0JBQXdCLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDO1FBQy9ELDRDQUE0QztRQUM1QyxXQUFXLENBQUMsaUJBQWlCLEdBQUc7WUFDOUIsNENBQTRDO1lBQzVDLE1BQU0sT0FBTyxHQUFZLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDdkMsT0FBTztnQkFDTCxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDO2dCQUNqRCxXQUFXLEVBQUUsSUFBSTtnQkFDakIsYUFBYSxFQUFFLHdCQUF3QjtnQkFDdkMsY0FBYyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7YUFDbEQsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVGLDRDQUE0QztRQUM1QyxXQUFXLENBQUMsb0JBQW9CLEdBQUc7WUFDakMsTUFBTSxTQUFTLEdBQWMsWUFBWSxFQUFFLElBQUksY0FBYyxDQUFDO1lBRTlELE9BQU87Z0JBQ0wsbUJBQW1CLENBQUMsU0FBUyxDQUFDO2dCQUM5QixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDckMsQ0FBQztRQUNKLENBQUMsQ0FBQztRQUVGLE1BQU0sbUNBQW1DO1FBQ3ZDLDRDQUE0QztRQUM1QyxXQUFXLENBQUMsMkJBQTJCLENBQUM7UUFDMUMsNENBQTRDO1FBQzVDLFdBQVcsQ0FBQywyQkFBMkI7WUFDckM7Z0JBQ0UsTUFBTSxNQUFNLEdBQUcsbUNBQW1DLENBQUMsSUFBSSxDQUNyRCxJQUFJLEVBQ0osU0FBUyxDQUMyQixDQUFDO2dCQUV2Qzs7Ozs7Ozs7bUJBUUc7Z0JBQ0gsTUFBTSxTQUFTLEdBQWMsWUFBWSxFQUFFLENBQUM7Z0JBQzVDLE9BQU8sTUFBTSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEUsQ0FBQyxDQUFDO1FBRUosTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUN0QyxXQUFXLENBQUMsSUFBSSxHQUFHO1lBQ2pCLDRDQUE0QztZQUM1QyxXQUFXLENBQUMsVUFBVSxFQUFFLHNCQUFzQjtZQUM1Qyw0Q0FBNEM7WUFDNUMsV0FBVyxDQUFDLDJCQUEyQixFQUFFLENBQzFDLENBQUM7WUFDRixZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNDLENBQUM7O2lIQXRJVSxvQkFBb0I7cUdBQXBCLG9CQUFvQjsyRkFBcEIsb0JBQW9CO2tCQWRoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLGNBQWMsRUFBRTt3QkFDZDs0QkFDRSxTQUFTLEVBQUUsY0FBYzs0QkFDekIsTUFBTSxFQUFFLENBQUMscUNBQXFDLENBQUM7NEJBQy9DLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixFQUFFLDZCQUE2QixDQUFDO3lCQUN4RTtxQkFDRjtvQkFDRCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsSUFBSSxFQUFFO3dCQUNKLG1CQUFtQixFQUFFLFVBQVU7cUJBQ2hDO2lCQUNGO3FHQUs4QixLQUFLO3NCQUFqQyxLQUFLO3VCQUFDLG9CQUFvQjtnQkFLTSxTQUFTO3NCQUF6QyxLQUFLO3VCQUFDLHdCQUF3QjtnQkE4Q3ZCLFdBQVc7c0JBRGxCLFlBQVk7dUJBQUMsZUFBZTtnQkFNckIsWUFBWTtzQkFEbkIsWUFBWTt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9tZW51JztcbmltcG9ydCB7XG4gIEZsZXhpYmxlQ29ubmVjdGVkUG9zaXRpb25TdHJhdGVneSxcbiAgT3ZlcmxheSxcbiAgT3ZlcmxheUNvbmZpZyxcbiAgT3ZlcmxheVJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIGZsaXAsXG4gIEhvcml6b250YWxQbGFjZW1lbnQsXG4gIFBsYWNlbWVudCxcbiAgdG9Db25uZWN0ZWRQb3NpdGlvbixcbiAgVmVydGljYWxQbGFjZW1lbnQsXG59IGZyb20gJy4uLy4uL2NvbW1vbi9wbGFjZW1lbnQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc3BNZW51VHJpZ2dlckZvcl0nLFxuICBob3N0RGlyZWN0aXZlczogW1xuICAgIHtcbiAgICAgIGRpcmVjdGl2ZTogQ2RrTWVudVRyaWdnZXIsXG4gICAgICBpbnB1dHM6IFsnY2RrTWVudVRyaWdnZXJGb3I6IHNwTWVudVRyaWdnZXJGb3InXSxcbiAgICAgIG91dHB1dHM6IFsnY2RrTWVudU9wZW5lZDogc3BNZW51T3BlbmVkJywgJ2Nka01lbnVDbG9zZWQ6IHNwTWVudUNsb3NlZCddLFxuICAgIH0sXG4gIF0sXG4gIGV4cG9ydEFzOiAnc3BNZW51VHJpZ2dlcicsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmlzLWFjdGl2ZV0nOiAnaXNPcGVuKCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBNZW51VHJpZ2dlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBIb3Jpem9udGFsIGFsaWdubWVudCBvZiB0aGUgbWVudSBhbmQgdGhlIHRyaWdnZXIuXG4gICAqL1xuICBASW5wdXQoJ3NwTWVudVRyaWdnZXJBbGlnbicpIGFsaWduOiBIb3Jpem9udGFsUGxhY2VtZW50ID0gJ3N0YXJ0JztcblxuICAvKipcbiAgICogVmVydGljYWwgZGlyZWN0aW9uIGluIHdoaWNoIHRoZSBtZW51IG9wZW5zLCByZWxhdGl2ZSB0byB0aGUgdHJpZ2dlci5cbiAgICovXG4gIEBJbnB1dCgnc3BNZW51VHJpZ2dlckRpcmVjdGlvbicpIGRpcmVjdGlvbjogVmVydGljYWxQbGFjZW1lbnQgPSAnYm90dG9tJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1lbnVUcmlnZ2VyOiBDZGtNZW51VHJpZ2dlcikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVUcmlnZ2VyLm1lbnVQb3NpdGlvbiA9IFtcbiAgICAgIHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgIG9mZnNldFk6IDYsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgb2Zmc2V0WTogLTYsXG4gICAgICB9LFxuICAgIF07XG4gICAgdGhpcy5wYXRjaE1lbnVUcmlnZ2VyKHRoaXMubWVudVRyaWdnZXIsIHRoaXMuZ2V0UGxhY2VtZW50VmFsdWUuYmluZCh0aGlzKSk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICByZXR1cm4gdGhpcy5tZW51VHJpZ2dlci5jbG9zZSgpO1xuICB9XG5cbiAgb3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5tZW51VHJpZ2dlci5vcGVuKCk7XG4gIH1cblxuICB0b2dnbGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWVudVRyaWdnZXIudG9nZ2xlKCk7XG4gIH1cblxuICBnZXRNZW51KCkge1xuICAgIHJldHVybiB0aGlzLm1lbnVUcmlnZ2VyLmdldE1lbnUoKTtcbiAgfVxuXG4gIGlzT3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5tZW51VHJpZ2dlci5pc09wZW4oKTtcbiAgfVxuXG4gIC8vIFByZXZlbnRpbmcgZGVmYXVsdCBiZWhhdmlvciBvZiBwYWdlIGJlaW5nIHNjcm9sbGVkIHdoZW4geW91IHByZXNzIHNwYWNlIHdoZW4geW91IHVzZSBpdCB0byBhY3RpdmF0ZSB0aGUgdHJpZ2dlclxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnNwYWNlJylcbiAgcHJpdmF0ZSBoYW5kbGVTcGFjZSgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzY2FwZScpXG4gIHByaXZhdGUgaGFuZGxlRXNjYXBlKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBgQ2RrTWVudVRyaWdnZXJgIGNvbnRyb2xzIG92ZXJsYXkgY3JlYXRpb24sIGFuZCBkb2Vzbid0IGFsbG93IGN1c3RvbWl6aW5nIG92ZXJsYXkgY29uZmlnLlxuICAgKiBXZSBuZWVkIHRvIHBhdGNoIGl0IGxpa2UgdGhpcyB0byBtYWtlIHRoZSBtZW51IG1vZGFsLCBsaWtlIG90aGVyIHBvcG92ZXJzLiBJdCdzIHVuc2FmZSwgYXMgaXRcbiAgICogcmVsaWVzIG9uIHByaXZhdGUgQVBJLCBzbyB3ZSBoYXZlIHRvIGNvdmVyIHRoZSBleHBlY3RlZCByZXN1bHQgYnkgdGVzdHMuXG4gICAqL1xuICBwcml2YXRlIHBhdGNoTWVudVRyaWdnZXIoXG4gICAgbWVudVRyaWdnZXI6IENka01lbnVUcmlnZ2VyLFxuICAgIGdldFBsYWNlbWVudDogKCkgPT4gUGxhY2VtZW50XG4gICkge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgYWNjZXNzaW5nIHByaXZhdGUgbWV0aG9kXG4gICAgY29uc3Qgb3JpZ2luYWxHZXRPdmVybGF5Q29uZmlnID0gbWVudVRyaWdnZXIuX2dldE92ZXJsYXlDb25maWc7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBhY2Nlc3NpbmcgcHJpdmF0ZSBtZXRob2RcbiAgICBtZW51VHJpZ2dlci5fZ2V0T3ZlcmxheUNvbmZpZyA9IGZ1bmN0aW9uICgpOiBPdmVybGF5Q29uZmlnIHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgYWNjZXNzaW5nIHByaXZhdGUgbWV0aG9kXG4gICAgICBjb25zdCBvdmVybGF5OiBPdmVybGF5ID0gdGhpcy5fb3ZlcmxheTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLm9yaWdpbmFsR2V0T3ZlcmxheUNvbmZpZy5jYWxsKHRoaXMsIGFyZ3VtZW50cyksXG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICBiYWNrZHJvcENsYXNzOiAnc2FwcGhpcmUtbWVudS1iYWNrZHJvcCcsXG4gICAgICAgIHNjcm9sbFN0cmF0ZWd5OiBvdmVybGF5Py5zY3JvbGxTdHJhdGVnaWVzLmJsb2NrKCksXG4gICAgICB9O1xuICAgIH07XG5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGFjY2Vzc2luZyBwcml2YXRlIG1ldGhvZFxuICAgIG1lbnVUcmlnZ2VyLl9nZXRPdmVybGF5UG9zaXRpb25zID0gZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgcGxhY2VtZW50OiBQbGFjZW1lbnQgPSBnZXRQbGFjZW1lbnQoKSB8fCAnYm90dG9tIHN0YXJ0JztcblxuICAgICAgcmV0dXJuIFtcbiAgICAgICAgdG9Db25uZWN0ZWRQb3NpdGlvbihwbGFjZW1lbnQpLFxuICAgICAgICB0b0Nvbm5lY3RlZFBvc2l0aW9uKGZsaXAocGxhY2VtZW50KSksXG4gICAgICBdO1xuICAgIH07XG5cbiAgICBjb25zdCBvcmlnaW5hbF9nZXRPdmVybGF5UG9zaXRpb25TdHJhdGVneSA9XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGFjY2Vzc2luZyBwcml2YXRlIG1ldGhvZFxuICAgICAgbWVudVRyaWdnZXIuX2dldE92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5O1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgYWNjZXNzaW5nIHByaXZhdGUgbWV0aG9kXG4gICAgbWVudVRyaWdnZXIuX2dldE92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5ID1cbiAgICAgIGZ1bmN0aW9uICgpOiBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3kge1xuICAgICAgICBjb25zdCByZXN1bHQgPSBvcmlnaW5hbF9nZXRPdmVybGF5UG9zaXRpb25TdHJhdGVneS5jYWxsKFxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgYXJndW1lbnRzXG4gICAgICAgICkgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUd28gcmVhc29ucyBmb3Igdmlld3BvcnQgbWFyZ2luOlxuICAgICAgICAgKiAtIExvb2tzIHVnbHkgd2l0aCB6ZXJvIG1hcmdpblxuICAgICAgICAgKiAtIEZvciBzb21lIHJlYXNvbiwgd2l0aCB6ZXJvIG1hcmdpbiwgbWVudSBpdGVtIHRleHQgbWF5IHVubmVjZXNzYXJpbHlcbiAgICAgICAgICogICB3cmFwLCBpZiBtZW51IHRyaWdnZXIgaXMgcmVuZGVyZWQgY2xvc2UgdG8gdGhlIHJpZ2h0IGVkZ2Ugb2YgdGhlXG4gICAgICAgICAqICAgdmlld3BvcnQuXG4gICAgICAgICAqIC0gSWYgbWVudSBwb3BvdmVyIGlzICdlbmQnIGFsaWduZWQsIGl0J3MgZm9yIHNvbWUgcmVhc29uIHB1c2hlZCB0byB0aGUgcmlnaHRcbiAgICAgICAgICogICBhcyBpZiBpdCB3ZXJlIGNsb3NlIHRvIHRoZSBsZWZ0IGVkZ2UuIFRodXMgYXZvaWRpbmcgbWFyZ2luIGluIHRob3NlIGNhc2VzLlxuICAgICAgICAgKi9cbiAgICAgICAgY29uc3QgcGxhY2VtZW50OiBQbGFjZW1lbnQgPSBnZXRQbGFjZW1lbnQoKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC53aXRoVmlld3BvcnRNYXJnaW4ocGxhY2VtZW50LmluY2x1ZGVzKCdlbmQnKSA/IDAgOiA2KTtcbiAgICAgIH07XG5cbiAgICBjb25zdCBvcmlnaW5hbE9wZW4gPSBtZW51VHJpZ2dlci5vcGVuO1xuICAgIG1lbnVUcmlnZ2VyLm9wZW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGFjY2Vzc2luZyBwcml2YXRlIG1ldGhvZFxuICAgICAgbWVudVRyaWdnZXIub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb25TdHJhdGVneShcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBhY2Nlc3NpbmcgcHJpdmF0ZSBtZXRob2RcbiAgICAgICAgbWVudVRyaWdnZXIuX2dldE92ZXJsYXlQb3NpdGlvblN0cmF0ZWd5KClcbiAgICAgICk7XG4gICAgICBvcmlnaW5hbE9wZW4uY2FsbCh0aGlzKTtcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQbGFjZW1lbnRWYWx1ZSgpOiBQbGFjZW1lbnQge1xuICAgIHJldHVybiBgJHt0aGlzLmRpcmVjdGlvbn0gJHt0aGlzLmFsaWdufWA7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { CdkMenu } from '@angular/cdk/menu';
2
+ import { Component, Input } from '@angular/core';
3
+ import { ThemeCheckDirective } from '../../theme/src/theme-check.directive';
4
+ import { UseComponentStylesOnHost } from '../../common/sapphire-view-encapsulation';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/cdk/menu";
7
+ import * as i2 from "../../theme/src/theme-check.directive";
8
+ import * as i3 from "../../common/sapphire-view-encapsulation";
9
+ /** @title Menu with Standalone Trigger. */
10
+ export class MenuComponent {
11
+ constructor() {
12
+ this.size = 'large';
13
+ }
14
+ }
15
+ MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
16
+ MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: MenuComponent, selector: "sp-menu", inputs: { size: "size" }, host: { properties: { "class.sapphire-popover": "true", "class.sapphire-popover--max-width": "true" } }, hostDirectives: [{ directive: i1.CdkMenu, outputs: ["closed", "closed"] }, { directive: i2.ThemeCheckDirective }, { directive: i3.UseComponentStylesOnHost }], ngImport: i0, template: "<div\n class=\"sapphire-listbox\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sapphire-listbox{box-sizing:border-box;display:flex;justify-content:stretch;flex-direction:column;min-width:var(--sapphire-listbox-size-width-min);margin:0;padding:0;position:relative;list-style:none;outline:none;padding-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));padding-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-listbox__item{display:flex;justify-content:space-between;align-items:center;padding:var(--sapphire-listbox-size-spacing-outer-vertical) var(--sapphire-listbox-size-spacing-outer-horizontal);color:var(--sapphire-listbox-color-content-normal-primary-default);outline:none;cursor:pointer}.sapphire-listbox__item--danger{color:var(--sapphire-listbox-color-content-danger-default)}.sapphire-listbox__item--selected{color:var(--sapphire-listbox-color-content-selected-default)}.sapphire-listbox__item--selected .sapphire-listbox__content{background-color:var(--sapphire-listbox-color-background-selected-default)}.sapphire-listbox__content{width:100%;display:grid;grid-auto-flow:column;align-items:center;gap:var(--sapphire-listbox-size-spacing-inner-horizontal-l);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-l);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-l) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-l);border-radius:var(--sapphire-listbox-size-radius-item);transition-property:opacity,background-color,color;transition-duration:var(--sapphire-listbox-time-transition);transition-timing-function:ease-in-out;min-height:var(--sapphire-listbox-size-height-min-height)}.sapphire-listbox--medium .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-m);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-m);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-m) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-m)}.sapphire-listbox--small .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-s);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-s);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-s) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-s)}.sapphire-listbox__icon{line-height:0}.sapphire-listbox__text-container{font-family:var(--sapphire-listbox-font-name);line-height:var(--sapphire-listbox-size-line-height)}.sapphire-listbox__text-container:first-child{grid-column:span 2}.sapphire-listbox__primary-text{font-weight:var(--sapphire-listbox-font-weight-primary);font-size:var(--sapphire-listbox-size-font-primary-l)}.sapphire-listbox__secondary-text{font-weight:var(--sapphire-listbox-font-weight-secondary);font-size:var(--sapphire-listbox-size-font-secondary-l)}.sapphire-listbox--medium .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-m)}.sapphire-listbox--small .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-s)}.sapphire-listbox--medium .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-m)}.sapphire-listbox--small .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-s)}.sapphire-listbox__item:not(.sapphire-listbox__item--danger):not(.sapphire-listbox__item--selected) .sapphire-listbox__secondary-text{color:var(--sapphire-listbox-color-content-normal-secondary-default)}.sapphire-listbox__item.is-disabled{opacity:var(--sapphire-listbox-opacity-disabled);cursor:not-allowed}.sapphire-listbox__section{padding:0;list-style:none}.sapphire-listbox__separator{height:var(--sapphire-listbox-size-height-separator);width:100%;background:var(--sapphire-listbox-color-separator);margin-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));margin-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical))}.sapphire-listbox__item:not(.is-disabled).is-focus .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-focus):focus-visible .sapphire-listbox__content{box-shadow:0 0 0 var(--sapphire-listbox-size-focus-ring) var(--sapphire-listbox-color-focus-ring)}.sapphire-listbox__item:not(.is-disabled).is-hover:not(.is-active) .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-hover);background-color:var(--sapphire-listbox-color-background-normal-hover)}.sapphire-listbox__item--danger:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--danger:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-hover);background-color:var(--sapphire-listbox-color-background-danger-hover)}.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active):not(.js-hover):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-hover);background-color:var(--sapphire-listbox-color-background-selected-hover)}.sapphire-listbox__item:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-active);background-color:var(--sapphire-listbox-color-background-normal-active)}.sapphire-listbox__item--danger:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-active);background-color:var(--sapphire-listbox-color-background-danger-active)}.sapphire-listbox__item--selected:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-active);background-color:var(--sapphire-listbox-color-background-selected-active)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sapphire-popover{box-sizing:border-box;background-color:var(--sapphire-popover-color-background);box-shadow:var(--sapphire-popover-shadow);animation:fade-in var(--sapphire-popover-time-transition) ease-in-out;border-radius:var(--sapphire-popover-size-radius);overflow:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-popover--padded{padding:var(--sapphire-popover-size-spacing-padded)}.sapphire-popover--max-width{max-width:var(--sapphire-popover-size-max-width)}.sapphire-menu-backdrop{background:none}\n"] });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: MenuComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'sp-menu', hostDirectives: [
20
+ { directive: CdkMenu, outputs: ['closed'] },
21
+ ThemeCheckDirective,
22
+ UseComponentStylesOnHost,
23
+ ], host: {
24
+ // It would be more accurate to apply sapphire-popover on the element with cdk-overlay-pane
25
+ // class, instead of the inner sp-menu element. There might be a provider to use for adding
26
+ // custom class to the cdk overlay pane element.
27
+ '[class.sapphire-popover]': 'true',
28
+ '[class.sapphire-popover--max-width]': 'true',
29
+ }, template: "<div\n class=\"sapphire-listbox\"\n [class.sapphire-listbox--medium]=\"size === 'medium'\"\n [class.sapphire-listbox--small]=\"size === 'small'\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sapphire-listbox{box-sizing:border-box;display:flex;justify-content:stretch;flex-direction:column;min-width:var(--sapphire-listbox-size-width-min);margin:0;padding:0;position:relative;list-style:none;outline:none;padding-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));padding-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-listbox__item{display:flex;justify-content:space-between;align-items:center;padding:var(--sapphire-listbox-size-spacing-outer-vertical) var(--sapphire-listbox-size-spacing-outer-horizontal);color:var(--sapphire-listbox-color-content-normal-primary-default);outline:none;cursor:pointer}.sapphire-listbox__item--danger{color:var(--sapphire-listbox-color-content-danger-default)}.sapphire-listbox__item--selected{color:var(--sapphire-listbox-color-content-selected-default)}.sapphire-listbox__item--selected .sapphire-listbox__content{background-color:var(--sapphire-listbox-color-background-selected-default)}.sapphire-listbox__content{width:100%;display:grid;grid-auto-flow:column;align-items:center;gap:var(--sapphire-listbox-size-spacing-inner-horizontal-l);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-l);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-l) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-l);border-radius:var(--sapphire-listbox-size-radius-item);transition-property:opacity,background-color,color;transition-duration:var(--sapphire-listbox-time-transition);transition-timing-function:ease-in-out;min-height:var(--sapphire-listbox-size-height-min-height)}.sapphire-listbox--medium .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-m);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-m);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-m) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-m)}.sapphire-listbox--small .sapphire-listbox__content{gap:var(--sapphire-listbox-size-spacing-inner-horizontal-s);grid-template-columns:auto 1fr var(--sapphire-listbox-size-width-icon-s);padding:calc(var(--sapphire-listbox-size-spacing-inner-vertical-s) - var(--sapphire-listbox-size-spacing-outer-vertical)) var(--sapphire-listbox-size-spacing-inner-horizontal-s)}.sapphire-listbox__icon{line-height:0}.sapphire-listbox__text-container{font-family:var(--sapphire-listbox-font-name);line-height:var(--sapphire-listbox-size-line-height)}.sapphire-listbox__text-container:first-child{grid-column:span 2}.sapphire-listbox__primary-text{font-weight:var(--sapphire-listbox-font-weight-primary);font-size:var(--sapphire-listbox-size-font-primary-l)}.sapphire-listbox__secondary-text{font-weight:var(--sapphire-listbox-font-weight-secondary);font-size:var(--sapphire-listbox-size-font-secondary-l)}.sapphire-listbox--medium .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-m)}.sapphire-listbox--small .sapphire-listbox__primary-text{font-size:var(--sapphire-listbox-size-font-primary-s)}.sapphire-listbox--medium .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-m)}.sapphire-listbox--small .sapphire-listbox__secondary-text{font-size:var(--sapphire-listbox-size-font-secondary-s)}.sapphire-listbox__item:not(.sapphire-listbox__item--danger):not(.sapphire-listbox__item--selected) .sapphire-listbox__secondary-text{color:var(--sapphire-listbox-color-content-normal-secondary-default)}.sapphire-listbox__item.is-disabled{opacity:var(--sapphire-listbox-opacity-disabled);cursor:not-allowed}.sapphire-listbox__section{padding:0;list-style:none}.sapphire-listbox__separator{height:var(--sapphire-listbox-size-height-separator);width:100%;background:var(--sapphire-listbox-color-separator);margin-top:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical));margin-bottom:calc(var(--sapphire-listbox-size-spacing-outer-horizontal) - var(--sapphire-listbox-size-spacing-outer-vertical))}.sapphire-listbox__item:not(.is-disabled).is-focus .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-focus):focus-visible .sapphire-listbox__content{box-shadow:0 0 0 var(--sapphire-listbox-size-focus-ring) var(--sapphire-listbox-color-focus-ring)}.sapphire-listbox__item:not(.is-disabled).is-hover:not(.is-active) .sapphire-listbox__content,.sapphire-listbox__item:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-hover);background-color:var(--sapphire-listbox-color-background-normal-hover)}.sapphire-listbox__item--danger:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--danger:not(.is-disabled):not(.js-hover):not(.is-active):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-hover);background-color:var(--sapphire-listbox-color-background-danger-hover)}.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active).is-hover .sapphire-listbox__content,.sapphire-listbox__item--selected:not(.is-disabled):not(.is-active):not(.js-hover):hover .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-hover);background-color:var(--sapphire-listbox-color-background-selected-hover)}.sapphire-listbox__item:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-normal-primary-active);background-color:var(--sapphire-listbox-color-background-normal-active)}.sapphire-listbox__item--danger:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-danger-active);background-color:var(--sapphire-listbox-color-background-danger-active)}.sapphire-listbox__item--selected:not(.is-disabled).is-active .sapphire-listbox__content{color:var(--sapphire-listbox-color-content-selected-active);background-color:var(--sapphire-listbox-color-background-selected-active)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.sapphire-popover{box-sizing:border-box;background-color:var(--sapphire-popover-color-background);box-shadow:var(--sapphire-popover-shadow);animation:fade-in var(--sapphire-popover-time-transition) ease-in-out;border-radius:var(--sapphire-popover-size-radius);overflow:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-popover--padded{padding:var(--sapphire-popover-size-spacing-padded)}.sapphire-popover--max-width{max-width:var(--sapphire-popover-size-max-width)}.sapphire-menu-backdrop{background:none}\n"] }]
30
+ }], propDecorators: { size: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lbnUvc3JjL21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9tZW51L3NyYy9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFFcEYsMkNBQTJDO0FBa0IzQyxNQUFNLE9BQU8sYUFBYTtJQWpCMUI7UUFtQkUsU0FBSSxHQUFrQyxPQUFPLENBQUM7S0FDL0M7OzBHQUhZLGFBQWE7OEZBQWIsYUFBYSxpVkN2QjFCLGdNQU9BOzJGRGdCYSxhQUFhO2tCQWpCekIsU0FBUzsrQkFDRSxTQUFTLGtCQUdIO3dCQUNkLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRTt3QkFDM0MsbUJBQW1CO3dCQUNuQix3QkFBd0I7cUJBQ3pCLFFBQ0s7d0JBQ0osMkZBQTJGO3dCQUMzRiwyRkFBMkY7d0JBQzNGLGdEQUFnRDt3QkFDaEQsMEJBQTBCLEVBQUUsTUFBTTt3QkFDbEMscUNBQXFDLEVBQUUsTUFBTTtxQkFDOUM7OEJBSUQsSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrTWVudSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9tZW51JztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lQ2hlY2tEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi90aGVtZS9zcmMvdGhlbWUtY2hlY2suZGlyZWN0aXZlJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlc09uSG9zdCB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuXG4vKiogQHRpdGxlIE1lbnUgd2l0aCBTdGFuZGFsb25lIFRyaWdnZXIuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcC1tZW51JyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgeyBkaXJlY3RpdmU6IENka01lbnUsIG91dHB1dHM6IFsnY2xvc2VkJ10gfSxcbiAgICBUaGVtZUNoZWNrRGlyZWN0aXZlLFxuICAgIFVzZUNvbXBvbmVudFN0eWxlc09uSG9zdCxcbiAgXSxcbiAgaG9zdDoge1xuICAgIC8vIEl0IHdvdWxkIGJlIG1vcmUgYWNjdXJhdGUgdG8gYXBwbHkgc2FwcGhpcmUtcG9wb3ZlciBvbiB0aGUgZWxlbWVudCB3aXRoIGNkay1vdmVybGF5LXBhbmVcbiAgICAvLyBjbGFzcywgaW5zdGVhZCBvZiB0aGUgaW5uZXIgc3AtbWVudSBlbGVtZW50LiBUaGVyZSBtaWdodCBiZSBhIHByb3ZpZGVyIHRvIHVzZSBmb3IgYWRkaW5nXG4gICAgLy8gY3VzdG9tIGNsYXNzIHRvIHRoZSBjZGsgb3ZlcmxheSBwYW5lIGVsZW1lbnQuXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS1wb3BvdmVyXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLXBvcG92ZXItLW1heC13aWR0aF0nOiAndHJ1ZScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBzaXplPzogJ2xhcmdlJyB8ICdtZWRpdW0nIHwgJ3NtYWxsJyA9ICdsYXJnZSc7XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2FwcGhpcmUtbGlzdGJveFwiXG4gIFtjbGFzcy5zYXBwaGlyZS1saXN0Ym94LS1tZWRpdW1dPVwic2l6ZSA9PT0gJ21lZGl1bSdcIlxuICBbY2xhc3Muc2FwcGhpcmUtbGlzdGJveC0tc21hbGxdPVwic2l6ZSA9PT0gJ3NtYWxsJ1wiXG4+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -0,0 +1,39 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { CdkMenuModule } from '@angular/cdk/menu';
4
+ import { MenuComponent } from './menu.component';
5
+ import { MenuItemComponent } from './menu-item.component';
6
+ import { MenuTriggerDirective } from './menu-trigger.directive';
7
+ import { MenuSectionComponent } from './menu-section.component';
8
+ import { UseComponentStyles } from '../../common/sapphire-view-encapsulation';
9
+ import * as i0 from "@angular/core";
10
+ export class SapphireMenuModule {
11
+ }
12
+ SapphireMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ SapphireMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: SapphireMenuModule, declarations: [MenuComponent,
14
+ MenuItemComponent,
15
+ MenuSectionComponent,
16
+ MenuTriggerDirective], imports: [CommonModule, CdkMenuModule, UseComponentStyles], exports: [MenuComponent,
17
+ MenuItemComponent,
18
+ MenuSectionComponent,
19
+ MenuTriggerDirective] });
20
+ SapphireMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireMenuModule, imports: [CommonModule, CdkMenuModule] });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireMenuModule, decorators: [{
22
+ type: NgModule,
23
+ args: [{
24
+ declarations: [
25
+ MenuComponent,
26
+ MenuItemComponent,
27
+ MenuSectionComponent,
28
+ MenuTriggerDirective,
29
+ ],
30
+ imports: [CommonModule, CdkMenuModule, UseComponentStyles],
31
+ exports: [
32
+ MenuComponent,
33
+ MenuItemComponent,
34
+ MenuSectionComponent,
35
+ MenuTriggerDirective,
36
+ ],
37
+ }]
38
+ }] });
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL21lbnUvc3JjL21lbnUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBaUI5RSxNQUFNLE9BQU8sa0JBQWtCOzsrR0FBbEIsa0JBQWtCO2dIQUFsQixrQkFBa0IsaUJBYjNCLGFBQWE7UUFDYixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLG9CQUFvQixhQUVaLFlBQVksRUFBRSxhQUFhLEVBQUUsa0JBQWtCLGFBRXZELGFBQWE7UUFDYixpQkFBaUI7UUFDakIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtnSEFHWCxrQkFBa0IsWUFSbkIsWUFBWSxFQUFFLGFBQWE7MkZBUTFCLGtCQUFrQjtrQkFmOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixDQUFDO29CQUMxRCxPQUFPLEVBQUU7d0JBQ1AsYUFBYTt3QkFDYixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsb0JBQW9CO3FCQUNyQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2RrTWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9tZW51JztcbmltcG9ydCB7IE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IE1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE1lbnVUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9tZW51LXRyaWdnZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1lbnVTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LXNlY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlcyB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBNZW51Q29tcG9uZW50LFxuICAgIE1lbnVJdGVtQ29tcG9uZW50LFxuICAgIE1lbnVTZWN0aW9uQ29tcG9uZW50LFxuICAgIE1lbnVUcmlnZ2VyRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBDZGtNZW51TW9kdWxlLCBVc2VDb21wb25lbnRTdHlsZXNdLFxuICBleHBvcnRzOiBbXG4gICAgTWVudUNvbXBvbmVudCxcbiAgICBNZW51SXRlbUNvbXBvbmVudCxcbiAgICBNZW51U2VjdGlvbkNvbXBvbmVudCxcbiAgICBNZW51VHJpZ2dlckRpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FwcGhpcmVNZW51TW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,19 @@
1
+ export * from './src/modal.service';
2
+ export * from './src/modal.module';
3
+ export * from './src/panel/panel.component';
4
+ export * from './src/panel/inline-panel.component';
5
+ export * from './src/panel/panel-header.component';
6
+ export * from './src/panel/panel-content.component';
7
+ export * from './src/panel/panel-footer.component';
8
+ export * from './src/panel/panel-trigger.directive';
9
+ export * from './src/panel/panel-close-button.directive';
10
+ export * from './src/panel/panel-back-button.directive';
11
+ export * from './src/dialog/dialog.component';
12
+ export * from './src/dialog/confirmation-dialog.component';
13
+ export * from './src/dialog/danger-dialog.component';
14
+ export * from './src/dialog/dialog-footer.component';
15
+ export * from './src/dialog/dialog-content.directive';
16
+ export * from './src/dialog/dialog-header.component';
17
+ export * from './src/dialog/dialog-close-button.directive';
18
+ export * from './src/dialog/dialog-trigger.directive';
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvbW9kYWwvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHlDQUF5QyxDQUFDO0FBRXhELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx1Q0FBdUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL21vZGFsLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvbW9kYWwubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvcGFuZWwvcGFuZWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3BhbmVsL2lubGluZS1wYW5lbC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvcGFuZWwvcGFuZWwtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9wYW5lbC9wYW5lbC1jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9wYW5lbC9wYW5lbC1mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3BhbmVsL3BhbmVsLXRyaWdnZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3BhbmVsL3BhbmVsLWNsb3NlLWJ1dHRvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvcGFuZWwvcGFuZWwtYmFjay1idXR0b24uZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2RpYWxvZy9kYW5nZXItZGlhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9kaWFsb2cvZGlhbG9nLWZvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvZGlhbG9nL2RpYWxvZy1jb250ZW50LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9kaWFsb2cvZGlhbG9nLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvZGlhbG9nL2RpYWxvZy1jbG9zZS1idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2RpYWxvZy9kaWFsb2ctdHJpZ2dlci5kaXJlY3RpdmUnO1xuIl19
@@ -0,0 +1,61 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
+ import { DialogComponent } from './dialog.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../../../button/src/button.component";
6
+ import * as i3 from "./dialog.component";
7
+ import * as i4 from "./dialog-header.component";
8
+ import * as i5 from "./dialog-content.directive";
9
+ import * as i6 from "./dialog-footer.component";
10
+ /**
11
+ * A wrapper around `<sp-dialog>` which gives you a simple way of creating a
12
+ * confirmation dialog which is aligned with Sapphire design vision.
13
+ */
14
+ export class ConfirmationDialogComponent {
15
+ constructor() {
16
+ /**
17
+ * Dialog heading text. Passed to the wrapped `sp-dialog`
18
+ */
19
+ this.heading = '';
20
+ /**
21
+ * The label of the primary action button in the dialog footer.
22
+ */
23
+ this.primaryActionLabel = '';
24
+ /**
25
+ * The label of the secondary action button in the dialog footer.
26
+ */
27
+ this.secondaryActionLabel = '';
28
+ /**
29
+ * Emitted when the primary action is triggered. Use `$event.dialog` to access
30
+ * the wrapped dialog in the event handler, and close the dialog by calling
31
+ * `$event.dialog.close()`
32
+ */
33
+ this.primaryActionSelected = new EventEmitter();
34
+ /**
35
+ * Emitted when the secondary action is triggered. Use `$event.dialog` to access
36
+ * the wrapped dialog in the event handler, and close the dialog by calling
37
+ * `$event.dialog.close()`
38
+ */
39
+ this.secondaryActionSelected = new EventEmitter();
40
+ }
41
+ }
42
+ ConfirmationDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ConfirmationDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
43
+ ConfirmationDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ConfirmationDialogComponent, selector: "sp-confirmation-dialog", inputs: { heading: "heading", primaryActionLabel: "primaryActionLabel", secondaryActionLabel: "secondaryActionLabel" }, outputs: { primaryActionSelected: "primaryActionSelected", secondaryActionSelected: "secondaryActionSelected" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: DialogComponent, descendants: true }], exportAs: ["spConfirmationDialog"], ngImport: i0, template: "<sp-dialog role=\"alertdialog\">\n <sp-dialog-header *ngIf=\"heading\">{{ heading }}</sp-dialog-header>\n <sp-dialog-content><ng-content></ng-content></sp-dialog-content>\n <sp-dialog-footer>\n <button\n sp-button\n variant=\"secondary\"\n (click)=\"dialog && secondaryActionSelected.emit({dialog})\"\n >\n {{ secondaryActionLabel }}\n </button>\n <button\n sp-button\n variant=\"primary\"\n (click)=\"dialog && primaryActionSelected.emit({dialog})\"\n >\n {{ primaryActionLabel }}\n </button>\n </sp-dialog-footer>\n</sp-dialog>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[sp-button], a[sp-button]", inputs: ["variant", "appearance", "surface", "size", "disabled", "iconAlign", "type"] }, { kind: "component", type: i3.DialogComponent, selector: "sp-dialog", inputs: ["size"] }, { kind: "component", type: i4.DialogHeaderComponent, selector: "sp-dialog-header" }, { kind: "directive", type: i5.DialogContentDirective, selector: "sp-dialog-content, [sp-dialog-content]" }, { kind: "component", type: i6.DialogFooterComponent, selector: "sp-dialog-footer" }] });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: 'sp-confirmation-dialog', exportAs: 'spConfirmationDialog', template: "<sp-dialog role=\"alertdialog\">\n <sp-dialog-header *ngIf=\"heading\">{{ heading }}</sp-dialog-header>\n <sp-dialog-content><ng-content></ng-content></sp-dialog-content>\n <sp-dialog-footer>\n <button\n sp-button\n variant=\"secondary\"\n (click)=\"dialog && secondaryActionSelected.emit({dialog})\"\n >\n {{ secondaryActionLabel }}\n </button>\n <button\n sp-button\n variant=\"primary\"\n (click)=\"dialog && primaryActionSelected.emit({dialog})\"\n >\n {{ primaryActionLabel }}\n </button>\n </sp-dialog-footer>\n</sp-dialog>\n" }]
47
+ }], propDecorators: { heading: [{
48
+ type: Input
49
+ }], primaryActionLabel: [{
50
+ type: Input
51
+ }], secondaryActionLabel: [{
52
+ type: Input
53
+ }], primaryActionSelected: [{
54
+ type: Output
55
+ }], secondaryActionSelected: [{
56
+ type: Output
57
+ }], dialog: [{
58
+ type: ViewChild,
59
+ args: [DialogComponent]
60
+ }] } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZGFsL3NyYy9kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZGFsL3NyYy9kaWFsb2cvY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7O0FBRXJEOzs7R0FHRztBQU1ILE1BQU0sT0FBTywyQkFBMkI7SUFMeEM7UUFNRTs7V0FFRztRQUVILFlBQU8sR0FBVyxFQUFFLENBQUM7UUFFckI7O1dBRUc7UUFFSCx1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFFaEM7O1dBRUc7UUFFSCx5QkFBb0IsR0FBVyxFQUFFLENBQUM7UUFFbEM7Ozs7V0FJRztRQUVILDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO1FBRXhFOzs7O1dBSUc7UUFFSCw0QkFBdUIsR0FBRyxJQUFJLFlBQVksRUFBK0IsQ0FBQztLQU8zRTs7d0hBeENZLDJCQUEyQjs0R0FBM0IsMkJBQTJCLCtVQXNDM0IsZUFBZSxvRkN4RDVCLG1sQkFvQkE7MkZERmEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLHdCQUF3QixZQUV4QixzQkFBc0I7OEJBT2hDLE9BQU87c0JBRE4sS0FBSztnQkFPTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBT04sb0JBQW9CO3NCQURuQixLQUFLO2dCQVNOLHFCQUFxQjtzQkFEcEIsTUFBTTtnQkFTUCx1QkFBdUI7c0JBRHRCLE1BQU07Z0JBT1AsTUFBTTtzQkFETCxTQUFTO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQSB3cmFwcGVyIGFyb3VuZCBgPHNwLWRpYWxvZz5gIHdoaWNoIGdpdmVzIHlvdSBhIHNpbXBsZSB3YXkgb2YgY3JlYXRpbmcgYVxuICogY29uZmlybWF0aW9uIGRpYWxvZyB3aGljaCBpcyBhbGlnbmVkIHdpdGggU2FwcGhpcmUgZGVzaWduIHZpc2lvbi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3AtY29uZmlybWF0aW9uLWRpYWxvZycsXG4gIHRlbXBsYXRlVXJsOiAnY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIGV4cG9ydEFzOiAnc3BDb25maXJtYXRpb25EaWFsb2cnLFxufSlcbmV4cG9ydCBjbGFzcyBDb25maXJtYXRpb25EaWFsb2dDb21wb25lbnQge1xuICAvKipcbiAgICogRGlhbG9nIGhlYWRpbmcgdGV4dC4gUGFzc2VkIHRvIHRoZSB3cmFwcGVkIGBzcC1kaWFsb2dgXG4gICAqL1xuICBASW5wdXQoKVxuICBoZWFkaW5nOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhlIGxhYmVsIG9mIHRoZSBwcmltYXJ5IGFjdGlvbiBidXR0b24gaW4gdGhlIGRpYWxvZyBmb290ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwcmltYXJ5QWN0aW9uTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIHNlY29uZGFyeSBhY3Rpb24gYnV0dG9uIGluIHRoZSBkaWFsb2cgZm9vdGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2Vjb25kYXJ5QWN0aW9uTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHByaW1hcnkgYWN0aW9uIGlzIHRyaWdnZXJlZC4gVXNlIGAkZXZlbnQuZGlhbG9nYCB0byBhY2Nlc3NcbiAgICogdGhlIHdyYXBwZWQgZGlhbG9nIGluIHRoZSBldmVudCBoYW5kbGVyLCBhbmQgY2xvc2UgdGhlIGRpYWxvZyBieSBjYWxsaW5nXG4gICAqIGAkZXZlbnQuZGlhbG9nLmNsb3NlKClgXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHJpbWFyeUFjdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGRpYWxvZzogRGlhbG9nQ29tcG9uZW50IH0+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgc2Vjb25kYXJ5IGFjdGlvbiBpcyB0cmlnZ2VyZWQuIFVzZSBgJGV2ZW50LmRpYWxvZ2AgdG8gYWNjZXNzXG4gICAqIHRoZSB3cmFwcGVkIGRpYWxvZyBpbiB0aGUgZXZlbnQgaGFuZGxlciwgYW5kIGNsb3NlIHRoZSBkaWFsb2cgYnkgY2FsbGluZ1xuICAgKiBgJGV2ZW50LmRpYWxvZy5jbG9zZSgpYFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHNlY29uZGFyeUFjdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGRpYWxvZzogRGlhbG9nQ29tcG9uZW50IH0+KCk7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgd3JhcHBlZCBgc3AtZGlhbG9nYCBjb21wb25lbnQuXG4gICAqL1xuICBAVmlld0NoaWxkKERpYWxvZ0NvbXBvbmVudClcbiAgZGlhbG9nPzogRGlhbG9nQ29tcG9uZW50O1xufVxuIiwiPHNwLWRpYWxvZyByb2xlPVwiYWxlcnRkaWFsb2dcIj5cbiAgPHNwLWRpYWxvZy1oZWFkZXIgKm5nSWY9XCJoZWFkaW5nXCI+e3sgaGVhZGluZyB9fTwvc3AtZGlhbG9nLWhlYWRlcj5cbiAgPHNwLWRpYWxvZy1jb250ZW50PjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwLWRpYWxvZy1jb250ZW50PlxuICA8c3AtZGlhbG9nLWZvb3Rlcj5cbiAgICA8YnV0dG9uXG4gICAgICBzcC1idXR0b25cbiAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgKGNsaWNrKT1cImRpYWxvZyAmJiBzZWNvbmRhcnlBY3Rpb25TZWxlY3RlZC5lbWl0KHtkaWFsb2d9KVwiXG4gICAgPlxuICAgICAge3sgc2Vjb25kYXJ5QWN0aW9uTGFiZWwgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBzcC1idXR0b25cbiAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgIChjbGljayk9XCJkaWFsb2cgJiYgcHJpbWFyeUFjdGlvblNlbGVjdGVkLmVtaXQoe2RpYWxvZ30pXCJcbiAgICA+XG4gICAgICB7eyBwcmltYXJ5QWN0aW9uTGFiZWwgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9zcC1kaWFsb2ctZm9vdGVyPlxuPC9zcC1kaWFsb2c+XG4iXX0=
@@ -0,0 +1,62 @@
1
+ import { Component, EventEmitter, Input, Output, ViewChild, } from '@angular/core';
2
+ import { DialogComponent } from './dialog.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../../../button/src/button.component";
6
+ import * as i3 from "./dialog.component";
7
+ import * as i4 from "./dialog-header.component";
8
+ import * as i5 from "./dialog-content.directive";
9
+ import * as i6 from "./dialog-footer.component";
10
+ /**
11
+ * A wrapper around `<sp-dialog>` which gives you a simple way of creating a
12
+ * danger dialog which is aligned with Sapphire design vision.
13
+ */
14
+ export class DangerDialogComponent {
15
+ constructor() {
16
+ /**
17
+ * Dialog heading text. Passed to the wrapped `sp-dialog`
18
+ */
19
+ this.heading = '';
20
+ /**
21
+ * The label of the primary action button in the dialog footer.
22
+ */
23
+ this.primaryActionLabel = '';
24
+ /**
25
+ * The label of the secondary action button in the dialog footer.
26
+ */
27
+ this.secondaryActionLabel = '';
28
+ /**
29
+ * Emitted when the primary action is triggered. Use `$event.dialog` to access
30
+ * the wrapped dialog in the event handler, and close the dialog by calling
31
+ * `$event.dialog.close()`
32
+ */
33
+ this.primaryActionSelected = new EventEmitter();
34
+ /**
35
+ * Emitted when the secondary action is triggered. Use `$event.dialog` to
36
+ * access the wrapped dialog in the event handler, and close the dialog by
37
+ * calling
38
+ * `$event.dialog.close()`
39
+ */
40
+ this.secondaryActionSelected = new EventEmitter();
41
+ }
42
+ }
43
+ DangerDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DangerDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
+ DangerDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: DangerDialogComponent, selector: "sp-danger-dialog", inputs: { heading: "heading", primaryActionLabel: "primaryActionLabel", secondaryActionLabel: "secondaryActionLabel" }, outputs: { primaryActionSelected: "primaryActionSelected", secondaryActionSelected: "secondaryActionSelected" }, viewQueries: [{ propertyName: "dialog", first: true, predicate: DialogComponent, descendants: true }], exportAs: ["spDangerDialog"], ngImport: i0, template: "<sp-dialog role=\"alertdialog\">\n <sp-dialog-header *ngIf=\"heading\">{{ heading }}</sp-dialog-header>\n <sp-dialog-content><ng-content></ng-content></sp-dialog-content>\n <sp-dialog-footer>\n <button\n sp-button\n variant=\"secondary\"\n (click)=\"dialog && secondaryActionSelected.emit({dialog})\"\n >\n {{ secondaryActionLabel }}\n </button>\n <button\n sp-button\n variant=\"dangerSecondary\"\n (click)=\"dialog && primaryActionSelected.emit({dialog})\"\n >\n {{ primaryActionLabel }}\n </button>\n </sp-dialog-footer>\n</sp-dialog>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[sp-button], a[sp-button]", inputs: ["variant", "appearance", "surface", "size", "disabled", "iconAlign", "type"] }, { kind: "component", type: i3.DialogComponent, selector: "sp-dialog", inputs: ["size"] }, { kind: "component", type: i4.DialogHeaderComponent, selector: "sp-dialog-header" }, { kind: "directive", type: i5.DialogContentDirective, selector: "sp-dialog-content, [sp-dialog-content]" }, { kind: "component", type: i6.DialogFooterComponent, selector: "sp-dialog-footer" }] });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: DangerDialogComponent, decorators: [{
46
+ type: Component,
47
+ args: [{ selector: 'sp-danger-dialog', exportAs: 'spDangerDialog', template: "<sp-dialog role=\"alertdialog\">\n <sp-dialog-header *ngIf=\"heading\">{{ heading }}</sp-dialog-header>\n <sp-dialog-content><ng-content></ng-content></sp-dialog-content>\n <sp-dialog-footer>\n <button\n sp-button\n variant=\"secondary\"\n (click)=\"dialog && secondaryActionSelected.emit({dialog})\"\n >\n {{ secondaryActionLabel }}\n </button>\n <button\n sp-button\n variant=\"dangerSecondary\"\n (click)=\"dialog && primaryActionSelected.emit({dialog})\"\n >\n {{ primaryActionLabel }}\n </button>\n </sp-dialog-footer>\n</sp-dialog>\n" }]
48
+ }], propDecorators: { heading: [{
49
+ type: Input
50
+ }], primaryActionLabel: [{
51
+ type: Input
52
+ }], secondaryActionLabel: [{
53
+ type: Input
54
+ }], primaryActionSelected: [{
55
+ type: Output
56
+ }], secondaryActionSelected: [{
57
+ type: Output
58
+ }], dialog: [{
59
+ type: ViewChild,
60
+ args: [DialogComponent]
61
+ }] } });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFuZ2VyLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZGFsL3NyYy9kaWFsb2cvZGFuZ2VyLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL21vZGFsL3NyYy9kaWFsb2cvZGFuZ2VyLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7O0FBRXJEOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFNRTs7V0FFRztRQUVILFlBQU8sR0FBVyxFQUFFLENBQUM7UUFFckI7O1dBRUc7UUFFSCx1QkFBa0IsR0FBVyxFQUFFLENBQUM7UUFFaEM7O1dBRUc7UUFFSCx5QkFBb0IsR0FBVyxFQUFFLENBQUM7UUFFbEM7Ozs7V0FJRztRQUVILDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUErQixDQUFDO1FBRXhFOzs7OztXQUtHO1FBRUgsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQStCLENBQUM7S0FPM0U7O2tIQXpDWSxxQkFBcUI7c0dBQXJCLHFCQUFxQix5VUF1Q3JCLGVBQWUsOEVDekQ1QiwybEJBb0JBOzJGREZhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxrQkFBa0IsWUFFbEIsZ0JBQWdCOzhCQU8xQixPQUFPO3NCQUROLEtBQUs7Z0JBT04sa0JBQWtCO3NCQURqQixLQUFLO2dCQU9OLG9CQUFvQjtzQkFEbkIsS0FBSztnQkFTTixxQkFBcUI7c0JBRHBCLE1BQU07Z0JBVVAsdUJBQXVCO3NCQUR0QixNQUFNO2dCQU9QLE1BQU07c0JBREwsU0FBUzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xuXG4vKipcbiAqIEEgd3JhcHBlciBhcm91bmQgYDxzcC1kaWFsb2c+YCB3aGljaCBnaXZlcyB5b3UgYSBzaW1wbGUgd2F5IG9mIGNyZWF0aW5nIGFcbiAqIGRhbmdlciBkaWFsb2cgd2hpY2ggaXMgYWxpZ25lZCB3aXRoIFNhcHBoaXJlIGRlc2lnbiB2aXNpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NwLWRhbmdlci1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGFuZ2VyLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIGV4cG9ydEFzOiAnc3BEYW5nZXJEaWFsb2cnLFxufSlcbmV4cG9ydCBjbGFzcyBEYW5nZXJEaWFsb2dDb21wb25lbnQge1xuICAvKipcbiAgICogRGlhbG9nIGhlYWRpbmcgdGV4dC4gUGFzc2VkIHRvIHRoZSB3cmFwcGVkIGBzcC1kaWFsb2dgXG4gICAqL1xuICBASW5wdXQoKVxuICBoZWFkaW5nOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogVGhlIGxhYmVsIG9mIHRoZSBwcmltYXJ5IGFjdGlvbiBidXR0b24gaW4gdGhlIGRpYWxvZyBmb290ZXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwcmltYXJ5QWN0aW9uTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgdGhlIHNlY29uZGFyeSBhY3Rpb24gYnV0dG9uIGluIHRoZSBkaWFsb2cgZm9vdGVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2Vjb25kYXJ5QWN0aW9uTGFiZWw6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIHByaW1hcnkgYWN0aW9uIGlzIHRyaWdnZXJlZC4gVXNlIGAkZXZlbnQuZGlhbG9nYCB0byBhY2Nlc3NcbiAgICogdGhlIHdyYXBwZWQgZGlhbG9nIGluIHRoZSBldmVudCBoYW5kbGVyLCBhbmQgY2xvc2UgdGhlIGRpYWxvZyBieSBjYWxsaW5nXG4gICAqIGAkZXZlbnQuZGlhbG9nLmNsb3NlKClgXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHJpbWFyeUFjdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGRpYWxvZzogRGlhbG9nQ29tcG9uZW50IH0+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB0aGUgc2Vjb25kYXJ5IGFjdGlvbiBpcyB0cmlnZ2VyZWQuIFVzZSBgJGV2ZW50LmRpYWxvZ2AgdG9cbiAgICogYWNjZXNzIHRoZSB3cmFwcGVkIGRpYWxvZyBpbiB0aGUgZXZlbnQgaGFuZGxlciwgYW5kIGNsb3NlIHRoZSBkaWFsb2cgYnlcbiAgICogY2FsbGluZ1xuICAgKiBgJGV2ZW50LmRpYWxvZy5jbG9zZSgpYFxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHNlY29uZGFyeUFjdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx7IGRpYWxvZzogRGlhbG9nQ29tcG9uZW50IH0+KCk7XG5cbiAgLyoqXG4gICAqIFJlZmVyZW5jZSB0byB0aGUgd3JhcHBlZCBgc3AtZGlhbG9nYCBjb21wb25lbnQuXG4gICAqL1xuICBAVmlld0NoaWxkKERpYWxvZ0NvbXBvbmVudClcbiAgZGlhbG9nPzogRGlhbG9nQ29tcG9uZW50O1xufVxuIiwiPHNwLWRpYWxvZyByb2xlPVwiYWxlcnRkaWFsb2dcIj5cbiAgPHNwLWRpYWxvZy1oZWFkZXIgKm5nSWY9XCJoZWFkaW5nXCI+e3sgaGVhZGluZyB9fTwvc3AtZGlhbG9nLWhlYWRlcj5cbiAgPHNwLWRpYWxvZy1jb250ZW50PjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwLWRpYWxvZy1jb250ZW50PlxuICA8c3AtZGlhbG9nLWZvb3Rlcj5cbiAgICA8YnV0dG9uXG4gICAgICBzcC1idXR0b25cbiAgICAgIHZhcmlhbnQ9XCJzZWNvbmRhcnlcIlxuICAgICAgKGNsaWNrKT1cImRpYWxvZyAmJiBzZWNvbmRhcnlBY3Rpb25TZWxlY3RlZC5lbWl0KHtkaWFsb2d9KVwiXG4gICAgPlxuICAgICAge3sgc2Vjb25kYXJ5QWN0aW9uTGFiZWwgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uXG4gICAgICBzcC1idXR0b25cbiAgICAgIHZhcmlhbnQ9XCJkYW5nZXJTZWNvbmRhcnlcIlxuICAgICAgKGNsaWNrKT1cImRpYWxvZyAmJiBwcmltYXJ5QWN0aW9uU2VsZWN0ZWQuZW1pdCh7ZGlhbG9nfSlcIlxuICAgID5cbiAgICAgIHt7IHByaW1hcnlBY3Rpb25MYWJlbCB9fVxuICAgIDwvYnV0dG9uPlxuICA8L3NwLWRpYWxvZy1mb290ZXI+XG48L3NwLWRpYWxvZz5cbiJdfQ==