@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,45 @@
1
+ // Taken from react-aria https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/utils/src/platform.ts
2
+ function testUserAgent(re) {
3
+ if (typeof window === 'undefined' || window.navigator == null) {
4
+ return false;
5
+ }
6
+ return (
7
+ // @ts-expect-error incorrect navigator type
8
+ window.navigator['userAgentData']?.brands.some((brand) => re.test(brand.brand)) || re.test(window.navigator.userAgent));
9
+ }
10
+ function testPlatform(re) {
11
+ return typeof window !== 'undefined' && window.navigator != null
12
+ ? // @ts-expect-error incorrect navigator type
13
+ re.test((window.navigator['userAgentData'] || window.navigator).platform)
14
+ : false;
15
+ }
16
+ export function isMac() {
17
+ return testPlatform(/^Mac/i);
18
+ }
19
+ export function isIPhone() {
20
+ return testPlatform(/^iPhone/i);
21
+ }
22
+ export function isIPad() {
23
+ return (testPlatform(/^iPad/i) ||
24
+ // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.
25
+ (isMac() && navigator.maxTouchPoints > 1));
26
+ }
27
+ export function isIOS() {
28
+ return isIPhone() || isIPad();
29
+ }
30
+ export function isAppleDevice() {
31
+ return isMac() || isIOS();
32
+ }
33
+ export function isWebKit() {
34
+ return testUserAgent(/AppleWebKit/i) && !isChrome();
35
+ }
36
+ export function isChrome() {
37
+ return testUserAgent(/Chrome/i);
38
+ }
39
+ export function isAndroid() {
40
+ return testUserAgent(/Android/i);
41
+ }
42
+ export function isMobile() {
43
+ return isIPhone() || isAndroid();
44
+ }
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbW1vbi9wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1SEFBdUg7QUFFdkgsU0FBUyxhQUFhLENBQUMsRUFBVTtJQUMvQixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsU0FBUyxJQUFJLElBQUksRUFBRTtRQUM3RCxPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTztJQUNMLDRDQUE0QztJQUM1QyxNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQzVDLENBQUMsS0FBeUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQ3BFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUN6QyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLEVBQVU7SUFDOUIsT0FBTyxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksTUFBTSxDQUFDLFNBQVMsSUFBSSxJQUFJO1FBQzlELENBQUMsQ0FBQyw0Q0FBNEM7WUFDNUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUMzRSxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLO0lBQ25CLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUTtJQUN0QixPQUFPLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU07SUFDcEIsT0FBTyxDQUNMLFlBQVksQ0FBQyxRQUFRLENBQUM7UUFDdEIseUZBQXlGO1FBQ3pGLENBQUMsS0FBSyxFQUFFLElBQUksU0FBUyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FDMUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsS0FBSztJQUNuQixPQUFPLFFBQVEsRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDO0FBQ2hDLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYTtJQUMzQixPQUFPLEtBQUssRUFBRSxJQUFJLEtBQUssRUFBRSxDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUTtJQUN0QixPQUFPLGFBQWEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3RELENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUTtJQUN0QixPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVM7SUFDdkIsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRO0lBQ3RCLE9BQU8sUUFBUSxFQUFFLElBQUksU0FBUyxFQUFFLENBQUM7QUFDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFRha2VuIGZyb20gcmVhY3QtYXJpYSBodHRwczovL2dpdGh1Yi5jb20vYWRvYmUvcmVhY3Qtc3BlY3RydW0vYmxvYi9tYWluL3BhY2thZ2VzLyU0MHJlYWN0LWFyaWEvdXRpbHMvc3JjL3BsYXRmb3JtLnRzXG5cbmZ1bmN0aW9uIHRlc3RVc2VyQWdlbnQocmU6IFJlZ0V4cCkge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgfHwgd2luZG93Lm5hdmlnYXRvciA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAoXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBpbmNvcnJlY3QgbmF2aWdhdG9yIHR5cGVcbiAgICB3aW5kb3cubmF2aWdhdG9yWyd1c2VyQWdlbnREYXRhJ10/LmJyYW5kcy5zb21lKFxuICAgICAgKGJyYW5kOiB7IGJyYW5kOiBzdHJpbmc7IHZlcnNpb246IHN0cmluZyB9KSA9PiByZS50ZXN0KGJyYW5kLmJyYW5kKVxuICAgICkgfHwgcmUudGVzdCh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudClcbiAgKTtcbn1cblxuZnVuY3Rpb24gdGVzdFBsYXRmb3JtKHJlOiBSZWdFeHApIHtcbiAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5uYXZpZ2F0b3IgIT0gbnVsbFxuICAgID8gLy8gQHRzLWV4cGVjdC1lcnJvciBpbmNvcnJlY3QgbmF2aWdhdG9yIHR5cGVcbiAgICAgIHJlLnRlc3QoKHdpbmRvdy5uYXZpZ2F0b3JbJ3VzZXJBZ2VudERhdGEnXSB8fCB3aW5kb3cubmF2aWdhdG9yKS5wbGF0Zm9ybSlcbiAgICA6IGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNNYWMoKSB7XG4gIHJldHVybiB0ZXN0UGxhdGZvcm0oL15NYWMvaSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0lQaG9uZSgpIHtcbiAgcmV0dXJuIHRlc3RQbGF0Zm9ybSgvXmlQaG9uZS9pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSVBhZCgpIHtcbiAgcmV0dXJuIChcbiAgICB0ZXN0UGxhdGZvcm0oL15pUGFkL2kpIHx8XG4gICAgLy8gaVBhZE9TIDEzIGxpZXMgYW5kIHNheXMgaXQncyBhIE1hYywgYnV0IHdlIGNhbiBkaXN0aW5ndWlzaCBieSBkZXRlY3RpbmcgdG91Y2ggc3VwcG9ydC5cbiAgICAoaXNNYWMoKSAmJiBuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHMgPiAxKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNJT1MoKSB7XG4gIHJldHVybiBpc0lQaG9uZSgpIHx8IGlzSVBhZCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBcHBsZURldmljZSgpIHtcbiAgcmV0dXJuIGlzTWFjKCkgfHwgaXNJT1MoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzV2ViS2l0KCkge1xuICByZXR1cm4gdGVzdFVzZXJBZ2VudCgvQXBwbGVXZWJLaXQvaSkgJiYgIWlzQ2hyb21lKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Nocm9tZSgpIHtcbiAgcmV0dXJuIHRlc3RVc2VyQWdlbnQoL0Nocm9tZS9pKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQW5kcm9pZCgpIHtcbiAgcmV0dXJuIHRlc3RVc2VyQWdlbnQoL0FuZHJvaWQvaSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01vYmlsZSgpIHtcbiAgcmV0dXJuIGlzSVBob25lKCkgfHwgaXNBbmRyb2lkKCk7XG59XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { Directive, HostListener, Inject, Input, } from '@angular/core';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * JS-based :active state for non-button clickable elements.
6
+ * TODO(UC-2728): we can evolve this to something like usePress (spPressable?), to bring
7
+ * the same improvements. e.g. disabling selection on press, or normalizing
8
+ * cross-browser inconsistencies, allowing for handling press start and end, optimizing for touch,
9
+ * etc.
10
+ */
11
+ export class PressedDirective {
12
+ get pressed() {
13
+ return this._pressed;
14
+ }
15
+ set pressed(pressed) {
16
+ this._pressed = pressed;
17
+ if (this.pressedClass) {
18
+ this.elementRef.nativeElement.classList.toggle(this.pressedClass, this._pressed);
19
+ }
20
+ }
21
+ _onPressStart() {
22
+ this.pressed = true;
23
+ this.document.addEventListener('mouseup', () => {
24
+ this.pressed = false;
25
+ }, { once: true, capture: true });
26
+ }
27
+ constructor(document, elementRef) {
28
+ this.document = document;
29
+ this.elementRef = elementRef;
30
+ /**
31
+ * Whether the element is currently in being pressed (:active) state
32
+ */
33
+ this._pressed = false;
34
+ }
35
+ }
36
+ PressedDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PressedDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
37
+ PressedDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: PressedDirective, isStandalone: true, selector: "[spPressed], [spPressedClass]", inputs: { pressedClass: ["spPressedClass", "pressedClass"] }, host: { listeners: { "mousedown": "_onPressStart($event)" } }, exportAs: ["spPressed"], ngImport: i0 });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: PressedDirective, decorators: [{
39
+ type: Directive,
40
+ args: [{
41
+ standalone: true,
42
+ selector: '[spPressed], [spPressedClass]',
43
+ exportAs: 'spPressed',
44
+ }]
45
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
46
+ type: Inject,
47
+ args: [DOCUMENT]
48
+ }] }, { type: i0.ElementRef }]; }, propDecorators: { pressedClass: [{
49
+ type: Input,
50
+ args: ['spPressedClass']
51
+ }], _onPressStart: [{
52
+ type: HostListener,
53
+ args: ['mousedown', ['$event']]
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc3NlZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbW1vbi9wcmVzc2VkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFM0M7Ozs7OztHQU1HO0FBTUgsTUFBTSxPQUFPLGdCQUFnQjtJQVczQixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE9BQWdCO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUM1QyxJQUFJLENBQUMsWUFBWSxFQUNqQixJQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7U0FDSDtJQUNILENBQUM7SUFHRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FDNUIsU0FBUyxFQUNULEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLENBQUMsRUFDRCxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUM5QixDQUFDO0lBQ0osQ0FBQztJQUVELFlBQzRCLFFBQWtCLEVBQ3BDLFVBQW1DO1FBRGpCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUEvQjdDOztXQUVHO1FBQ0gsYUFBUSxHQUFHLEtBQUssQ0FBQztJQTZCZCxDQUFDOzs2R0F2Q08sZ0JBQWdCLGtCQXFDakIsUUFBUTtpR0FyQ1AsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBTDVCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFFBQVEsRUFBRSxXQUFXO2lCQUN0Qjs7MEJBc0NJLE1BQU07MkJBQUMsUUFBUTtxRUFoQ2xCLFlBQVk7c0JBRFgsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBcUJ2QixhQUFhO3NCQURaLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIEpTLWJhc2VkIDphY3RpdmUgc3RhdGUgZm9yIG5vbi1idXR0b24gY2xpY2thYmxlIGVsZW1lbnRzLlxuICogVE9ETyhVQy0yNzI4KTogd2UgY2FuIGV2b2x2ZSB0aGlzIHRvIHNvbWV0aGluZyBsaWtlIHVzZVByZXNzIChzcFByZXNzYWJsZT8pLCB0byBicmluZ1xuICogIHRoZSBzYW1lIGltcHJvdmVtZW50cy4gZS5nLiBkaXNhYmxpbmcgc2VsZWN0aW9uIG9uIHByZXNzLCBvciBub3JtYWxpemluZ1xuICogIGNyb3NzLWJyb3dzZXIgaW5jb25zaXN0ZW5jaWVzLCBhbGxvd2luZyBmb3IgaGFuZGxpbmcgcHJlc3Mgc3RhcnQgYW5kIGVuZCwgb3B0aW1pemluZyBmb3IgdG91Y2gsXG4gKiAgZXRjLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbc3BQcmVzc2VkXSwgW3NwUHJlc3NlZENsYXNzXScsXG4gIGV4cG9ydEFzOiAnc3BQcmVzc2VkJyxcbn0pXG5leHBvcnQgY2xhc3MgUHJlc3NlZERpcmVjdGl2ZSB7XG4gIC8qKlxuICAgKiBDU1MgY2xhc3MgdG8gYmUgYXBwbGllZCB3aGVuIHRoZSBlbGVtZW50IGlzIGJlaW5nIHByZXNzZWQuXG4gICAqL1xuICBASW5wdXQoJ3NwUHJlc3NlZENsYXNzJylcbiAgcHJlc3NlZENsYXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBlbGVtZW50IGlzIGN1cnJlbnRseSBpbiBiZWluZyBwcmVzc2VkICg6YWN0aXZlKSBzdGF0ZVxuICAgKi9cbiAgX3ByZXNzZWQgPSBmYWxzZTtcbiAgZ2V0IHByZXNzZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3ByZXNzZWQ7XG4gIH1cbiAgc2V0IHByZXNzZWQocHJlc3NlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX3ByZXNzZWQgPSBwcmVzc2VkO1xuICAgIGlmICh0aGlzLnByZXNzZWRDbGFzcykge1xuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShcbiAgICAgICAgdGhpcy5wcmVzc2VkQ2xhc3MsXG4gICAgICAgIHRoaXMuX3ByZXNzZWRcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQnXSlcbiAgX29uUHJlc3NTdGFydCgpIHtcbiAgICB0aGlzLnByZXNzZWQgPSB0cnVlO1xuICAgIHRoaXMuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgICdtb3VzZXVwJyxcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5wcmVzc2VkID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgeyBvbmNlOiB0cnVlLCBjYXB0dXJlOiB0cnVlIH1cbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PlxuICApIHt9XG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ // Exported just for the issue with vscode
2
+ export { ScrollMonitorDirective } from './scroll-monitor.directive';
3
+ export { UseComponentStyles, UseComponentStylesOnHost, ViewEncapsulationProvider, } from './sapphire-view-encapsulation';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tbW9uL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3BFLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixHQUMxQixNQUFNLCtCQUErQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRXhwb3J0ZWQganVzdCBmb3IgdGhlIGlzc3VlIHdpdGggdnNjb2RlXG5leHBvcnQgeyBTY3JvbGxNb25pdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9zY3JvbGwtbW9uaXRvci5kaXJlY3RpdmUnO1xuZXhwb3J0IHtcbiAgVXNlQ29tcG9uZW50U3R5bGVzLFxuICBVc2VDb21wb25lbnRTdHlsZXNPbkhvc3QsXG4gIFZpZXdFbmNhcHN1bGF0aW9uUHJvdmlkZXIsXG59IGZyb20gJy4vc2FwcGhpcmUtdmlldy1lbmNhcHN1bGF0aW9uJztcbiJdfQ==
@@ -0,0 +1,83 @@
1
+ import { Directive, Injectable, Optional, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Captures the view encapsulation of the current component, and makes it possible to apply that
5
+ * on elements in the component's subtree, using {@link UseComponentStyles} directive.
6
+ * Useful when a component has subcomponents, but they are a single component in css-level.
7
+ */
8
+ export class ViewEncapsulationProvider {
9
+ constructor(elementRef, renderer) {
10
+ this.elementRef = elementRef;
11
+ this.renderer = renderer;
12
+ }
13
+ enableStylesOn(element) {
14
+ this.renderer.setAttribute(element, this.getContentAttribute(), '');
15
+ }
16
+ getContentAttribute() {
17
+ const attributes = this.elementRef.nativeElement.attributes;
18
+ for (let index = 0; index < attributes.length; index++) {
19
+ const attribute = attributes.item(index);
20
+ if (attribute?.name.startsWith('_nghost')) {
21
+ return `_ngcontent${attribute.name.slice('_nghost'.length)}`;
22
+ }
23
+ }
24
+ console.error('Could not find component id to apply Sapphire style encapsulation on:', this.elementRef.nativeElement);
25
+ throw new Error(`Could not find component id to apply Sapphire style encapsulation. \
26
+ ViewEncapsulationProvider is supposed to be applied only on components.
27
+ Make sure encapsulation is not set to ViewEncapsulation.None in your component`);
28
+ }
29
+ }
30
+ ViewEncapsulationProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ViewEncapsulationProvider, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Injectable });
31
+ ViewEncapsulationProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ViewEncapsulationProvider });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ViewEncapsulationProvider, decorators: [{
33
+ type: Injectable
34
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
35
+ /**
36
+ * Enables the use of component's css classes on the host element. Also provides
37
+ * `ViewEncapsulationProvider` which allows for using `UseComponentStyles` in child components.
38
+ * Meant to be used internally, and in components in @danske/sapphire-angular-lab.
39
+ * @internal
40
+ */
41
+ export class UseComponentStylesOnHost {
42
+ constructor(elementRef, viewEncapsulationProvider) {
43
+ viewEncapsulationProvider.enableStylesOn(elementRef.nativeElement);
44
+ }
45
+ }
46
+ UseComponentStylesOnHost.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: UseComponentStylesOnHost, deps: [{ token: i0.ElementRef }, { token: ViewEncapsulationProvider }], target: i0.ɵɵFactoryTarget.Directive });
47
+ UseComponentStylesOnHost.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: UseComponentStylesOnHost, isStandalone: true, selector: "[_spUseComponentStylesOnHost]", providers: [ViewEncapsulationProvider], ngImport: i0 });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: UseComponentStylesOnHost, decorators: [{
49
+ type: Directive,
50
+ args: [{
51
+ standalone: true,
52
+ // selector is required only by types. Would be nice to be able to not set any selector,
53
+ // as this directive is meant to be used only in hostDirectives. But not setting selector
54
+ // results in build error.
55
+ selector: '[_spUseComponentStylesOnHost]',
56
+ providers: [ViewEncapsulationProvider],
57
+ }]
58
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ViewEncapsulationProvider }]; } });
59
+ /**
60
+ * Enables the use of css classes from parent component's styles. Meant to be used internally,
61
+ * and in components in @danske/sapphire-angular-lab.
62
+ * @internal
63
+ */
64
+ export class UseComponentStyles {
65
+ constructor(elementRef, viewEncapsulationProvider) {
66
+ if (!viewEncapsulationProvider) {
67
+ console.error('Could not find parent Sapphire component to enable its styling on:', elementRef.nativeElement);
68
+ }
69
+ viewEncapsulationProvider?.enableStylesOn(elementRef.nativeElement);
70
+ }
71
+ }
72
+ UseComponentStyles.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: UseComponentStyles, deps: [{ token: i0.ElementRef }, { token: ViewEncapsulationProvider, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
73
+ UseComponentStyles.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: UseComponentStyles, isStandalone: true, selector: "[_spUseComponentStyles]", ngImport: i0 });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: UseComponentStyles, decorators: [{
75
+ type: Directive,
76
+ args: [{
77
+ standalone: true,
78
+ selector: '[_spUseComponentStyles]',
79
+ }]
80
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: ViewEncapsulationProvider, decorators: [{
81
+ type: Optional
82
+ }] }]; } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwcGhpcmUtdmlldy1lbmNhcHN1bGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21tb24vc2FwcGhpcmUtdmlldy1lbmNhcHN1bGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsVUFBVSxFQUNWLFFBQVEsR0FFVCxNQUFNLGVBQWUsQ0FBQzs7QUFFdkI7Ozs7R0FJRztBQUVILE1BQU0sT0FBTyx5QkFBeUI7SUFDcEMsWUFDVSxVQUErQixFQUMvQixRQUFtQjtRQURuQixlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQzFCLENBQUM7SUFFRyxjQUFjLENBQUMsT0FBZ0I7UUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1FBQzVELEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsSUFBSSxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDekMsT0FBTyxhQUFhLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO2FBQzlEO1NBQ0Y7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUNYLHVFQUF1RSxFQUN2RSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FDOUIsQ0FBQztRQUNGLE1BQU0sSUFBSSxLQUFLLENBQ2I7O3FGQUUrRSxDQUNoRixDQUFDO0lBQ0osQ0FBQzs7c0hBM0JVLHlCQUF5QjswSEFBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7O0FBK0JYOzs7OztHQUtHO0FBU0gsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNFLFVBQXNCLEVBQ3RCLHlCQUFvRDtRQUVwRCx5QkFBeUIsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7O3FIQU5VLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDRFQUZ4QixDQUFDLHlCQUF5QixDQUFDOzJGQUUzQix3QkFBd0I7a0JBUnBDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLHdGQUF3RjtvQkFDeEYseUZBQXlGO29CQUN6RiwwQkFBMEI7b0JBQzFCLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLHlCQUF5QixDQUFDO2lCQUN2Qzs7QUFVRDs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNFLFVBQXNCLEVBQ1YseUJBQW9EO1FBRWhFLElBQUksQ0FBQyx5QkFBeUIsRUFBRTtZQUM5QixPQUFPLENBQUMsS0FBSyxDQUNYLG9FQUFvRSxFQUNwRSxVQUFVLENBQUMsYUFBYSxDQUN6QixDQUFDO1NBQ0g7UUFDRCx5QkFBeUIsRUFBRSxjQUFjLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OytHQVpVLGtCQUFrQjttR0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBSjlCLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx5QkFBeUI7aUJBQ3BDOzswQkFJSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbmplY3RhYmxlLFxuICBPcHRpb25hbCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBDYXB0dXJlcyB0aGUgdmlldyBlbmNhcHN1bGF0aW9uIG9mIHRoZSBjdXJyZW50IGNvbXBvbmVudCwgYW5kIG1ha2VzIGl0IHBvc3NpYmxlIHRvIGFwcGx5IHRoYXRcbiAqIG9uIGVsZW1lbnRzIGluIHRoZSBjb21wb25lbnQncyBzdWJ0cmVlLCB1c2luZyB7QGxpbmsgVXNlQ29tcG9uZW50U3R5bGVzfSBkaXJlY3RpdmUuXG4gKiBVc2VmdWwgd2hlbiBhIGNvbXBvbmVudCBoYXMgc3ViY29tcG9uZW50cywgYnV0IHRoZXkgYXJlIGEgc2luZ2xlIGNvbXBvbmVudCBpbiBjc3MtbGV2ZWwuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBWaWV3RW5jYXBzdWxhdGlvblByb3ZpZGVyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHt9XG5cbiAgcHVibGljIGVuYWJsZVN0eWxlc09uKGVsZW1lbnQ6IEVsZW1lbnQpIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZShlbGVtZW50LCB0aGlzLmdldENvbnRlbnRBdHRyaWJ1dGUoKSwgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDb250ZW50QXR0cmlidXRlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmF0dHJpYnV0ZXM7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGF0dHJpYnV0ZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGUgPSBhdHRyaWJ1dGVzLml0ZW0oaW5kZXgpO1xuICAgICAgaWYgKGF0dHJpYnV0ZT8ubmFtZS5zdGFydHNXaXRoKCdfbmdob3N0JykpIHtcbiAgICAgICAgcmV0dXJuIGBfbmdjb250ZW50JHthdHRyaWJ1dGUubmFtZS5zbGljZSgnX25naG9zdCcubGVuZ3RoKX1gO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgJ0NvdWxkIG5vdCBmaW5kIGNvbXBvbmVudCBpZCB0byBhcHBseSBTYXBwaGlyZSBzdHlsZSBlbmNhcHN1bGF0aW9uIG9uOicsXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgICk7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYENvdWxkIG5vdCBmaW5kIGNvbXBvbmVudCBpZCB0byBhcHBseSBTYXBwaGlyZSBzdHlsZSBlbmNhcHN1bGF0aW9uLiBcXFxuICAgICAgVmlld0VuY2Fwc3VsYXRpb25Qcm92aWRlciBpcyBzdXBwb3NlZCB0byBiZSBhcHBsaWVkIG9ubHkgb24gY29tcG9uZW50cy5cbiAgICAgIE1ha2Ugc3VyZSBlbmNhcHN1bGF0aW9uIGlzIG5vdCBzZXQgdG8gVmlld0VuY2Fwc3VsYXRpb24uTm9uZSBpbiB5b3VyIGNvbXBvbmVudGBcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogRW5hYmxlcyB0aGUgdXNlIG9mIGNvbXBvbmVudCdzIGNzcyBjbGFzc2VzIG9uIHRoZSBob3N0IGVsZW1lbnQuIEFsc28gcHJvdmlkZXNcbiAqIGBWaWV3RW5jYXBzdWxhdGlvblByb3ZpZGVyYCB3aGljaCBhbGxvd3MgZm9yIHVzaW5nIGBVc2VDb21wb25lbnRTdHlsZXNgIGluIGNoaWxkIGNvbXBvbmVudHMuXG4gKiBNZWFudCB0byBiZSB1c2VkIGludGVybmFsbHksIGFuZCBpbiBjb21wb25lbnRzIGluIEBkYW5za2Uvc2FwcGhpcmUtYW5ndWxhci1sYWIuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIC8vIHNlbGVjdG9yIGlzIHJlcXVpcmVkIG9ubHkgYnkgdHlwZXMuIFdvdWxkIGJlIG5pY2UgdG8gYmUgYWJsZSB0byBub3Qgc2V0IGFueSBzZWxlY3RvcixcbiAgLy8gYXMgdGhpcyBkaXJlY3RpdmUgaXMgbWVhbnQgdG8gYmUgdXNlZCBvbmx5IGluIGhvc3REaXJlY3RpdmVzLiBCdXQgbm90IHNldHRpbmcgc2VsZWN0b3JcbiAgLy8gcmVzdWx0cyBpbiBidWlsZCBlcnJvci5cbiAgc2VsZWN0b3I6ICdbX3NwVXNlQ29tcG9uZW50U3R5bGVzT25Ib3N0XScsXG4gIHByb3ZpZGVyczogW1ZpZXdFbmNhcHN1bGF0aW9uUHJvdmlkZXJdLFxufSlcbmV4cG9ydCBjbGFzcyBVc2VDb21wb25lbnRTdHlsZXNPbkhvc3Qge1xuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHZpZXdFbmNhcHN1bGF0aW9uUHJvdmlkZXI6IFZpZXdFbmNhcHN1bGF0aW9uUHJvdmlkZXJcbiAgKSB7XG4gICAgdmlld0VuY2Fwc3VsYXRpb25Qcm92aWRlci5lbmFibGVTdHlsZXNPbihlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG59XG5cbi8qKlxuICogRW5hYmxlcyB0aGUgdXNlIG9mIGNzcyBjbGFzc2VzIGZyb20gcGFyZW50IGNvbXBvbmVudCdzIHN0eWxlcy4gTWVhbnQgdG8gYmUgdXNlZCBpbnRlcm5hbGx5LFxuICogYW5kIGluIGNvbXBvbmVudHMgaW4gQGRhbnNrZS9zYXBwaGlyZS1hbmd1bGFyLWxhYi5cbiAqIEBpbnRlcm5hbFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbX3NwVXNlQ29tcG9uZW50U3R5bGVzXScsXG59KVxuZXhwb3J0IGNsYXNzIFVzZUNvbXBvbmVudFN0eWxlcyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgQE9wdGlvbmFsKCkgdmlld0VuY2Fwc3VsYXRpb25Qcm92aWRlcjogVmlld0VuY2Fwc3VsYXRpb25Qcm92aWRlclxuICApIHtcbiAgICBpZiAoIXZpZXdFbmNhcHN1bGF0aW9uUHJvdmlkZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdDb3VsZCBub3QgZmluZCBwYXJlbnQgU2FwcGhpcmUgY29tcG9uZW50IHRvIGVuYWJsZSBpdHMgc3R5bGluZyBvbjonLFxuICAgICAgICBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICk7XG4gICAgfVxuICAgIHZpZXdFbmNhcHN1bGF0aW9uUHJvdmlkZXI/LmVuYWJsZVN0eWxlc09uKGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,63 @@
1
+ import { Directive, EventEmitter, Output, } from '@angular/core';
2
+ import { fromEvent } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Monitors host element's **scrolled** and **scrollable** state.
6
+ */
7
+ export class ScrollMonitorDirective {
8
+ constructor(elementRef, ngZone) {
9
+ this.elementRef = elementRef;
10
+ this.ngZone = ngZone;
11
+ this.scrolled = false;
12
+ this.scrollable = false;
13
+ this.change = new EventEmitter();
14
+ }
15
+ ngOnInit() {
16
+ this.ngZone.runOutsideAngular(() => {
17
+ this.update();
18
+ this.subscription = fromEvent(this.elementRef.nativeElement, 'scroll').subscribe(() => {
19
+ this.update();
20
+ });
21
+ /**
22
+ * ResizeObserver is not supported by IE but there is a polyfill for it
23
+ * https://www.npmjs.com/package/resize-observer-polyfill
24
+ * https://github.com/que-etc/resize-observer-polyfill
25
+ * so it is safe to use it, in case we need to support IE as well.
26
+ */
27
+ this.resizeObserver = new ResizeObserver(() => {
28
+ this.update();
29
+ });
30
+ this.resizeObserver.observe(this.elementRef.nativeElement);
31
+ });
32
+ }
33
+ ngOnDestroy() {
34
+ this.resizeObserver?.unobserve(this.elementRef.nativeElement);
35
+ this.subscription?.unsubscribe();
36
+ }
37
+ update() {
38
+ const element = this.elementRef.nativeElement;
39
+ const scrollable = element?.scrollHeight > element.offsetHeight;
40
+ const scrolled = element?.scrollTop > 0;
41
+ if (scrollable !== this.scrollable || this.scrolled !== scrolled) {
42
+ this.ngZone.run(() => {
43
+ this.scrolled = scrolled;
44
+ this.scrollable = scrollable;
45
+ this.change.emit({ scrollable, scrolled });
46
+ });
47
+ }
48
+ }
49
+ }
50
+ ScrollMonitorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ScrollMonitorDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
51
+ ScrollMonitorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ScrollMonitorDirective, isStandalone: true, selector: "[spScrollMonitor]", outputs: { change: "spScrollMonitor" }, exportAs: ["spScrollMonitor"], ngImport: i0 });
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ScrollMonitorDirective, decorators: [{
53
+ type: Directive,
54
+ args: [{
55
+ selector: '[spScrollMonitor]',
56
+ exportAs: 'spScrollMonitor',
57
+ standalone: true,
58
+ }]
59
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }]; }, propDecorators: { change: [{
60
+ type: Output,
61
+ args: ['spScrollMonitor']
62
+ }] } });
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsLW1vbml0b3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21tb24vc2Nyb2xsLW1vbml0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxFQUlaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7QUFFL0M7O0dBRUc7QUFNSCxNQUFNLE9BQU8sc0JBQXNCO0lBV2pDLFlBQW9CLFVBQXNCLEVBQVUsTUFBYztRQUE5QyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVZsRSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFHbkIsV0FBTSxHQUFHLElBQUksWUFBWSxFQUdyQixDQUFDO0lBR2dFLENBQUM7SUFFdEUsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFDN0IsUUFBUSxDQUNULENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7WUFDSDs7Ozs7ZUFLRztZQUNILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFO2dCQUM1QyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVPLE1BQU07UUFDWixNQUFNLE9BQU8sR0FBZ0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDM0QsTUFBTSxVQUFVLEdBQUcsT0FBTyxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLE9BQU8sRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBRXhDLElBQUksVUFBVSxLQUFLLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7WUFDaEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztnQkFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDN0MsQ0FBQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7O21IQXBEVSxzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUxsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtzSEFNQyxNQUFNO3NCQURMLE1BQU07dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIE1vbml0b3JzIGhvc3QgZWxlbWVudCdzICoqc2Nyb2xsZWQqKiBhbmQgKipzY3JvbGxhYmxlKiogc3RhdGUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzcFNjcm9sbE1vbml0b3JdJyxcbiAgZXhwb3J0QXM6ICdzcFNjcm9sbE1vbml0b3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTY3JvbGxNb25pdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBzY3JvbGxlZCA9IGZhbHNlO1xuICBzY3JvbGxhYmxlID0gZmFsc2U7XG5cbiAgQE91dHB1dCgnc3BTY3JvbGxNb25pdG9yJylcbiAgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgc2Nyb2xsYWJsZTogYm9vbGVhbjtcbiAgICBzY3JvbGxlZDogYm9vbGVhbjtcbiAgfT4oKTtcbiAgcHJpdmF0ZSByZXNpemVPYnNlcnZlcj86IFJlc2l6ZU9ic2VydmVyO1xuICBwcml2YXRlIHN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGZyb21FdmVudChcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICdzY3JvbGwnXG4gICAgICApLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICB9KTtcbiAgICAgIC8qKlxuICAgICAgICogUmVzaXplT2JzZXJ2ZXIgaXMgbm90IHN1cHBvcnRlZCBieSBJRSBidXQgdGhlcmUgaXMgYSBwb2x5ZmlsbCBmb3IgaXRcbiAgICAgICAqIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL3Jlc2l6ZS1vYnNlcnZlci1wb2x5ZmlsbFxuICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL3F1ZS1ldGMvcmVzaXplLW9ic2VydmVyLXBvbHlmaWxsXG4gICAgICAgKiBzbyBpdCBpcyBzYWZlIHRvIHVzZSBpdCwgaW4gY2FzZSB3ZSBuZWVkIHRvIHN1cHBvcnQgSUUgYXMgd2VsbC5cbiAgICAgICAqL1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy51bm9ic2VydmUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGUoKSB7XG4gICAgY29uc3QgZWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBzY3JvbGxhYmxlID0gZWxlbWVudD8uc2Nyb2xsSGVpZ2h0ID4gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgY29uc3Qgc2Nyb2xsZWQgPSBlbGVtZW50Py5zY3JvbGxUb3AgPiAwO1xuXG4gICAgaWYgKHNjcm9sbGFibGUgIT09IHRoaXMuc2Nyb2xsYWJsZSB8fCB0aGlzLnNjcm9sbGVkICE9PSBzY3JvbGxlZCkge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5zY3JvbGxlZCA9IHNjcm9sbGVkO1xuICAgICAgICB0aGlzLnNjcm9sbGFibGUgPSBzY3JvbGxhYmxlO1xuICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHsgc2Nyb2xsYWJsZSwgc2Nyb2xsZWQgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
2
+ export function mixinTabIndex(base, defaultTabIndex = 0) {
3
+ return class extends base {
4
+ get tabIndex() {
5
+ return this.disabled ? -1 : this._tabIndex;
6
+ }
7
+ set tabIndex(value) {
8
+ // If the specified tabIndex value is null or undefined, fall back to the default value.
9
+ this._tabIndex =
10
+ value != null ? coerceNumberProperty(value) : this.defaultTabIndex;
11
+ }
12
+ constructor(...args) {
13
+ super(...args);
14
+ this._tabIndex = defaultTabIndex;
15
+ this.defaultTabIndex = defaultTabIndex;
16
+ }
17
+ };
18
+ }
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2NvbW1vbi90YWJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQXFCN0QsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsSUFBTyxFQUNQLGVBQWUsR0FBRyxDQUFDO0lBRW5CLE9BQU8sS0FBTSxTQUFRLElBQUk7UUFJdkIsSUFBSSxRQUFRO1lBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYTtZQUN4Qix3RkFBd0Y7WUFDeEYsSUFBSSxDQUFDLFNBQVM7Z0JBQ1osS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUM7UUFDdkUsQ0FBQztRQUVELFlBQVksR0FBRyxJQUFXO1lBQ3hCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBYlQsY0FBUyxHQUFXLGVBQWUsQ0FBQztZQUM1QyxvQkFBZSxHQUFHLGVBQWUsQ0FBQztRQWFsQyxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgQWJzdHJhY3RDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3InO1xuaW1wb3J0IHsgQ2FuRGlzYWJsZSB9IGZyb20gJy4vZGlzYWJsZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhhc1RhYkluZGV4IHtcbiAgLyoqIFRhYmluZGV4IG9mIHRoZSBjb21wb25lbnQuICovXG4gIHRhYkluZGV4OiBudW1iZXI7XG5cbiAgLyoqIFRhYmluZGV4IHRvIHdoaWNoIHRvIGZhbGwgYmFjayB0byBpZiBubyB2YWx1ZSBpcyBzZXQuICovXG4gIGRlZmF1bHRUYWJJbmRleDogbnVtYmVyO1xufVxuXG50eXBlIEhhc1RhYkluZGV4Q29uc3RydWN0b3IgPSBDb25zdHJ1Y3RvcjxIYXNUYWJJbmRleD4gJlxuICBBYnN0cmFjdENvbnN0cnVjdG9yPEhhc1RhYkluZGV4PjtcblxuLyoqIE1peGluIHRvIGF1Z21lbnQgYSBkaXJlY3RpdmUgd2l0aCBhIGB0YWJJbmRleGAgcHJvcGVydHkuICovXG5leHBvcnQgZnVuY3Rpb24gbWl4aW5UYWJJbmRleDxUIGV4dGVuZHMgQWJzdHJhY3RDb25zdHJ1Y3RvcjxDYW5EaXNhYmxlPj4oXG4gIGJhc2U6IFQsXG4gIGRlZmF1bHRUYWJJbmRleD86IG51bWJlclxuKTogSGFzVGFiSW5kZXhDb25zdHJ1Y3RvciAmIFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBtaXhpblRhYkluZGV4PFQgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxDYW5EaXNhYmxlPj4oXG4gIGJhc2U6IFQsXG4gIGRlZmF1bHRUYWJJbmRleCA9IDBcbik6IEhhc1RhYkluZGV4Q29uc3RydWN0b3IgJiBUIHtcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgYmFzZSBpbXBsZW1lbnRzIEhhc1RhYkluZGV4IHtcbiAgICBwcml2YXRlIF90YWJJbmRleDogbnVtYmVyID0gZGVmYXVsdFRhYkluZGV4O1xuICAgIGRlZmF1bHRUYWJJbmRleCA9IGRlZmF1bHRUYWJJbmRleDtcblxuICAgIGdldCB0YWJJbmRleCgpOiBudW1iZXIge1xuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQgPyAtMSA6IHRoaXMuX3RhYkluZGV4O1xuICAgIH1cbiAgICBzZXQgdGFiSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgICAgLy8gSWYgdGhlIHNwZWNpZmllZCB0YWJJbmRleCB2YWx1ZSBpcyBudWxsIG9yIHVuZGVmaW5lZCwgZmFsbCBiYWNrIHRvIHRoZSBkZWZhdWx0IHZhbHVlLlxuICAgICAgdGhpcy5fdGFiSW5kZXggPVxuICAgICAgICB2YWx1ZSAhPSBudWxsID8gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpIDogdGhpcy5kZWZhdWx0VGFiSW5kZXg7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgIH1cbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,32 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, Input } from '@angular/core';
3
+ import { CoerceBoolean } from './coerce-boolean.decorator';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Hides an element visually, while keeping it visible to screen readers and
7
+ * other assistive technology
8
+ */
9
+ export class VisuallyHiddenDirective {
10
+ constructor() {
11
+ this.enabled = true;
12
+ }
13
+ }
14
+ VisuallyHiddenDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: VisuallyHiddenDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
15
+ VisuallyHiddenDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: VisuallyHiddenDirective, isStandalone: true, selector: "[spVisuallyHidden]", inputs: { enabled: ["spVisuallyHidden", "enabled"] }, host: { classAttribute: "cdk-visually-hidden" }, ngImport: i0 });
16
+ __decorate([
17
+ CoerceBoolean
18
+ ], VisuallyHiddenDirective.prototype, "enabled", void 0);
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: VisuallyHiddenDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: '[spVisuallyHidden]',
23
+ standalone: true,
24
+ host: {
25
+ class: 'cdk-visually-hidden',
26
+ },
27
+ }]
28
+ }], propDecorators: { enabled: [{
29
+ type: Input,
30
+ args: ['spVisuallyHidden']
31
+ }] } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlzdWFsbHktaGlkZGVuLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29tbW9uL3Zpc3VhbGx5LWhpZGRlbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFM0Q7OztHQUdHO0FBUUgsTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQVVFLFlBQU8sR0FBaUIsSUFBSSxDQUFDO0tBQzlCOztvSEFKWSx1QkFBdUI7d0dBQXZCLHVCQUF1QjtBQUVsQztJQURDLGFBQWE7d0RBRWU7MkZBSGxCLHVCQUF1QjtrQkFQbkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxxQkFBcUI7cUJBQzdCO2lCQUNGOzhCQUlDLE9BQU87c0JBRE4sS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2VyY2VCb29sZWFuIH0gZnJvbSAnLi9jb2VyY2UtYm9vbGVhbi5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbi8qKlxuICogSGlkZXMgYW4gZWxlbWVudCB2aXN1YWxseSwgd2hpbGUga2VlcGluZyBpdCB2aXNpYmxlIHRvIHNjcmVlbiByZWFkZXJzIGFuZFxuICogb3RoZXIgYXNzaXN0aXZlIHRlY2hub2xvZ3lcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NwVmlzdWFsbHlIaWRkZW5dJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnY2RrLXZpc3VhbGx5LWhpZGRlbicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFZpc3VhbGx5SGlkZGVuRGlyZWN0aXZlIHtcbiAgQENvZXJjZUJvb2xlYW5cbiAgQElucHV0KCdzcFZpc3VhbGx5SGlkZGVuJylcbiAgZW5hYmxlZDogQm9vbGVhbklucHV0ID0gdHJ1ZTtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export { SapphireContextualHelpModule } from './src/contextual-help.module';
2
+ export { ContextualHelpComponent, ContextualHelpFooterDirective, ContextualHelpHeaderDirective, ContextualHelpContentDirective, } from './src/contextual-help.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29udGV4dHVhbC1oZWxwL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUUsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qiw2QkFBNkIsRUFDN0IsNkJBQTZCLEVBQzdCLDhCQUE4QixHQUMvQixNQUFNLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgU2FwcGhpcmVDb250ZXh0dWFsSGVscE1vZHVsZSB9IGZyb20gJy4vc3JjL2NvbnRleHR1YWwtaGVscC5tb2R1bGUnO1xuZXhwb3J0IHtcbiAgQ29udGV4dHVhbEhlbHBDb21wb25lbnQsXG4gIENvbnRleHR1YWxIZWxwRm9vdGVyRGlyZWN0aXZlLFxuICBDb250ZXh0dWFsSGVscEhlYWRlckRpcmVjdGl2ZSxcbiAgQ29udGV4dHVhbEhlbHBDb250ZW50RGlyZWN0aXZlLFxufSBmcm9tICcuL3NyYy9jb250ZXh0dWFsLWhlbHAuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,112 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChild, Directive, Input, ViewChild, } from '@angular/core';
2
+ import { NgIf } from '@angular/common';
3
+ import { SapphireButtonModule } from '../../button/src/button.module';
4
+ import { SapphireIconModule } from '../../icon/src/icon.module';
5
+ import { SapphirePopoverModule } from '../../popover/src/popover.module';
6
+ import { PopoverTriggerDirective } from '../../popover/src/popover-trigger.directive';
7
+ import { SapphireTypographyModule } from '../../typography/src/typography.module';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../../typography/src/heading.component";
10
+ import * as i2 from "../../button/src/icon-button.component";
11
+ import * as i3 from "../../icon/src/icon.component";
12
+ import * as i4 from "../../popover/src/popover.component";
13
+ import * as i5 from "../../popover/src/popover-trigger.directive";
14
+ import * as i6 from "../../popover/src/popover-title.directive";
15
+ export class ContextualHelpHeaderDirective {
16
+ }
17
+ ContextualHelpHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ContextualHelpHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
18
+ ContextualHelpHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ContextualHelpHeaderDirective, isStandalone: true, selector: "sp-contextual-help-header", ngImport: i0 });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ContextualHelpHeaderDirective, decorators: [{
20
+ type: Directive,
21
+ args: [{
22
+ selector: 'sp-contextual-help-header',
23
+ standalone: true,
24
+ }]
25
+ }] });
26
+ export class ContextualHelpContentDirective {
27
+ }
28
+ ContextualHelpContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ContextualHelpContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
29
+ ContextualHelpContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ContextualHelpContentDirective, isStandalone: true, selector: "sp-contextual-help-content", ngImport: i0 });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ContextualHelpContentDirective, decorators: [{
31
+ type: Directive,
32
+ args: [{
33
+ selector: 'sp-contextual-help-content',
34
+ standalone: true,
35
+ }]
36
+ }] });
37
+ export class ContextualHelpFooterDirective {
38
+ }
39
+ ContextualHelpFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ContextualHelpFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
40
+ ContextualHelpFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ContextualHelpFooterDirective, isStandalone: true, selector: "sp-contextual-help-footer", ngImport: i0 });
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ContextualHelpFooterDirective, decorators: [{
42
+ type: Directive,
43
+ args: [{
44
+ selector: 'sp-contextual-help-footer',
45
+ standalone: true,
46
+ }]
47
+ }] });
48
+ export class ContextualHelpComponent {
49
+ constructor() {
50
+ /**
51
+ *
52
+ * The type of contextual help which determines the icon shown.
53
+ *
54
+ * Use "info" for brief, contextual supplemental information. The content
55
+ * inside should have an instructive tone.
56
+ *
57
+ * Use "help" variant to signal more in-depth guidance about a task or UI,
58
+ * this may include links or images or other helpful media. The content
59
+ * inside should have a helpful tone.
60
+ *
61
+ * @default 'info'
62
+ */
63
+ this.variant = 'info';
64
+ /**
65
+ * Placement of contextual help popover relative to the icon that triggers it.
66
+ */
67
+ this.placement = 'top';
68
+ }
69
+ isOpen() {
70
+ return this._trigger?.isOpen();
71
+ }
72
+ toggle() {
73
+ return this._trigger?.toggle();
74
+ }
75
+ open() {
76
+ return this._trigger?.open();
77
+ }
78
+ close() {
79
+ return this._trigger?.close();
80
+ }
81
+ }
82
+ ContextualHelpComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ContextualHelpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
83
+ ContextualHelpComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: ContextualHelpComponent, isStandalone: true, selector: "sp-contextual-help", inputs: { variant: "variant", placement: "placement", ariaLabel: ["aria-label", "ariaLabel"] }, host: { properties: { "attr.aria-label": "null" } }, queries: [{ propertyName: "_footer", first: true, predicate: ContextualHelpFooterDirective, descendants: true }, { propertyName: "_header", first: true, predicate: ContextualHelpHeaderDirective, descendants: true }], viewQueries: [{ propertyName: "_trigger", first: true, predicate: PopoverTriggerDirective, descendants: true }], ngImport: i0, template: "<button\n sp-icon-button\n size=\"extraSmall\"\n variant=\"tertiary\"\n appearance=\"ghost\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverPlacement]=\"placement\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <sp-icon\n *ngIf=\"variant === 'help'; else defaultIcon\"\n name=\"questionMarkCircle\"\n size=\"16px\"\n ></sp-icon>\n <ng-template #defaultIcon>\n <sp-icon name=\"info\"></sp-icon>\n </ng-template>\n</button>\n\n<ng-template #popover>\n <sp-popover noPadding>\n <div class=\"sapphire-contextual-help\">\n <div *ngIf=\"_header\" class=\"sapphire-contextual-help__header\">\n <h6 sp-heading spPopoverTitle>\n <ng-content select=\"sp-contextual-help-header\"></ng-content>\n </h6>\n </div>\n <ng-content select=\"sp-contextual-help-content\"></ng-content>\n <div *ngIf=\"_footer\" class=\"sapphire-contextual-help__footer\">\n <ng-content select=\"sp-contextual-help-footer\"></ng-content>\n </div>\n </div>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-contextual-help{color:var(--sapphire-contextual-help-color-content);line-height:var(--sapphire-contextual-help-size-line-height);max-width:var(--sapphire-contextual-help-size-width-max);font-family:var(--sapphire-contextual-help-font-name);font-weight:var(--sapphire-contextual-help-font-weight);font-size:var(--sapphire-contextual-help-size-font);padding:var(--sapphire-contextual-help-size-spacing-vertical) var(--sapphire-contextual-help-size-spacing-horizontal);outline:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-contextual-help__header{padding-bottom:var(--sapphire-contextual-help-size-spacing-header)}.sapphire-contextual-help__footer{padding-top:var(--sapphire-contextual-help-size-spacing-footer)}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: SapphireTypographyModule }, { kind: "component", type: i1.HeadingComponent, selector: "h1[sp-heading],h2[sp-heading],h3[sp-heading],h4[sp-heading],h5[sp-heading],h6[sp-heading]", inputs: ["sp-heading", "fontVariant"] }, { kind: "ngmodule", type: SapphireButtonModule }, { kind: "component", type: i2.IconButtonComponent, selector: "button[sp-icon-button], a[sp-icon-button]", inputs: ["variant", "appearance", "surface", "size", "disabled", "type"] }, { kind: "ngmodule", type: SapphireIconModule }, { kind: "component", type: i3.IconComponent, selector: "sp-icon", inputs: ["name", "size"] }, { kind: "ngmodule", type: SapphirePopoverModule }, { kind: "component", type: i4.PopoverComponent, selector: "sp-popover", inputs: ["noPadding", "noMaxWidth"] }, { kind: "directive", type: i5.PopoverTriggerDirective, selector: "[spPopoverTriggerFor]", inputs: ["spPopoverPlacement", "spPopoverTriggerFor", "spPopoverNonModal", "spPopoverTriggerOpenOnPressStart", "spPopoverTriggerCloseOnScroll", "spPopoverTriggerDisabled"], outputs: ["spPopoverTriggerOpened", "spPopoverTriggerClosed"], exportAs: ["spPopoverTrigger"] }, { kind: "directive", type: i6.PopoverTitleDirective, selector: "[spPopoverTitle]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ContextualHelpComponent, decorators: [{
85
+ type: Component,
86
+ args: [{ selector: 'sp-contextual-help', standalone: true, imports: [
87
+ NgIf,
88
+ SapphireTypographyModule,
89
+ SapphireButtonModule,
90
+ SapphireIconModule,
91
+ SapphirePopoverModule,
92
+ ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
93
+ '[attr.aria-label]': 'null',
94
+ }, template: "<button\n sp-icon-button\n size=\"extraSmall\"\n variant=\"tertiary\"\n appearance=\"ghost\"\n [spPopoverTriggerFor]=\"popover\"\n [spPopoverPlacement]=\"placement\"\n [attr.aria-label]=\"ariaLabel\"\n>\n <sp-icon\n *ngIf=\"variant === 'help'; else defaultIcon\"\n name=\"questionMarkCircle\"\n size=\"16px\"\n ></sp-icon>\n <ng-template #defaultIcon>\n <sp-icon name=\"info\"></sp-icon>\n </ng-template>\n</button>\n\n<ng-template #popover>\n <sp-popover noPadding>\n <div class=\"sapphire-contextual-help\">\n <div *ngIf=\"_header\" class=\"sapphire-contextual-help__header\">\n <h6 sp-heading spPopoverTitle>\n <ng-content select=\"sp-contextual-help-header\"></ng-content>\n </h6>\n </div>\n <ng-content select=\"sp-contextual-help-content\"></ng-content>\n <div *ngIf=\"_footer\" class=\"sapphire-contextual-help__footer\">\n <ng-content select=\"sp-contextual-help-footer\"></ng-content>\n </div>\n </div>\n </sp-popover>\n</ng-template>\n", styles: [".sapphire-contextual-help{color:var(--sapphire-contextual-help-color-content);line-height:var(--sapphire-contextual-help-size-line-height);max-width:var(--sapphire-contextual-help-size-width-max);font-family:var(--sapphire-contextual-help-font-name);font-weight:var(--sapphire-contextual-help-font-weight);font-size:var(--sapphire-contextual-help-size-font);padding:var(--sapphire-contextual-help-size-spacing-vertical) var(--sapphire-contextual-help-size-spacing-horizontal);outline:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-contextual-help__header{padding-bottom:var(--sapphire-contextual-help-size-spacing-header)}.sapphire-contextual-help__footer{padding-top:var(--sapphire-contextual-help-size-spacing-footer)}\n"] }]
95
+ }], propDecorators: { variant: [{
96
+ type: Input
97
+ }], placement: [{
98
+ type: Input
99
+ }], ariaLabel: [{
100
+ type: Input,
101
+ args: ['aria-label']
102
+ }], _trigger: [{
103
+ type: ViewChild,
104
+ args: [PopoverTriggerDirective]
105
+ }], _footer: [{
106
+ type: ContentChild,
107
+ args: [ContextualHelpFooterDirective]
108
+ }], _header: [{
109
+ type: ContentChild,
110
+ args: [ContextualHelpHeaderDirective]
111
+ }] } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dHVhbC1oZWxwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29udGV4dHVhbC1oZWxwL3NyYy9jb250ZXh0dWFsLWhlbHAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb250ZXh0dWFsLWhlbHAvc3JjL2NvbnRleHR1YWwtaGVscC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7OztBQU9sRixNQUFNLE9BQU8sNkJBQTZCOzswSEFBN0IsNkJBQTZCOzhHQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7O0FBTUQsTUFBTSxPQUFPLDhCQUE4Qjs7MkhBQTlCLDhCQUE4QjsrR0FBOUIsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBSjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOztBQU9ELE1BQU0sT0FBTyw2QkFBNkI7OzBIQUE3Qiw2QkFBNkI7OEdBQTdCLDZCQUE2QjsyRkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs7QUFvQkQsTUFBTSxPQUFPLHVCQUF1QjtJQWpCcEM7UUFrQkU7Ozs7Ozs7Ozs7OztXQVlHO1FBRUgsWUFBTyxHQUFvQixNQUFNLENBQUM7UUFFbEM7O1dBRUc7UUFFSCxjQUFTLEdBQWMsS0FBSyxDQUFDO0tBZ0M5QjtJQWJDLE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUNELEtBQUs7UUFDSCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQzs7b0hBcERVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLHdRQWtDcEIsNkJBQTZCLDBFQUc3Qiw2QkFBNkIsMEZBTmhDLHVCQUF1QixnRENqRnBDLHlnQ0FrQ0EsaXpCREtJLElBQUksNEZBQ0osd0JBQXdCLDhOQUN4QixvQkFBb0Isb05BQ3BCLGtCQUFrQiw0SEFDbEIscUJBQXFCOzJGQU9aLHVCQUF1QjtrQkFqQm5DLFNBQVM7K0JBQ0Usb0JBQW9CLGNBR2xCLElBQUksV0FDUDt3QkFDUCxJQUFJO3dCQUNKLHdCQUF3Qjt3QkFDeEIsb0JBQW9CO3dCQUNwQixrQkFBa0I7d0JBQ2xCLHFCQUFxQjtxQkFDdEIsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osbUJBQW1CLEVBQUUsTUFBTTtxQkFDNUI7OEJBaUJELE9BQU87c0JBRE4sS0FBSztnQkFPTixTQUFTO3NCQURSLEtBQUs7Z0JBU04sU0FBUztzQkFEUixLQUFLO3VCQUFDLFlBQVk7Z0JBSW5CLFFBQVE7c0JBRFAsU0FBUzt1QkFBQyx1QkFBdUI7Z0JBSWxDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyw2QkFBNkI7Z0JBSTNDLE9BQU87c0JBRE4sWUFBWTt1QkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIERpcmVjdGl2ZSxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFNhcHBoaXJlQnV0dG9uTW9kdWxlIH0gZnJvbSAnLi4vLi4vYnV0dG9uL3NyYy9idXR0b24ubW9kdWxlJztcbmltcG9ydCB7IFNhcHBoaXJlSWNvbk1vZHVsZSB9IGZyb20gJy4uLy4uL2ljb24vc3JjL2ljb24ubW9kdWxlJztcbmltcG9ydCB7IFNhcHBoaXJlUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4uLy4uL3BvcG92ZXIvc3JjL3BvcG92ZXIubW9kdWxlJztcbmltcG9ydCB7IFBvcG92ZXJUcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vcG9wb3Zlci9zcmMvcG9wb3Zlci10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTYXBwaGlyZVR5cG9ncmFwaHlNb2R1bGUgfSBmcm9tICcuLi8uLi90eXBvZ3JhcGh5L3NyYy90eXBvZ3JhcGh5Lm1vZHVsZSc7XG5pbXBvcnQgeyBQbGFjZW1lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vcGxhY2VtZW50JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3AtY29udGV4dHVhbC1oZWxwLWhlYWRlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENvbnRleHR1YWxIZWxwSGVhZGVyRGlyZWN0aXZlIHt9XG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdzcC1jb250ZXh0dWFsLWhlbHAtY29udGVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIENvbnRleHR1YWxIZWxwQ29udGVudERpcmVjdGl2ZSB7fVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdzcC1jb250ZXh0dWFsLWhlbHAtZm9vdGVyJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQ29udGV4dHVhbEhlbHBGb290ZXJEaXJlY3RpdmUge31cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3AtY29udGV4dHVhbC1oZWxwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRleHR1YWwtaGVscC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbnRleHR1YWwtaGVscC5jb21wb25lbnQuc2NzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBTYXBwaGlyZVR5cG9ncmFwaHlNb2R1bGUsXG4gICAgU2FwcGhpcmVCdXR0b25Nb2R1bGUsXG4gICAgU2FwcGhpcmVJY29uTW9kdWxlLFxuICAgIFNhcHBoaXJlUG9wb3Zlck1vZHVsZSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnbnVsbCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRleHR1YWxIZWxwQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqXG4gICAqIFRoZSB0eXBlIG9mIGNvbnRleHR1YWwgaGVscCB3aGljaCBkZXRlcm1pbmVzIHRoZSBpY29uIHNob3duLlxuICAgKlxuICAgKiBVc2UgXCJpbmZvXCIgZm9yIGJyaWVmLCBjb250ZXh0dWFsIHN1cHBsZW1lbnRhbCBpbmZvcm1hdGlvbi4gVGhlIGNvbnRlbnRcbiAgICogaW5zaWRlIHNob3VsZCBoYXZlIGFuIGluc3RydWN0aXZlIHRvbmUuXG4gICAqXG4gICAqIFVzZSBcImhlbHBcIiB2YXJpYW50IHRvIHNpZ25hbCBtb3JlIGluLWRlcHRoIGd1aWRhbmNlIGFib3V0IGEgdGFzayBvciBVSSxcbiAgICogdGhpcyBtYXkgaW5jbHVkZSBsaW5rcyBvciBpbWFnZXMgb3Igb3RoZXIgaGVscGZ1bCBtZWRpYS4gVGhlIGNvbnRlbnRcbiAgICogaW5zaWRlIHNob3VsZCBoYXZlIGEgaGVscGZ1bCB0b25lLlxuICAgKlxuICAgKiBAZGVmYXVsdCAnaW5mbydcbiAgICovXG4gIEBJbnB1dCgpXG4gIHZhcmlhbnQ6ICdpbmZvJyB8ICdoZWxwJyA9ICdpbmZvJztcblxuICAvKipcbiAgICogUGxhY2VtZW50IG9mIGNvbnRleHR1YWwgaGVscCBwb3BvdmVyIHJlbGF0aXZlIHRvIHRoZSBpY29uIHRoYXQgdHJpZ2dlcnMgaXQuXG4gICAqL1xuICBASW5wdXQoKVxuICBwbGFjZW1lbnQ6IFBsYWNlbWVudCA9ICd0b3AnO1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgZm9yIHRoZSB0cmlnZ2VyIG9mIHRoZSBjb250ZXh0dWFsIGhlbHAgZGlhbG9nLlxuICAgKiBUaGlzIHdpbGwgTk9UIGJlIHJlbmRlcmVkIG9uIHRoZSBzY3JlZW4sIGJ1dCBpdCBpcyByZXF1aXJlZFxuICAgKiBmb3IgYWNjZXNzaWJpbGl0eSByZWFzb25zLlxuICAgKi9cbiAgQElucHV0KCdhcmlhLWxhYmVsJylcbiAgYXJpYUxhYmVsITogc3RyaW5nO1xuXG4gIEBWaWV3Q2hpbGQoUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmUpXG4gIF90cmlnZ2VyPzogUG9wb3ZlclRyaWdnZXJEaXJlY3RpdmU7XG5cbiAgQENvbnRlbnRDaGlsZChDb250ZXh0dWFsSGVscEZvb3RlckRpcmVjdGl2ZSlcbiAgX2Zvb3Rlcj86IENvbnRleHR1YWxIZWxwRm9vdGVyRGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGQoQ29udGV4dHVhbEhlbHBIZWFkZXJEaXJlY3RpdmUpXG4gIF9oZWFkZXI/OiBDb250ZXh0dWFsSGVscEhlYWRlckRpcmVjdGl2ZTtcblxuICBpc09wZW4oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXI/LmlzT3BlbigpO1xuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyPy50b2dnbGUoKTtcbiAgfVxuICBvcGVuKCkge1xuICAgIHJldHVybiB0aGlzLl90cmlnZ2VyPy5vcGVuKCk7XG4gIH1cbiAgY2xvc2UoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXI/LmNsb3NlKCk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgc3AtaWNvbi1idXR0b25cbiAgc2l6ZT1cImV4dHJhU21hbGxcIlxuICB2YXJpYW50PVwidGVydGlhcnlcIlxuICBhcHBlYXJhbmNlPVwiZ2hvc3RcIlxuICBbc3BQb3BvdmVyVHJpZ2dlckZvcl09XCJwb3BvdmVyXCJcbiAgW3NwUG9wb3ZlclBsYWNlbWVudF09XCJwbGFjZW1lbnRcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4+XG4gIDxzcC1pY29uXG4gICAgKm5nSWY9XCJ2YXJpYW50ID09PSAnaGVscCc7IGVsc2UgZGVmYXVsdEljb25cIlxuICAgIG5hbWU9XCJxdWVzdGlvbk1hcmtDaXJjbGVcIlxuICAgIHNpemU9XCIxNnB4XCJcbiAgPjwvc3AtaWNvbj5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0SWNvbj5cbiAgICA8c3AtaWNvbiBuYW1lPVwiaW5mb1wiPjwvc3AtaWNvbj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvYnV0dG9uPlxuXG48bmctdGVtcGxhdGUgI3BvcG92ZXI+XG4gIDxzcC1wb3BvdmVyIG5vUGFkZGluZz5cbiAgICA8ZGl2IGNsYXNzPVwic2FwcGhpcmUtY29udGV4dHVhbC1oZWxwXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwiX2hlYWRlclwiIGNsYXNzPVwic2FwcGhpcmUtY29udGV4dHVhbC1oZWxwX19oZWFkZXJcIj5cbiAgICAgICAgPGg2IHNwLWhlYWRpbmcgc3BQb3BvdmVyVGl0bGU+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3AtY29udGV4dHVhbC1oZWxwLWhlYWRlclwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9oNj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3AtY29udGV4dHVhbC1oZWxwLWNvbnRlbnRcIj48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2ICpuZ0lmPVwiX2Zvb3RlclwiIGNsYXNzPVwic2FwcGhpcmUtY29udGV4dHVhbC1oZWxwX19mb290ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic3AtY29udGV4dHVhbC1oZWxwLWZvb3RlclwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3NwLXBvcG92ZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,33 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { ContextualHelpComponent, ContextualHelpContentDirective, ContextualHelpFooterDirective, ContextualHelpHeaderDirective, } from './contextual-help.component';
3
+ import * as i0 from "@angular/core";
4
+ export class SapphireContextualHelpModule {
5
+ }
6
+ SapphireContextualHelpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireContextualHelpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ SapphireContextualHelpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: SapphireContextualHelpModule, imports: [ContextualHelpComponent,
8
+ ContextualHelpHeaderDirective,
9
+ ContextualHelpContentDirective,
10
+ ContextualHelpFooterDirective], exports: [ContextualHelpComponent,
11
+ ContextualHelpHeaderDirective,
12
+ ContextualHelpContentDirective,
13
+ ContextualHelpFooterDirective] });
14
+ SapphireContextualHelpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireContextualHelpModule, imports: [ContextualHelpComponent] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireContextualHelpModule, decorators: [{
16
+ type: NgModule,
17
+ args: [{
18
+ declarations: [],
19
+ imports: [
20
+ ContextualHelpComponent,
21
+ ContextualHelpHeaderDirective,
22
+ ContextualHelpContentDirective,
23
+ ContextualHelpFooterDirective,
24
+ ],
25
+ exports: [
26
+ ContextualHelpComponent,
27
+ ContextualHelpHeaderDirective,
28
+ ContextualHelpContentDirective,
29
+ ContextualHelpFooterDirective,
30
+ ],
31
+ }]
32
+ }] });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dHVhbC1oZWxwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29udGV4dHVhbC1oZWxwL3NyYy9jb250ZXh0dWFsLWhlbHAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLHVCQUF1QixFQUN2Qiw4QkFBOEIsRUFDOUIsNkJBQTZCLEVBQzdCLDZCQUE2QixHQUM5QixNQUFNLDZCQUE2QixDQUFDOztBQWlCckMsTUFBTSxPQUFPLDRCQUE0Qjs7eUhBQTVCLDRCQUE0QjswSEFBNUIsNEJBQTRCLFlBWnJDLHVCQUF1QjtRQUN2Qiw2QkFBNkI7UUFDN0IsOEJBQThCO1FBQzlCLDZCQUE2QixhQUc3Qix1QkFBdUI7UUFDdkIsNkJBQTZCO1FBQzdCLDhCQUE4QjtRQUM5Qiw2QkFBNkI7MEhBR3BCLDRCQUE0QixZQVpyQyx1QkFBdUI7MkZBWWQsNEJBQTRCO2tCQWZ4QyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDhCQUE4Qjt3QkFDOUIsNkJBQTZCO3FCQUM5QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLDhCQUE4Qjt3QkFDOUIsNkJBQTZCO3FCQUM5QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250ZXh0dWFsSGVscENvbXBvbmVudCxcbiAgQ29udGV4dHVhbEhlbHBDb250ZW50RGlyZWN0aXZlLFxuICBDb250ZXh0dWFsSGVscEZvb3RlckRpcmVjdGl2ZSxcbiAgQ29udGV4dHVhbEhlbHBIZWFkZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vY29udGV4dHVhbC1oZWxwLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtcbiAgICBDb250ZXh0dWFsSGVscENvbXBvbmVudCxcbiAgICBDb250ZXh0dWFsSGVscEhlYWRlckRpcmVjdGl2ZSxcbiAgICBDb250ZXh0dWFsSGVscENvbnRlbnREaXJlY3RpdmUsXG4gICAgQ29udGV4dHVhbEhlbHBGb290ZXJEaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBDb250ZXh0dWFsSGVscENvbXBvbmVudCxcbiAgICBDb250ZXh0dWFsSGVscEhlYWRlckRpcmVjdGl2ZSxcbiAgICBDb250ZXh0dWFsSGVscENvbnRlbnREaXJlY3RpdmUsXG4gICAgQ29udGV4dHVhbEhlbHBGb290ZXJEaXJlY3RpdmUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNhcHBoaXJlQ29udGV4dHVhbEhlbHBNb2R1bGUge31cbiJdfQ==