@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,26 @@
1
+ import { Directive } from '@angular/core';
2
+ import { UseComponentStyles } from '../../common/sapphire-view-encapsulation';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../common/sapphire-view-encapsulation";
5
+ export class TextFieldAffixDirective {
6
+ isTextNode() {
7
+ return (this._elementRef?.nativeElement.firstChild?.nodeType === Node.TEXT_NODE);
8
+ }
9
+ constructor(_elementRef) {
10
+ this._elementRef = _elementRef;
11
+ }
12
+ }
13
+ TextFieldAffixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldAffixDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
14
+ TextFieldAffixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: TextFieldAffixDirective, selector: "sp-text-field-prefix, sp-text-field-postfix", host: { properties: { "class.sapphire-text-field__affix--icon": "!isTextNode()" }, classAttribute: "sapphire-text-field__affix" }, hostDirectives: [{ directive: i1.UseComponentStyles }], ngImport: i0 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldAffixDirective, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ selector: 'sp-text-field-prefix, sp-text-field-postfix',
19
+ host: {
20
+ class: 'sapphire-text-field__affix',
21
+ '[class.sapphire-text-field__affix--icon]': '!isTextNode()',
22
+ },
23
+ hostDirectives: [UseComponentStyles],
24
+ }]
25
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC1hZmZpeC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3RleHQtZmllbGQvc3JjL3RleHQtZmllbGQtYWZmaXguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMENBQTBDLENBQUM7OztBQVU5RSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFVBQVU7UUFDUixPQUFPLENBQ0wsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLENBQUMsVUFBVSxFQUFFLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUN4RSxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQW9CLFdBQW9DO1FBQXBDLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtJQUFHLENBQUM7O29IQVBqRCx1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQVJuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2Q0FBNkM7b0JBQ3ZELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsNEJBQTRCO3dCQUNuQywwQ0FBMEMsRUFBRSxlQUFlO3FCQUM1RDtvQkFDRCxjQUFjLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlcyB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdzcC10ZXh0LWZpZWxkLXByZWZpeCwgc3AtdGV4dC1maWVsZC1wb3N0Zml4JyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnc2FwcGhpcmUtdGV4dC1maWVsZF9fYWZmaXgnLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtdGV4dC1maWVsZF9fYWZmaXgtLWljb25dJzogJyFpc1RleHROb2RlKCknLFxuICB9LFxuICBob3N0RGlyZWN0aXZlczogW1VzZUNvbXBvbmVudFN0eWxlc10sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZEFmZml4RGlyZWN0aXZlIHtcbiAgaXNUZXh0Tm9kZSgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5fZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudC5maXJzdENoaWxkPy5ub2RlVHlwZSA9PT0gTm9kZS5URVhUX05PREVcbiAgICApO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG59XG4iXX0=
@@ -0,0 +1,51 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, HostListener, Input, } from '@angular/core';
3
+ import { AutoId } from '../../common/auto-id.decorator';
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 "../../common/sapphire-view-encapsulation";
8
+ export class TextFieldInputDirective {
9
+ ngDoCheck() {
10
+ this.valueLength = this._elementRef.nativeElement.value.length;
11
+ }
12
+ constructor(_elementRef) {
13
+ this._elementRef = _elementRef;
14
+ this.id = '';
15
+ this.disabled = false;
16
+ this.required = '';
17
+ this.valueLength = 0;
18
+ const element = this._elementRef.nativeElement;
19
+ this.valueLength = element.value.length;
20
+ this.textarea = element.nodeName.toLowerCase() === 'textarea';
21
+ }
22
+ }
23
+ TextFieldInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldInputDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
24
+ TextFieldInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: TextFieldInputDirective, selector: "[spTextFieldInput]", inputs: { id: "id", disabled: "disabled", required: "required" }, host: { listeners: { "input": "ngDoCheck($event.target.value)" }, properties: { "id": "id" }, classAttribute: "sapphire-text-field__input" }, hostDirectives: [{ directive: i1.UseComponentStyles }], ngImport: i0 });
25
+ __decorate([
26
+ AutoId()
27
+ ], TextFieldInputDirective.prototype, "id", void 0);
28
+ __decorate([
29
+ CoerceBoolean
30
+ ], TextFieldInputDirective.prototype, "required", void 0);
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldInputDirective, decorators: [{
32
+ type: Directive,
33
+ args: [{
34
+ selector: '[spTextFieldInput]',
35
+ host: {
36
+ '[id]': 'id',
37
+ class: 'sapphire-text-field__input',
38
+ },
39
+ hostDirectives: [UseComponentStyles],
40
+ }]
41
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { id: [{
42
+ type: Input
43
+ }], disabled: [{
44
+ type: Input
45
+ }], required: [{
46
+ type: Input
47
+ }], ngDoCheck: [{
48
+ type: HostListener,
49
+ args: ['input', ['$event.target.value']]
50
+ }] } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC1pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3RleHQtZmllbGQvc3JjL3RleHQtZmllbGQtaW5wdXQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUdULFlBQVksRUFDWixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7O0FBVTlFLE1BQU0sT0FBTyx1QkFBdUI7SUFpQmxDLFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7SUFDakUsQ0FBQztJQUVELFlBQ1UsV0FBK0Q7UUFBL0QsZ0JBQVcsR0FBWCxXQUFXLENBQW9EO1FBakJ6RSxPQUFFLEdBQVcsRUFBRSxDQUFDO1FBR2hCLGFBQVEsR0FBaUIsS0FBSyxDQUFDO1FBSS9CLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFFZixnQkFBVyxHQUFXLENBQUMsQ0FBQztRQVU3QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsS0FBSyxVQUFVLENBQUM7SUFDaEUsQ0FBQzs7b0hBM0JVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCO0FBS2xDO0lBREMsTUFBTSxFQUFFO21EQUNPO0FBT2hCO0lBREMsYUFBYTt5REFDUTsyRkFaWCx1QkFBdUI7a0JBUm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsSUFBSSxFQUFFO3dCQUNKLE1BQU0sRUFBRSxJQUFJO3dCQUNaLEtBQUssRUFBRSw0QkFBNEI7cUJBQ3BDO29CQUNELGNBQWMsRUFBRSxDQUFDLGtCQUFrQixDQUFDO2lCQUNyQztpR0FNQyxFQUFFO3NCQUZELEtBQUs7Z0JBS04sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLFFBQVE7c0JBRlAsS0FBSztnQkFPTixTQUFTO3NCQURSLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBdXRvSWQgfSBmcm9tICcuLi8uLi9jb21tb24vYXV0by1pZC5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ29lcmNlQm9vbGVhbiB9IGZyb20gJy4uLy4uL2NvbW1vbi9jb2VyY2UtYm9vbGVhbi5kZWNvcmF0b3InO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IFVzZUNvbXBvbmVudFN0eWxlcyB9IGZyb20gJy4uLy4uL2NvbW1vbi9zYXBwaGlyZS12aWV3LWVuY2Fwc3VsYXRpb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbc3BUZXh0RmllbGRJbnB1dF0nLFxuICBob3N0OiB7XG4gICAgJ1tpZF0nOiAnaWQnLFxuICAgIGNsYXNzOiAnc2FwcGhpcmUtdGV4dC1maWVsZF9faW5wdXQnLFxuICB9LFxuICBob3N0RGlyZWN0aXZlczogW1VzZUNvbXBvbmVudFN0eWxlc10sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRGaWVsZElucHV0RGlyZWN0aXZlIGltcGxlbWVudHMgRG9DaGVjayB7XG4gIHJlYWRvbmx5IHRleHRhcmVhOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIEBBdXRvSWQoKVxuICBpZDogc3RyaW5nID0gJyc7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IEJvb2xlYW5JbnB1dCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIEBDb2VyY2VCb29sZWFuXG4gIHJlcXVpcmVkOiBzdHJpbmcgPSAnJztcblxuICBwdWJsaWMgdmFsdWVMZW5ndGg6IG51bWJlciA9IDA7XG5cbiAgQEhvc3RMaXN0ZW5lcignaW5wdXQnLCBbJyRldmVudC50YXJnZXQudmFsdWUnXSlcbiAgbmdEb0NoZWNrKCkge1xuICAgIHRoaXMudmFsdWVMZW5ndGggPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50IHwgSFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB0aGlzLnZhbHVlTGVuZ3RoID0gZWxlbWVudC52YWx1ZS5sZW5ndGg7XG4gICAgdGhpcy50ZXh0YXJlYSA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3RleHRhcmVhJztcbiAgfVxufVxuIl19
@@ -0,0 +1,13 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TextFieldPostfixDirective {
4
+ }
5
+ TextFieldPostfixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldPostfixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ TextFieldPostfixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: TextFieldPostfixDirective, selector: "sp-text-field-postfix", ngImport: i0 });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldPostfixDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: 'sp-text-field-postfix',
11
+ }]
12
+ }] });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC1wb3N0Zml4LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdGV4dC1maWVsZC9zcmMvdGV4dC1maWVsZC1wb3N0Zml4LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUsxQyxNQUFNLE9BQU8seUJBQXlCOztzSEFBekIseUJBQXlCOzBHQUF6Qix5QkFBeUI7MkZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdzcC10ZXh0LWZpZWxkLXBvc3RmaXgnLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0RmllbGRQb3N0Zml4RGlyZWN0aXZlIHt9XG4iXX0=
@@ -0,0 +1,13 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class TextFieldPrefixDirective {
4
+ }
5
+ TextFieldPrefixDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldPrefixDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
6
+ TextFieldPrefixDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: TextFieldPrefixDirective, selector: "sp-text-field-prefix", ngImport: i0 });
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldPrefixDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: 'sp-text-field-prefix',
11
+ }]
12
+ }] });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC1wcmVmaXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi90ZXh0LWZpZWxkL3NyYy90ZXh0LWZpZWxkLXByZWZpeC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLMUMsTUFBTSxPQUFPLHdCQUF3Qjs7cUhBQXhCLHdCQUF3Qjt5R0FBeEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnc3AtdGV4dC1maWVsZC1wcmVmaXgnLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0RmllbGRQcmVmaXhEaXJlY3RpdmUge31cbiJdfQ==
@@ -0,0 +1,73 @@
1
+ import { coerceBooleanProperty, coerceNumberProperty, } from '@angular/cdk/coercion';
2
+ import { Directive, Input } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export class TextFieldTextareaAutosizeDirective {
5
+ get minRows() {
6
+ return this._minRows;
7
+ }
8
+ set minRows(value) {
9
+ this._minRows = coerceNumberProperty(value);
10
+ this.updateHeight();
11
+ }
12
+ get maxRows() {
13
+ return this._maxRows;
14
+ }
15
+ set maxRows(value) {
16
+ this._maxRows = coerceNumberProperty(value);
17
+ this.updateHeight();
18
+ }
19
+ get enabled() {
20
+ return this._enabled;
21
+ }
22
+ set enabled(value) {
23
+ this._enabled = coerceBooleanProperty(value);
24
+ this.updateHeight();
25
+ }
26
+ constructor(_elementRef) {
27
+ this._elementRef = _elementRef;
28
+ this._maxRows = Infinity;
29
+ this._enabled = true;
30
+ }
31
+ ngDoCheck() {
32
+ this.updateHeight();
33
+ }
34
+ updateHeight() {
35
+ if (this.enabled) {
36
+ const textareaElement = this._elementRef.nativeElement;
37
+ const { lineHeight, paddingTop, paddingBottom } = window.getComputedStyle(textareaElement);
38
+ const getTotalHeight = (rowCount) => {
39
+ return (parseInt(lineHeight, 10) * rowCount +
40
+ parseInt(paddingTop, 10) +
41
+ parseInt(paddingBottom, 10));
42
+ };
43
+ const minHeight = this._minRows ? getTotalHeight(this._minRows) : 1;
44
+ const maxHeight = this._maxRows
45
+ ? getTotalHeight(this._maxRows)
46
+ : Infinity;
47
+ textareaElement.style.height = 'auto';
48
+ const clampedHeight = Math.max(Math.min(textareaElement.scrollHeight, maxHeight), minHeight);
49
+ textareaElement.style.height = `${clampedHeight}px`;
50
+ }
51
+ }
52
+ }
53
+ TextFieldTextareaAutosizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldTextareaAutosizeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
54
+ TextFieldTextareaAutosizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: TextFieldTextareaAutosizeDirective, selector: "textarea[spTextareaAutosize]", inputs: { minRows: ["spTextareaAutosizeMinRows", "minRows"], maxRows: ["spTextareaAutosizeMaxRows", "maxRows"], enabled: ["spTextareaAutosizeEnabled", "enabled"] }, host: { properties: { "rows": "enabled && minRows && minRows < 2 ? 1 : undefined" } }, ngImport: i0 });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldTextareaAutosizeDirective, decorators: [{
56
+ type: Directive,
57
+ args: [{
58
+ selector: 'textarea[spTextareaAutosize]',
59
+ host: {
60
+ '[rows]': 'enabled && minRows && minRows < 2 ? 1 : undefined',
61
+ },
62
+ }]
63
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { minRows: [{
64
+ type: Input,
65
+ args: ['spTextareaAutosizeMinRows']
66
+ }], maxRows: [{
67
+ type: Input,
68
+ args: ['spTextareaAutosizeMaxRows']
69
+ }], enabled: [{
70
+ type: Input,
71
+ args: ['spTextareaAutosizeEnabled']
72
+ }] } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC10ZXh0YXJlYS1hdXRvc2l6ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3RleHQtZmllbGQvc3JjL3RleHQtZmllbGQtdGV4dGFyZWEtYXV0b3NpemUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxxQkFBcUIsRUFDckIsb0JBQW9CLEdBQ3JCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTdELE1BQU0sT0FBTyxrQ0FBa0M7SUFLN0MsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFrQjtRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFrQjtRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFtQjtRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBb0IsV0FBNEM7UUFBNUMsZ0JBQVcsR0FBWCxXQUFXLENBQWlDO1FBOUJ4RCxhQUFRLEdBQXVCLFFBQVEsQ0FBQztRQUN4QyxhQUFRLEdBQVksSUFBSSxDQUFDO0lBNkJrQyxDQUFDO0lBRXBFLFNBQVM7UUFDUCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1lBQ3ZELE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUM3QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDM0MsTUFBTSxjQUFjLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7Z0JBQzFDLE9BQU8sQ0FDTCxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLFFBQVE7b0JBQ25DLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO29CQUN4QixRQUFRLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUM1QixDQUFDO1lBQ0osQ0FBQyxDQUFDO1lBRUYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRO2dCQUM3QixDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDYixlQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDdEMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxFQUNqRCxTQUFTLENBQ1YsQ0FBQztZQUNGLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsYUFBYSxJQUFJLENBQUM7U0FDckQ7SUFDSCxDQUFDOzsrSEE5RFUsa0NBQWtDO21IQUFsQyxrQ0FBa0M7MkZBQWxDLGtDQUFrQztrQkFOOUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsOEJBQThCO29CQUN4QyxJQUFJLEVBQUU7d0JBQ0osUUFBUSxFQUFFLG1EQUFtRDtxQkFDOUQ7aUJBQ0Y7aUdBT0ssT0FBTztzQkFEVixLQUFLO3VCQUFDLDJCQUEyQjtnQkFVOUIsT0FBTztzQkFEVixLQUFLO3VCQUFDLDJCQUEyQjtnQkFVOUIsT0FBTztzQkFEVixLQUFLO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJvb2xlYW5JbnB1dCxcbiAgTnVtYmVySW5wdXQsXG4gIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSxcbiAgY29lcmNlTnVtYmVyUHJvcGVydHksXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3RleHRhcmVhW3NwVGV4dGFyZWFBdXRvc2l6ZV0nLFxuICBob3N0OiB7XG4gICAgJ1tyb3dzXSc6ICdlbmFibGVkICYmIG1pblJvd3MgJiYgbWluUm93cyA8IDIgPyAxIDogdW5kZWZpbmVkJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVGV4dEZpZWxkVGV4dGFyZWFBdXRvc2l6ZURpcmVjdGl2ZSB7XG4gIHByaXZhdGUgX21pblJvd3M6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcHJpdmF0ZSBfbWF4Um93czogbnVtYmVyIHwgdW5kZWZpbmVkID0gSW5maW5pdHk7XG4gIHByaXZhdGUgX2VuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgnc3BUZXh0YXJlYUF1dG9zaXplTWluUm93cycpXG4gIGdldCBtaW5Sb3dzKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX21pblJvd3M7XG4gIH1cbiAgc2V0IG1pblJvd3ModmFsdWU6IE51bWJlcklucHV0KSB7XG4gICAgdGhpcy5fbWluUm93cyA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICB0aGlzLnVwZGF0ZUhlaWdodCgpO1xuICB9XG5cbiAgQElucHV0KCdzcFRleHRhcmVhQXV0b3NpemVNYXhSb3dzJylcbiAgZ2V0IG1heFJvd3MoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fbWF4Um93cztcbiAgfVxuICBzZXQgbWF4Um93cyh2YWx1ZTogTnVtYmVySW5wdXQpIHtcbiAgICB0aGlzLl9tYXhSb3dzID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgIHRoaXMudXBkYXRlSGVpZ2h0KCk7XG4gIH1cblxuICBASW5wdXQoJ3NwVGV4dGFyZWFBdXRvc2l6ZUVuYWJsZWQnKVxuICBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgfVxuICBzZXQgZW5hYmxlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XG4gICAgdGhpcy5fZW5hYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgdGhpcy51cGRhdGVIZWlnaHQoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4pIHt9XG5cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlSGVpZ2h0KCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUhlaWdodCgpIHtcbiAgICBpZiAodGhpcy5lbmFibGVkKSB7XG4gICAgICBjb25zdCB0ZXh0YXJlYUVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCB7IGxpbmVIZWlnaHQsIHBhZGRpbmdUb3AsIHBhZGRpbmdCb3R0b20gfSA9XG4gICAgICAgIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRleHRhcmVhRWxlbWVudCk7XG4gICAgICBjb25zdCBnZXRUb3RhbEhlaWdodCA9IChyb3dDb3VudDogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgcGFyc2VJbnQobGluZUhlaWdodCwgMTApICogcm93Q291bnQgK1xuICAgICAgICAgIHBhcnNlSW50KHBhZGRpbmdUb3AsIDEwKSArXG4gICAgICAgICAgcGFyc2VJbnQocGFkZGluZ0JvdHRvbSwgMTApXG4gICAgICAgICk7XG4gICAgICB9O1xuXG4gICAgICBjb25zdCBtaW5IZWlnaHQgPSB0aGlzLl9taW5Sb3dzID8gZ2V0VG90YWxIZWlnaHQodGhpcy5fbWluUm93cykgOiAxO1xuICAgICAgY29uc3QgbWF4SGVpZ2h0ID0gdGhpcy5fbWF4Um93c1xuICAgICAgICA/IGdldFRvdGFsSGVpZ2h0KHRoaXMuX21heFJvd3MpXG4gICAgICAgIDogSW5maW5pdHk7XG4gICAgICB0ZXh0YXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gJ2F1dG8nO1xuICAgICAgY29uc3QgY2xhbXBlZEhlaWdodCA9IE1hdGgubWF4KFxuICAgICAgICBNYXRoLm1pbih0ZXh0YXJlYUVsZW1lbnQuc2Nyb2xsSGVpZ2h0LCBtYXhIZWlnaHQpLFxuICAgICAgICBtaW5IZWlnaHRcbiAgICAgICk7XG4gICAgICB0ZXh0YXJlYUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7Y2xhbXBlZEhlaWdodH1weGA7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,78 @@
1
+ import { Component, ContentChild, ElementRef, forwardRef, Input, Optional, } from '@angular/core';
2
+ import { coerceBooleanProperty, coerceNumberProperty, } from '@angular/cdk/coercion';
3
+ import { ThemeCheckDirective } from '../../theme/src/theme-check.directive';
4
+ import { FieldControl } from '../../field/public_api';
5
+ import { TextFieldInputDirective } from './text-field-input.directive';
6
+ import { TextFieldPrefixDirective } from './text-field-prefix.directive';
7
+ import { TextFieldPostfixDirective } from './text-field-postfix.directive';
8
+ import { UseComponentStylesOnHost } from '../../common/sapphire-view-encapsulation';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "../../field/public_api";
11
+ import * as i2 from "../../theme/src/theme-check.directive";
12
+ import * as i3 from "../../common/sapphire-view-encapsulation";
13
+ import * as i4 from "@angular/common";
14
+ import * as i5 from "../../field/src/field-note-suffix.directive";
15
+ export class TextFieldComponent {
16
+ constructor(field) {
17
+ this.field = field;
18
+ }
19
+ isCharacterCounterExceeded() {
20
+ return ((this._inputDirective?.valueLength ?? 0) >
21
+ coerceNumberProperty(this.characterCounterMax));
22
+ }
23
+ hasPrefix() {
24
+ return Boolean(this.prefixDirective);
25
+ }
26
+ hasPostfix() {
27
+ return Boolean(this.postfixDirective);
28
+ }
29
+ isDisabled() {
30
+ return coerceBooleanProperty(this._inputDirective?.disabled);
31
+ }
32
+ getId() {
33
+ return this._inputDirective?.id;
34
+ }
35
+ }
36
+ TextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldComponent, deps: [{ token: i1.FieldComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
37
+ TextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.0", type: TextFieldComponent, selector: "sp-text-field", inputs: { characterCounterMax: "characterCounterMax" }, host: { properties: { "class.sapphire-text-field--multiline": "_inputDirective.textarea", "class.sapphire-text-field--error": "field?.hasError()", "class.sapphire-text-field--with-prefix": "hasPrefix()", "class.sapphire-text-field--with-postfix": "hasPostfix()", "class.sapphire-text-field--medium": "field?.size === \"medium\"" }, classAttribute: "sapphire-text-field" }, providers: [
38
+ {
39
+ provide: FieldControl,
40
+ useExisting: forwardRef(() => TextFieldComponent),
41
+ },
42
+ ], queries: [{ propertyName: "inputElement", first: true, predicate: TextFieldInputDirective, descendants: true, read: ElementRef }, { propertyName: "_inputDirective", first: true, predicate: TextFieldInputDirective, descendants: true }, { propertyName: "prefixDirective", first: true, predicate: TextFieldPrefixDirective, descendants: true }, { propertyName: "postfixDirective", first: true, predicate: TextFieldPostfixDirective, descendants: true }], hostDirectives: [{ directive: i2.ThemeCheckDirective }, { directive: i3.UseComponentStylesOnHost }], ngImport: i0, template: "<ng-content\n select=\"sp-text-field-prefix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"input\"></ng-content>\n<ng-content\n select=\"sp-text-field-postfix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"textarea\"></ng-content>\n\n<span\n *ngIf=\"characterCounterMax !== undefined\"\n spFieldNoteSuffix\n class=\"sapphire-text-field__counter\"\n [class.sapphire-text-field__counter--error]=\"isCharacterCounterExceeded()\"\n >{{ _inputDirective?.valueLength }}/{{ characterCounterMax }}</span\n>\n", styles: [".sapphire-text-field{width:var(--sapphire-text-field-size-width-control);box-shadow:inset 0 0 0 var(--sapphire-text-field-size-width-border) var(--sapphire-text-field-color-border-default);box-sizing:border-box;display:flex;align-items:center;border-radius:var(--sapphire-text-field-size-radius);cursor:text;color:var(--sapphire-text-field-color-content);background-color:var(--sapphire-text-field-color-background);height:var(--sapphire-text-field-size-height-field-l);font-family:var(--sapphire-text-field-font-name);font-size:var(--sapphire-text-field-size-font-content-l);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text-field--medium{height:var(--sapphire-text-field-size-height-field-m);font-size:var(--sapphire-text-field-size-font-content-m)}.sapphire-text-field__input{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0 var(--sapphire-text-field-size-spacing-control-horizontal-l);line-height:var(--sapphire-text-field-size-line-height-content);font-family:inherit;font-size:inherit;font-weight:var(--sapphire-text-field-size-font-weight-input);caret-color:var(--sapphire-text-field-color-caret);color:inherit;background-color:transparent;border:none;outline:none}.sapphire-text-field--medium .sapphire-text-field__input{padding:0 var(--sapphire-text-field-size-spacing-control-horizontal-m)}.sapphire-text-field__input::placeholder{opacity:1;color:var(--sapphire-text-field-color-placeholder)}.sapphire-text-field__input--align-right{text-align:right}.sapphire-text-field:not(.sapphire-text-field--multiline){gap:var(--sapphire-text-field-size-spacing-control-gap)}.sapphire-text-field .sapphire-text-field__affix{color:var(--sapphire-text-field-color-affix);flex-shrink:0}.sapphire-text-field .sapphire-text-field__affix--icon{width:var(--sapphire-text-field-size-affix-icon-width-l);height:var(--sapphire-text-field-size-affix-icon-height-l)}.sapphire-text-field--medium .sapphire-text-field__affix--icon{width:var(--sapphire-text-field-size-affix-icon-width-m);height:var(--sapphire-text-field-size-affix-icon-height-m)}.sapphire-text-field--with-prefix{padding-left:var(--sapphire-text-field-size-spacing-control-horizontal-l)}.sapphire-text-field--medium .sapphire-text-field--with-prefix{padding-left:var(--sapphire-text-field-size-spacing-control-horizontal-m)}.sapphire-text-field--with-prefix .sapphire-text-field__input{padding-left:0}.sapphire-text-field--with-postfix{padding-right:var(--sapphire-text-field-size-spacing-control-horizontal-l)}.sapphire-text-field--medium .sapphire-text-field--with-postfix{padding-right:var(--sapphire-text-field-size-spacing-control-horizontal-m)}.sapphire-text-field--with-postfix .sapphire-text-field__input{padding-right:0}.sapphire-text-field--multiline{display:inline-block;line-height:0;height:unset;padding:0}.sapphire-text-field--multiline .sapphire-text-field__input{resize:none;width:100%;padding:var(--sapphire-text-field-size-spacing-control-vertical-l) var(--sapphire-text-field-size-spacing-control-horizontal-l);scroll-padding-bottom:var(--sapphire-text-field-size-spacing-control-vertical-l)}.sapphire-text-field--medium .sapphire-text-field--multiline .sapphire-text-field__input{padding:var(--sapphire-text-field-size-spacing-control-vertical-m) var(--sapphire-text-field-size-spacing-control-horizontal-m);scroll-padding-bottom:var(--sapphire-text-field-size-spacing-control-vertical-m)}.sapphire-text-field--multiline.sapphire-text-field--resizable .sapphire-text-field__input{resize:vertical}.sapphire-text-field__counter{color:var(--sapphire-text-field-color-counter-default);padding-left:var(--sapphire-text-field-size-spacing-note-horizontal);margin-left:auto}.sapphire-text-field__counter--error{color:var(--sapphire-text-field-color-counter-error)}.sapphire-text-field--error{box-shadow:inset 0 0 0 var(--sapphire-text-field-size-width-border) var(--sapphire-text-field-color-border-error)}.sapphire-text-field.is-focus,.sapphire-text-field:focus-within{box-shadow:inset 0 0 0 var(--sapphire-text-field-size-focus-ring) var(--sapphire-text-field-color-focus-ring)}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.FieldNoteSuffixDirective, selector: "[spFieldNoteSuffix]" }] });
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: TextFieldComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'sp-text-field', host: {
46
+ class: 'sapphire-text-field',
47
+ '[class.sapphire-text-field--multiline]': '_inputDirective.textarea',
48
+ '[class.sapphire-text-field--error]': 'field?.hasError()',
49
+ '[class.sapphire-text-field--with-prefix]': 'hasPrefix()',
50
+ '[class.sapphire-text-field--with-postfix]': 'hasPostfix()',
51
+ '[class.sapphire-text-field--medium]': 'field?.size === "medium"',
52
+ }, providers: [
53
+ {
54
+ provide: FieldControl,
55
+ useExisting: forwardRef(() => TextFieldComponent),
56
+ },
57
+ ], hostDirectives: [ThemeCheckDirective, UseComponentStylesOnHost], template: "<ng-content\n select=\"sp-text-field-prefix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"input\"></ng-content>\n<ng-content\n select=\"sp-text-field-postfix\"\n *ngIf=\"!_inputDirective?.textarea\"\n></ng-content>\n<ng-content select=\"textarea\"></ng-content>\n\n<span\n *ngIf=\"characterCounterMax !== undefined\"\n spFieldNoteSuffix\n class=\"sapphire-text-field__counter\"\n [class.sapphire-text-field__counter--error]=\"isCharacterCounterExceeded()\"\n >{{ _inputDirective?.valueLength }}/{{ characterCounterMax }}</span\n>\n", styles: [".sapphire-text-field{width:var(--sapphire-text-field-size-width-control);box-shadow:inset 0 0 0 var(--sapphire-text-field-size-width-border) var(--sapphire-text-field-color-border-default);box-sizing:border-box;display:flex;align-items:center;border-radius:var(--sapphire-text-field-size-radius);cursor:text;color:var(--sapphire-text-field-color-content);background-color:var(--sapphire-text-field-color-background);height:var(--sapphire-text-field-size-height-field-l);font-family:var(--sapphire-text-field-font-name);font-size:var(--sapphire-text-field-size-font-content-l);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sapphire-text-field--medium{height:var(--sapphire-text-field-size-height-field-m);font-size:var(--sapphire-text-field-size-font-content-m)}.sapphire-text-field__input{box-sizing:border-box;width:100%;height:100%;margin:0;padding:0 var(--sapphire-text-field-size-spacing-control-horizontal-l);line-height:var(--sapphire-text-field-size-line-height-content);font-family:inherit;font-size:inherit;font-weight:var(--sapphire-text-field-size-font-weight-input);caret-color:var(--sapphire-text-field-color-caret);color:inherit;background-color:transparent;border:none;outline:none}.sapphire-text-field--medium .sapphire-text-field__input{padding:0 var(--sapphire-text-field-size-spacing-control-horizontal-m)}.sapphire-text-field__input::placeholder{opacity:1;color:var(--sapphire-text-field-color-placeholder)}.sapphire-text-field__input--align-right{text-align:right}.sapphire-text-field:not(.sapphire-text-field--multiline){gap:var(--sapphire-text-field-size-spacing-control-gap)}.sapphire-text-field .sapphire-text-field__affix{color:var(--sapphire-text-field-color-affix);flex-shrink:0}.sapphire-text-field .sapphire-text-field__affix--icon{width:var(--sapphire-text-field-size-affix-icon-width-l);height:var(--sapphire-text-field-size-affix-icon-height-l)}.sapphire-text-field--medium .sapphire-text-field__affix--icon{width:var(--sapphire-text-field-size-affix-icon-width-m);height:var(--sapphire-text-field-size-affix-icon-height-m)}.sapphire-text-field--with-prefix{padding-left:var(--sapphire-text-field-size-spacing-control-horizontal-l)}.sapphire-text-field--medium .sapphire-text-field--with-prefix{padding-left:var(--sapphire-text-field-size-spacing-control-horizontal-m)}.sapphire-text-field--with-prefix .sapphire-text-field__input{padding-left:0}.sapphire-text-field--with-postfix{padding-right:var(--sapphire-text-field-size-spacing-control-horizontal-l)}.sapphire-text-field--medium .sapphire-text-field--with-postfix{padding-right:var(--sapphire-text-field-size-spacing-control-horizontal-m)}.sapphire-text-field--with-postfix .sapphire-text-field__input{padding-right:0}.sapphire-text-field--multiline{display:inline-block;line-height:0;height:unset;padding:0}.sapphire-text-field--multiline .sapphire-text-field__input{resize:none;width:100%;padding:var(--sapphire-text-field-size-spacing-control-vertical-l) var(--sapphire-text-field-size-spacing-control-horizontal-l);scroll-padding-bottom:var(--sapphire-text-field-size-spacing-control-vertical-l)}.sapphire-text-field--medium .sapphire-text-field--multiline .sapphire-text-field__input{padding:var(--sapphire-text-field-size-spacing-control-vertical-m) var(--sapphire-text-field-size-spacing-control-horizontal-m);scroll-padding-bottom:var(--sapphire-text-field-size-spacing-control-vertical-m)}.sapphire-text-field--multiline.sapphire-text-field--resizable .sapphire-text-field__input{resize:vertical}.sapphire-text-field__counter{color:var(--sapphire-text-field-color-counter-default);padding-left:var(--sapphire-text-field-size-spacing-note-horizontal);margin-left:auto}.sapphire-text-field__counter--error{color:var(--sapphire-text-field-color-counter-error)}.sapphire-text-field--error{box-shadow:inset 0 0 0 var(--sapphire-text-field-size-width-border) var(--sapphire-text-field-color-border-error)}.sapphire-text-field.is-focus,.sapphire-text-field:focus-within{box-shadow:inset 0 0 0 var(--sapphire-text-field-size-focus-ring) var(--sapphire-text-field-color-focus-ring)}\n"] }]
58
+ }], ctorParameters: function () { return [{ type: i1.FieldComponent, decorators: [{
59
+ type: Optional
60
+ }] }]; }, propDecorators: { characterCounterMax: [{
61
+ type: Input,
62
+ args: ['characterCounterMax']
63
+ }], inputElement: [{
64
+ type: ContentChild,
65
+ args: [TextFieldInputDirective, {
66
+ read: ElementRef,
67
+ }]
68
+ }], _inputDirective: [{
69
+ type: ContentChild,
70
+ args: [TextFieldInputDirective]
71
+ }], prefixDirective: [{
72
+ type: ContentChild,
73
+ args: [TextFieldPrefixDirective]
74
+ }], postfixDirective: [{
75
+ type: ContentChild,
76
+ args: [TextFieldPostfixDirective]
77
+ }] } });
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3RleHQtZmllbGQvc3JjL3RleHQtZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi90ZXh0LWZpZWxkL3NyYy90ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixVQUFVLEVBQ1YsS0FBSyxFQUNMLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLG9CQUFvQixHQUVyQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzVFLE9BQU8sRUFBa0IsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7QUFzQnBGLE1BQU0sT0FBTyxrQkFBa0I7SUFrQjdCLFlBQStCLEtBQXNCO1FBQXRCLFVBQUssR0FBTCxLQUFLLENBQWlCO0lBQUcsQ0FBQztJQUV6RCwwQkFBMEI7UUFDeEIsT0FBTyxDQUNMLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxXQUFXLElBQUksQ0FBQyxDQUFDO1lBQ3hDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUMvQyxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8scUJBQXFCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUM7SUFDbEMsQ0FBQzs7K0dBekNVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHFkQVJsQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLFlBQVk7WUFDckIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztTQUNsRDtLQUNGLG9FQU9hLHVCQUF1QiwyQkFDN0IsVUFBVSwrREFJSix1QkFBdUIsa0ZBR3ZCLHdCQUF3QixtRkFHeEIseUJBQXlCLHFKQ3ZEekMsK2pCQWtCQTsyRkRzQmEsa0JBQWtCO2tCQXBCOUIsU0FBUzsrQkFDRSxlQUFlLFFBR25CO3dCQUNKLEtBQUssRUFBRSxxQkFBcUI7d0JBQzVCLHdDQUF3QyxFQUFFLDBCQUEwQjt3QkFDcEUsb0NBQW9DLEVBQUUsbUJBQW1CO3dCQUN6RCwwQ0FBMEMsRUFBRSxhQUFhO3dCQUN6RCwyQ0FBMkMsRUFBRSxjQUFjO3dCQUMzRCxxQ0FBcUMsRUFBRSwwQkFBMEI7cUJBQ2xFLGFBQ1U7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLFlBQVk7NEJBQ3JCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDO3lCQUNsRDtxQkFDRixrQkFDZSxDQUFDLG1CQUFtQixFQUFFLHdCQUF3QixDQUFDOzswQkFvQmxELFFBQVE7NENBaEJyQixtQkFBbUI7c0JBRGxCLEtBQUs7dUJBQUMscUJBQXFCO2dCQU01QixZQUFZO3NCQUhYLFlBQVk7dUJBQUMsdUJBQXVCLEVBQUU7d0JBQ3JDLElBQUksRUFBRSxVQUFVO3FCQUNqQjtnQkFJRCxlQUFlO3NCQURkLFlBQVk7dUJBQUMsdUJBQXVCO2dCQUk3QixlQUFlO3NCQUR0QixZQUFZO3VCQUFDLHdCQUF3QjtnQkFJOUIsZ0JBQWdCO3NCQUR2QixZQUFZO3VCQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgY29lcmNlQm9vbGVhblByb3BlcnR5LFxuICBjb2VyY2VOdW1iZXJQcm9wZXJ0eSxcbiAgTnVtYmVySW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBUaGVtZUNoZWNrRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vdGhlbWUvc3JjL3RoZW1lLWNoZWNrLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGaWVsZENvbXBvbmVudCwgRmllbGRDb250cm9sIH0gZnJvbSAnLi4vLi4vZmllbGQvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBUZXh0RmllbGRJbnB1dERpcmVjdGl2ZSB9IGZyb20gJy4vdGV4dC1maWVsZC1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGV4dEZpZWxkUHJlZml4RGlyZWN0aXZlIH0gZnJvbSAnLi90ZXh0LWZpZWxkLXByZWZpeC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGV4dEZpZWxkUG9zdGZpeERpcmVjdGl2ZSB9IGZyb20gJy4vdGV4dC1maWVsZC1wb3N0Zml4LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBVc2VDb21wb25lbnRTdHlsZXNPbkhvc3QgfSBmcm9tICcuLi8uLi9jb21tb24vc2FwcGhpcmUtdmlldy1lbmNhcHN1bGF0aW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3AtdGV4dC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0LWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdzYXBwaGlyZS10ZXh0LWZpZWxkJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLXRleHQtZmllbGQtLW11bHRpbGluZV0nOiAnX2lucHV0RGlyZWN0aXZlLnRleHRhcmVhJyxcbiAgICAnW2NsYXNzLnNhcHBoaXJlLXRleHQtZmllbGQtLWVycm9yXSc6ICdmaWVsZD8uaGFzRXJyb3IoKScsXG4gICAgJ1tjbGFzcy5zYXBwaGlyZS10ZXh0LWZpZWxkLS13aXRoLXByZWZpeF0nOiAnaGFzUHJlZml4KCknLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtdGV4dC1maWVsZC0td2l0aC1wb3N0Zml4XSc6ICdoYXNQb3N0Zml4KCknLFxuICAgICdbY2xhc3Muc2FwcGhpcmUtdGV4dC1maWVsZC0tbWVkaXVtXSc6ICdmaWVsZD8uc2l6ZSA9PT0gXCJtZWRpdW1cIicsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEZpZWxkQ29udHJvbCxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRleHRGaWVsZENvbXBvbmVudCksXG4gICAgfSxcbiAgXSxcbiAgaG9zdERpcmVjdGl2ZXM6IFtUaGVtZUNoZWNrRGlyZWN0aXZlLCBVc2VDb21wb25lbnRTdHlsZXNPbkhvc3RdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0RmllbGRDb21wb25lbnQgaW1wbGVtZW50cyBGaWVsZENvbnRyb2wge1xuICBASW5wdXQoJ2NoYXJhY3RlckNvdW50ZXJNYXgnKVxuICBjaGFyYWN0ZXJDb3VudGVyTWF4PzogTnVtYmVySW5wdXQ7XG5cbiAgQENvbnRlbnRDaGlsZChUZXh0RmllbGRJbnB1dERpcmVjdGl2ZSwge1xuICAgIHJlYWQ6IEVsZW1lbnRSZWYsXG4gIH0pXG4gIGlucHV0RWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudCB8IEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xuXG4gIEBDb250ZW50Q2hpbGQoVGV4dEZpZWxkSW5wdXREaXJlY3RpdmUpXG4gIF9pbnB1dERpcmVjdGl2ZT86IFRleHRGaWVsZElucHV0RGlyZWN0aXZlO1xuXG4gIEBDb250ZW50Q2hpbGQoVGV4dEZpZWxkUHJlZml4RGlyZWN0aXZlKVxuICBwcml2YXRlIHByZWZpeERpcmVjdGl2ZT86IFRleHRGaWVsZFByZWZpeERpcmVjdGl2ZTtcblxuICBAQ29udGVudENoaWxkKFRleHRGaWVsZFBvc3RmaXhEaXJlY3RpdmUpXG4gIHByaXZhdGUgcG9zdGZpeERpcmVjdGl2ZT86IFRleHRGaWVsZFBvc3RmaXhEaXJlY3RpdmU7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHVibGljIGZpZWxkPzogRmllbGRDb21wb25lbnQpIHt9XG5cbiAgaXNDaGFyYWN0ZXJDb3VudGVyRXhjZWVkZWQoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLl9pbnB1dERpcmVjdGl2ZT8udmFsdWVMZW5ndGggPz8gMCkgPlxuICAgICAgY29lcmNlTnVtYmVyUHJvcGVydHkodGhpcy5jaGFyYWN0ZXJDb3VudGVyTWF4KVxuICAgICk7XG4gIH1cblxuICBoYXNQcmVmaXgoKSB7XG4gICAgcmV0dXJuIEJvb2xlYW4odGhpcy5wcmVmaXhEaXJlY3RpdmUpO1xuICB9XG5cbiAgaGFzUG9zdGZpeCgpIHtcbiAgICByZXR1cm4gQm9vbGVhbih0aGlzLnBvc3RmaXhEaXJlY3RpdmUpO1xuICB9XG5cbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY29lcmNlQm9vbGVhblByb3BlcnR5KHRoaXMuX2lucHV0RGlyZWN0aXZlPy5kaXNhYmxlZCk7XG4gIH1cblxuICBnZXRJZCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl9pbnB1dERpcmVjdGl2ZT8uaWQ7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50XG4gIHNlbGVjdD1cInNwLXRleHQtZmllbGQtcHJlZml4XCJcbiAgKm5nSWY9XCIhX2lucHV0RGlyZWN0aXZlPy50ZXh0YXJlYVwiXG4+PC9uZy1jb250ZW50PlxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiaW5wdXRcIj48L25nLWNvbnRlbnQ+XG48bmctY29udGVudFxuICBzZWxlY3Q9XCJzcC10ZXh0LWZpZWxkLXBvc3RmaXhcIlxuICAqbmdJZj1cIiFfaW5wdXREaXJlY3RpdmU/LnRleHRhcmVhXCJcbj48L25nLWNvbnRlbnQ+XG48bmctY29udGVudCBzZWxlY3Q9XCJ0ZXh0YXJlYVwiPjwvbmctY29udGVudD5cblxuPHNwYW5cbiAgKm5nSWY9XCJjaGFyYWN0ZXJDb3VudGVyTWF4ICE9PSB1bmRlZmluZWRcIlxuICBzcEZpZWxkTm90ZVN1ZmZpeFxuICBjbGFzcz1cInNhcHBoaXJlLXRleHQtZmllbGRfX2NvdW50ZXJcIlxuICBbY2xhc3Muc2FwcGhpcmUtdGV4dC1maWVsZF9fY291bnRlci0tZXJyb3JdPVwiaXNDaGFyYWN0ZXJDb3VudGVyRXhjZWVkZWQoKVwiXG4gID57eyBfaW5wdXREaXJlY3RpdmU/LnZhbHVlTGVuZ3RoIH19L3t7IGNoYXJhY3RlckNvdW50ZXJNYXggfX08L3NwYW5cbj5cbiJdfQ==
@@ -0,0 +1,67 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { TextFieldComponent } from './text-field.component';
5
+ import { TextFieldInputDirective } from './text-field-input.directive';
6
+ import { TextFieldAffixDirective } from './text-field-affix.directive';
7
+ import { TextFieldPrefixDirective } from './text-field-prefix.directive';
8
+ import { TextFieldPostfixDirective } from './text-field-postfix.directive';
9
+ import { TextFieldTextareaAutosizeDirective } from './text-field-textarea-autosize.directive';
10
+ import { SapphireFieldModule } from '../../field/src/field.module';
11
+ import { PortalModule } from '@angular/cdk/portal';
12
+ import { LabelComponent } from '../../label/public_api';
13
+ import * as i0 from "@angular/core";
14
+ export class SapphireTextFieldModule {
15
+ }
16
+ SapphireTextFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireTextFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ SapphireTextFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.0", ngImport: i0, type: SapphireTextFieldModule, declarations: [TextFieldComponent,
18
+ TextFieldInputDirective,
19
+ TextFieldAffixDirective,
20
+ TextFieldPrefixDirective,
21
+ TextFieldPostfixDirective,
22
+ TextFieldTextareaAutosizeDirective], imports: [CommonModule,
23
+ FormsModule,
24
+ PortalModule,
25
+ LabelComponent,
26
+ SapphireFieldModule], exports: [TextFieldComponent,
27
+ TextFieldInputDirective,
28
+ SapphireFieldModule,
29
+ TextFieldAffixDirective,
30
+ TextFieldPrefixDirective,
31
+ TextFieldPostfixDirective,
32
+ TextFieldTextareaAutosizeDirective] });
33
+ SapphireTextFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireTextFieldModule, imports: [CommonModule,
34
+ FormsModule,
35
+ PortalModule,
36
+ LabelComponent,
37
+ SapphireFieldModule, SapphireFieldModule] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireTextFieldModule, decorators: [{
39
+ type: NgModule,
40
+ args: [{
41
+ declarations: [
42
+ TextFieldComponent,
43
+ TextFieldInputDirective,
44
+ TextFieldAffixDirective,
45
+ TextFieldPrefixDirective,
46
+ TextFieldPostfixDirective,
47
+ TextFieldTextareaAutosizeDirective,
48
+ ],
49
+ imports: [
50
+ CommonModule,
51
+ FormsModule,
52
+ PortalModule,
53
+ LabelComponent,
54
+ SapphireFieldModule,
55
+ ],
56
+ exports: [
57
+ TextFieldComponent,
58
+ TextFieldInputDirective,
59
+ SapphireFieldModule,
60
+ TextFieldAffixDirective,
61
+ TextFieldPrefixDirective,
62
+ TextFieldPostfixDirective,
63
+ TextFieldTextareaAutosizeDirective,
64
+ ],
65
+ }]
66
+ }] });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3RleHQtZmllbGQvc3JjL3RleHQtZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQTRCeEQsTUFBTSxPQUFPLHVCQUF1Qjs7b0hBQXZCLHVCQUF1QjtxSEFBdkIsdUJBQXVCLGlCQXhCaEMsa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2Qix1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLHlCQUF5QjtRQUN6QixrQ0FBa0MsYUFHbEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osY0FBYztRQUNkLG1CQUFtQixhQUduQixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLG1CQUFtQjtRQUNuQix1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLHlCQUF5QjtRQUN6QixrQ0FBa0M7cUhBR3pCLHVCQUF1QixZQWhCaEMsWUFBWTtRQUNaLFdBQVc7UUFDWCxZQUFZO1FBQ1osY0FBYztRQUNkLG1CQUFtQixFQUtuQixtQkFBbUI7MkZBT1YsdUJBQXVCO2tCQTFCbkMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLHlCQUF5Qjt3QkFDekIsa0NBQWtDO3FCQUNuQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBUZXh0RmllbGRDb21wb25lbnQgfSBmcm9tICcuL3RleHQtZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IFRleHRGaWVsZElucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi90ZXh0LWZpZWxkLWlucHV0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZXh0RmllbGRBZmZpeERpcmVjdGl2ZSB9IGZyb20gJy4vdGV4dC1maWVsZC1hZmZpeC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGV4dEZpZWxkUHJlZml4RGlyZWN0aXZlIH0gZnJvbSAnLi90ZXh0LWZpZWxkLXByZWZpeC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGV4dEZpZWxkUG9zdGZpeERpcmVjdGl2ZSB9IGZyb20gJy4vdGV4dC1maWVsZC1wb3N0Zml4LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUZXh0RmllbGRUZXh0YXJlYUF1dG9zaXplRGlyZWN0aXZlIH0gZnJvbSAnLi90ZXh0LWZpZWxkLXRleHRhcmVhLWF1dG9zaXplLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTYXBwaGlyZUZpZWxkTW9kdWxlIH0gZnJvbSAnLi4vLi4vZmllbGQvc3JjL2ZpZWxkLm1vZHVsZSc7XG5pbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vbGFiZWwvcHVibGljX2FwaSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFRleHRGaWVsZENvbXBvbmVudCxcbiAgICBUZXh0RmllbGRJbnB1dERpcmVjdGl2ZSxcbiAgICBUZXh0RmllbGRBZmZpeERpcmVjdGl2ZSxcbiAgICBUZXh0RmllbGRQcmVmaXhEaXJlY3RpdmUsXG4gICAgVGV4dEZpZWxkUG9zdGZpeERpcmVjdGl2ZSxcbiAgICBUZXh0RmllbGRUZXh0YXJlYUF1dG9zaXplRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFBvcnRhbE1vZHVsZSxcbiAgICBMYWJlbENvbXBvbmVudCxcbiAgICBTYXBwaGlyZUZpZWxkTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgVGV4dEZpZWxkQ29tcG9uZW50LFxuICAgIFRleHRGaWVsZElucHV0RGlyZWN0aXZlLFxuICAgIFNhcHBoaXJlRmllbGRNb2R1bGUsXG4gICAgVGV4dEZpZWxkQWZmaXhEaXJlY3RpdmUsXG4gICAgVGV4dEZpZWxkUHJlZml4RGlyZWN0aXZlLFxuICAgIFRleHRGaWVsZFBvc3RmaXhEaXJlY3RpdmUsXG4gICAgVGV4dEZpZWxkVGV4dGFyZWFBdXRvc2l6ZURpcmVjdGl2ZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2FwcGhpcmVUZXh0RmllbGRNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,34 @@
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
+ /**
6
+ * IMPORTANT:
7
+ * By re-exporting semantic tokens from @danske/sapphire-css, as an interface to allow users of
8
+ * @danske/sapphire-angular to access design system values, we should be mindful of breaking changes
9
+ * every time @danske/sapphire-css is upgraded to new major versions.
10
+ */
11
+ export { tokens } from '@danske/sapphire-css/themes';
12
+ /**
13
+ * Exporting "tokens.size.breakpoint" is not good enough.
14
+ * That is a map from breakpoint name to a a string which is the css variable
15
+ * that will have the breakpoint size. This is not useful in a JS context.
16
+ *
17
+ * TODO: export something which uses the "tokens.size.breakpoint" and offers
18
+ * something usabled in JS.
19
+ */
20
+ export const DEFAULT_BREAKPOINTS = {
21
+ XS: 576,
22
+ S: 768,
23
+ M: 960,
24
+ L: 1200,
25
+ XL: 1400,
26
+ };
27
+ export { SapphireThemeModule } from './src/theme.module';
28
+ export { SapphireOverlayContainer } from './src/sapphire-overlay-container.service';
29
+ export { ThemeDefaultDark, ThemeDefault } from './src/themes';
30
+ export { ThemeRootDirective } from './src/theme-root.directive';
31
+ // Exported just for the issue with vscode
32
+ export { ThemeBaseDirective } from './src/theme-base.directive';
33
+ export { ThemeCheckDirective } from './src/theme-check.directive';
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdGhlbWUvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0RUFBNEU7QUFDNUUsNkVBQTZFO0FBQzdFLHNEQUFzRDtBQUN0RCxXQUFXO0FBRVg7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFLckQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFnQjtJQUM5QyxFQUFFLEVBQUUsR0FBRztJQUNQLENBQUMsRUFBRSxHQUFHO0lBQ04sQ0FBQyxFQUFFLEdBQUc7SUFDTixDQUFDLEVBQUUsSUFBSTtJQUNQLEVBQUUsRUFBRSxJQUFJO0NBQ1QsQ0FBQztBQUVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gV2UgaGF2ZSBzZXBhcmF0ZSBwdWJsaWNfYXBpLnRzIGZpbGUgZm9yIGVhY2ggYW5ndWxhciBtb2R1bGUsIHRvIGhhdmUgdGhlbVxuLy8gZXhwb3NlZCBhcyBzZXBhcmF0ZSBlbnRyeSBwb2ludHMuIFRoZSBidWlsZCBpcyBzdGlsbCBub3QgZW1pdHRpbmcgc2VwYXJhdGVcbi8vIGVudHJ5IHBvaW50cywgd2hpY2ggd2lsbCBiZSBhZGRyZXNzZWQgaW4gdGhpcyB0YXNrOlxuLy8gV0NDSi04MzhcblxuLyoqXG4gKiBJTVBPUlRBTlQ6XG4gKiBCeSByZS1leHBvcnRpbmcgc2VtYW50aWMgdG9rZW5zIGZyb20gQGRhbnNrZS9zYXBwaGlyZS1jc3MsIGFzIGFuIGludGVyZmFjZSB0byBhbGxvdyB1c2VycyBvZlxuICogQGRhbnNrZS9zYXBwaGlyZS1hbmd1bGFyIHRvIGFjY2VzcyBkZXNpZ24gc3lzdGVtIHZhbHVlcywgd2Ugc2hvdWxkIGJlIG1pbmRmdWwgb2YgYnJlYWtpbmcgY2hhbmdlc1xuICogZXZlcnkgdGltZSBAZGFuc2tlL3NhcHBoaXJlLWNzcyBpcyB1cGdyYWRlZCB0byBuZXcgbWFqb3IgdmVyc2lvbnMuXG4gKi9cbmV4cG9ydCB7IHRva2VucyB9IGZyb20gJ0BkYW5za2Uvc2FwcGhpcmUtY3NzL3RoZW1lcyc7XG5cbmV4cG9ydCB0eXBlIEJyZWFrcG9pbnQgPSAnWFMnIHwgJ1MnIHwgJ00nIHwgJ0wnIHwgJ1hMJztcbmV4cG9ydCB0eXBlIEJyZWFrcG9pbnRzID0gUmVjb3JkPEJyZWFrcG9pbnQsIG51bWJlcj47XG5cbi8qKlxuICogRXhwb3J0aW5nIFwidG9rZW5zLnNpemUuYnJlYWtwb2ludFwiIGlzIG5vdCBnb29kIGVub3VnaC5cbiAqIFRoYXQgaXMgYSBtYXAgZnJvbSBicmVha3BvaW50IG5hbWUgdG8gYSBhIHN0cmluZyB3aGljaCBpcyB0aGUgY3NzIHZhcmlhYmxlXG4gKiB0aGF0IHdpbGwgaGF2ZSB0aGUgYnJlYWtwb2ludCBzaXplLiBUaGlzIGlzIG5vdCB1c2VmdWwgaW4gYSBKUyBjb250ZXh0LlxuICpcbiAqIFRPRE86IGV4cG9ydCBzb21ldGhpbmcgd2hpY2ggdXNlcyB0aGUgXCJ0b2tlbnMuc2l6ZS5icmVha3BvaW50XCIgYW5kIG9mZmVyc1xuICogc29tZXRoaW5nIHVzYWJsZWQgaW4gSlMuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JSRUFLUE9JTlRTOiBCcmVha3BvaW50cyA9IHtcbiAgWFM6IDU3NixcbiAgUzogNzY4LFxuICBNOiA5NjAsXG4gIEw6IDEyMDAsXG4gIFhMOiAxNDAwLFxufTtcblxuZXhwb3J0IHsgU2FwcGhpcmVUaGVtZU1vZHVsZSB9IGZyb20gJy4vc3JjL3RoZW1lLm1vZHVsZSc7XG5leHBvcnQgeyBTYXBwaGlyZU92ZXJsYXlDb250YWluZXIgfSBmcm9tICcuL3NyYy9zYXBwaGlyZS1vdmVybGF5LWNvbnRhaW5lci5zZXJ2aWNlJztcbmV4cG9ydCB7IFRoZW1lRGVmYXVsdERhcmssIFRoZW1lRGVmYXVsdCB9IGZyb20gJy4vc3JjL3RoZW1lcyc7XG5leHBvcnQgeyBUaGVtZVJvb3REaXJlY3RpdmUgfSBmcm9tICcuL3NyYy90aGVtZS1yb290LmRpcmVjdGl2ZSc7XG5cbi8vIEV4cG9ydGVkIGp1c3QgZm9yIHRoZSBpc3N1ZSB3aXRoIHZzY29kZVxuZXhwb3J0IHsgVGhlbWVCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi9zcmMvdGhlbWUtYmFzZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgVGhlbWVDaGVja0RpcmVjdGl2ZSB9IGZyb20gJy4vc3JjL3RoZW1lLWNoZWNrLmRpcmVjdGl2ZSc7XG4iXX0=
@@ -0,0 +1,38 @@
1
+ import { OverlayContainer } from '@angular/cdk/overlay';
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { Inject, Injectable, inject } from '@angular/core';
4
+ import { ThemeBaseDirective } from './theme-base.directive';
5
+ import { TopLevelThemeRef } from './top-level-theme-ref.service';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/platform";
8
+ /**
9
+ * Sapphire theme aware overlay container.
10
+ */
11
+ export class SapphireOverlayContainer extends OverlayContainer {
12
+ constructor(document, platform) {
13
+ super(document, platform);
14
+ this.topLevelThemeRef = inject(TopLevelThemeRef);
15
+ this.theme = inject(ThemeBaseDirective, {
16
+ optional: true,
17
+ });
18
+ }
19
+ _createContainer() {
20
+ const theme = this.theme || this.topLevelThemeRef.getTheme();
21
+ if (!theme) {
22
+ throw new Error('Could not find the current theme needed for overlay container');
23
+ }
24
+ super._createContainer();
25
+ // wrapping the .cdk-overlay-container element with another div which provides theme styles.
26
+ theme?.applyOnDomNode(this._containerElement);
27
+ }
28
+ }
29
+ SapphireOverlayContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireOverlayContainer, deps: [{ token: DOCUMENT }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Injectable });
30
+ SapphireOverlayContainer.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireOverlayContainer, providedIn: 'root' });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: SapphireOverlayContainer, decorators: [{
32
+ type: Injectable,
33
+ args: [{ providedIn: 'root' }]
34
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
35
+ type: Inject,
36
+ args: [DOCUMENT]
37
+ }] }, { type: i1.Platform }]; } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FwcGhpcmUtb3ZlcmxheS1jb250YWluZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdGhlbWUvc3JjL3NhcHBoaXJlLW92ZXJsYXktY29udGFpbmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFZLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBRWpFOztHQUVHO0FBRUgsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGdCQUFnQjtJQU01RCxZQUE4QixRQUFrQixFQUFFLFFBQWtCO1FBQ2xFLEtBQUssQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFOcEIscUJBQWdCLEdBQXFCLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlELFVBQUssR0FBOEIsTUFBTSxDQUFDLGtCQUFrQixFQUFFO1lBQ3BFLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO0lBSUgsQ0FBQztJQUVRLGdCQUFnQjtRQUN2QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3RCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsTUFBTSxJQUFJLEtBQUssQ0FDYiwrREFBK0QsQ0FDaEUsQ0FBQztTQUNIO1FBQ0QsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDekIsNEZBQTRGO1FBQzVGLEtBQUssRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEQsQ0FBQzs7cUhBcEJVLHdCQUF3QixrQkFNZixRQUFRO3lIQU5qQix3QkFBd0IsY0FEWCxNQUFNOzJGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFPbkIsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3ZlcmxheUNvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVCYXNlRGlyZWN0aXZlIH0gZnJvbSAnLi90aGVtZS1iYXNlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBUb3BMZXZlbFRoZW1lUmVmIH0gZnJvbSAnLi90b3AtbGV2ZWwtdGhlbWUtcmVmLnNlcnZpY2UnO1xuXG4vKipcbiAqIFNhcHBoaXJlIHRoZW1lIGF3YXJlIG92ZXJsYXkgY29udGFpbmVyLlxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNhcHBoaXJlT3ZlcmxheUNvbnRhaW5lciBleHRlbmRzIE92ZXJsYXlDb250YWluZXIge1xuICBwcml2YXRlIHRvcExldmVsVGhlbWVSZWY6IFRvcExldmVsVGhlbWVSZWYgPSBpbmplY3QoVG9wTGV2ZWxUaGVtZVJlZik7XG4gIHByaXZhdGUgdGhlbWU6IFRoZW1lQmFzZURpcmVjdGl2ZSB8IG51bGwgPSBpbmplY3QoVGhlbWVCYXNlRGlyZWN0aXZlLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIGRvY3VtZW50OiBEb2N1bWVudCwgcGxhdGZvcm06IFBsYXRmb3JtKSB7XG4gICAgc3VwZXIoZG9jdW1lbnQsIHBsYXRmb3JtKTtcbiAgfVxuXG4gIG92ZXJyaWRlIF9jcmVhdGVDb250YWluZXIoKSB7XG4gICAgY29uc3QgdGhlbWUgPSB0aGlzLnRoZW1lIHx8IHRoaXMudG9wTGV2ZWxUaGVtZVJlZi5nZXRUaGVtZSgpO1xuICAgIGlmICghdGhlbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0NvdWxkIG5vdCBmaW5kIHRoZSBjdXJyZW50IHRoZW1lIG5lZWRlZCBmb3Igb3ZlcmxheSBjb250YWluZXInXG4gICAgICApO1xuICAgIH1cbiAgICBzdXBlci5fY3JlYXRlQ29udGFpbmVyKCk7XG4gICAgLy8gd3JhcHBpbmcgdGhlIC5jZGstb3ZlcmxheS1jb250YWluZXIgZWxlbWVudCB3aXRoIGFub3RoZXIgZGl2IHdoaWNoIHByb3ZpZGVzIHRoZW1lIHN0eWxlcy5cbiAgICB0aGVtZT8uYXBwbHlPbkRvbU5vZGUodGhpcy5fY29udGFpbmVyRWxlbWVudCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,87 @@
1
+ import { Overlay, OverlayContainer } from '@angular/cdk/overlay';
2
+ import { SapphireOverlayContainer } from './sapphire-overlay-container.service';
3
+ import { Directive, Optional, SkipSelf, forwardRef, } from '@angular/core';
4
+ import { Platform } from '@angular/cdk/platform';
5
+ import { DOCUMENT } from '@angular/common';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./top-level-theme-ref.service";
8
+ export class ThemeBaseDirective {
9
+ constructor(elementRef, renderer, themeRef, parentTheme) {
10
+ this.elementRef = elementRef;
11
+ this.renderer = renderer;
12
+ this.themeRef = themeRef;
13
+ if (!parentTheme) {
14
+ this.themeRef.setTheme(this);
15
+ }
16
+ }
17
+ applyOnDomNode(element) {
18
+ this.renderer.setAttribute(element, this.getUniqueAttribute(), '');
19
+ }
20
+ getUniqueAttribute() {
21
+ const attributes = this.elementRef.nativeElement.attributes;
22
+ for (let index = 0; index < attributes.length; index++) {
23
+ const attribute = attributes.item(index);
24
+ if (attribute?.name.startsWith('_nghost')) {
25
+ return attribute?.name;
26
+ }
27
+ }
28
+ throw new Error('Could not get unique attribute for for the sapphire theme');
29
+ }
30
+ equals(theme) {
31
+ return this.getUniqueAttribute() === theme.getUniqueAttribute();
32
+ }
33
+ }
34
+ ThemeBaseDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ThemeBaseDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.TopLevelThemeRef }, { token: ThemeBaseDirective, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
35
+ ThemeBaseDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ThemeBaseDirective, isStandalone: true, selector: "[_sp-theme-base]", providers: [
36
+ {
37
+ provide: OverlayContainer,
38
+ useFactory: (existingOverlayContainer, parentTheme, _this, document, platform) => {
39
+ if (!parentTheme || parentTheme.equals(_this)) {
40
+ return existingOverlayContainer;
41
+ }
42
+ return new SapphireOverlayContainer(document, platform);
43
+ },
44
+ deps: [
45
+ [new SkipSelf(), OverlayContainer],
46
+ [new SkipSelf(), new Optional(), forwardRef(() => ThemeBaseDirective)],
47
+ forwardRef(() => ThemeBaseDirective),
48
+ DOCUMENT,
49
+ Platform,
50
+ ],
51
+ },
52
+ // It's important to provide a new instance of Overlay that uses the provided OverlayContainer
53
+ Overlay,
54
+ ], ngImport: i0 });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ThemeBaseDirective, decorators: [{
56
+ type: Directive,
57
+ args: [{
58
+ selector: '[_sp-theme-base]',
59
+ // directive.
60
+ standalone: true,
61
+ providers: [
62
+ {
63
+ provide: OverlayContainer,
64
+ useFactory: (existingOverlayContainer, parentTheme, _this, document, platform) => {
65
+ if (!parentTheme || parentTheme.equals(_this)) {
66
+ return existingOverlayContainer;
67
+ }
68
+ return new SapphireOverlayContainer(document, platform);
69
+ },
70
+ deps: [
71
+ [new SkipSelf(), OverlayContainer],
72
+ [new SkipSelf(), new Optional(), forwardRef(() => ThemeBaseDirective)],
73
+ forwardRef(() => ThemeBaseDirective),
74
+ DOCUMENT,
75
+ Platform,
76
+ ],
77
+ },
78
+ // It's important to provide a new instance of Overlay that uses the provided OverlayContainer
79
+ Overlay,
80
+ ],
81
+ }]
82
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.TopLevelThemeRef }, { type: ThemeBaseDirective, decorators: [{
83
+ type: Optional
84
+ }, {
85
+ type: SkipSelf
86
+ }] }]; } });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtYmFzZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3RoZW1lL3NyYy90aGVtZS1iYXNlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDaEYsT0FBTyxFQUNMLFNBQVMsRUFFVCxRQUFRLEVBRVIsUUFBUSxFQUNSLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFpQzNDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDVSxVQUFtQyxFQUNuQyxRQUFtQixFQUNuQixRQUEwQixFQUNWLFdBQStCO1FBSC9DLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7UUFHbEMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsT0FBb0I7UUFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1FBQzVELEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3RELE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsSUFBSSxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDekMsT0FBTyxTQUFTLEVBQUUsSUFBSSxDQUFDO2FBQ3hCO1NBQ0Y7UUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDJEQUEyRCxDQUM1RCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUF5QjtRQUM5QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ2xFLENBQUM7OytHQS9CVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiwrREEzQmxCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLFVBQVUsRUFBRSxDQUNWLHdCQUEwQyxFQUMxQyxXQUErQixFQUMvQixLQUF5QixFQUN6QixRQUFrQixFQUNsQixRQUFrQixFQUNsQixFQUFFO2dCQUNGLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRTtvQkFDN0MsT0FBTyx3QkFBd0IsQ0FBQztpQkFDakM7Z0JBQ0QsT0FBTyxJQUFJLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMxRCxDQUFDO1lBQ0QsSUFBSSxFQUFFO2dCQUNKLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQztnQkFDbEMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3RFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDcEMsUUFBUTtnQkFDUixRQUFRO2FBQ1Q7U0FDRjtRQUNELDhGQUE4RjtRQUM5RixPQUFPO0tBQ1I7MkZBRVUsa0JBQWtCO2tCQS9COUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixhQUFhO29CQUNiLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGdCQUFnQjs0QkFDekIsVUFBVSxFQUFFLENBQ1Ysd0JBQTBDLEVBQzFDLFdBQStCLEVBQy9CLEtBQXlCLEVBQ3pCLFFBQWtCLEVBQ2xCLFFBQWtCLEVBQ2xCLEVBQUU7Z0NBQ0YsSUFBSSxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO29DQUM3QyxPQUFPLHdCQUF3QixDQUFDO2lDQUNqQztnQ0FDRCxPQUFPLElBQUksd0JBQXdCLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDOzRCQUMxRCxDQUFDOzRCQUNELElBQUksRUFBRTtnQ0FDSixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsZ0JBQWdCLENBQUM7Z0NBQ2xDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztnQ0FDdEUsVUFBVSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsQ0FBQztnQ0FDcEMsUUFBUTtnQ0FDUixRQUFROzZCQUNUO3lCQUNGO3dCQUNELDhGQUE4Rjt3QkFDOUYsT0FBTztxQkFDUjtpQkFDRjs7MEJBTUksUUFBUTs7MEJBQUksUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb250YWluZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBTYXBwaGlyZU92ZXJsYXlDb250YWluZXIgfSBmcm9tICcuL3NhcHBoaXJlLW92ZXJsYXktY29udGFpbmVyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBPcHRpb25hbCxcbiAgUmVuZGVyZXIyLFxuICBTa2lwU2VsZixcbiAgZm9yd2FyZFJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUb3BMZXZlbFRoZW1lUmVmIH0gZnJvbSAnLi90b3AtbGV2ZWwtdGhlbWUtcmVmLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGxhdGZvcm0gfSBmcm9tICdAYW5ndWxhci9jZGsvcGxhdGZvcm0nO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbX3NwLXRoZW1lLWJhc2VdJywgLy8gc2VsZWN0b3IgaXMgYWRkZWQgdG8gcHJldmVudCB0aGUgdHlwZSBlcnJvci4gV2UgZG9uJ3QgZGlyZWN0bHkgcmVuZGVyIHRoaXNcbiAgLy8gZGlyZWN0aXZlLlxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBPdmVybGF5Q29udGFpbmVyLFxuICAgICAgdXNlRmFjdG9yeTogKFxuICAgICAgICBleGlzdGluZ092ZXJsYXlDb250YWluZXI6IE92ZXJsYXlDb250YWluZXIsXG4gICAgICAgIHBhcmVudFRoZW1lOiBUaGVtZUJhc2VEaXJlY3RpdmUsXG4gICAgICAgIF90aGlzOiBUaGVtZUJhc2VEaXJlY3RpdmUsXG4gICAgICAgIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICAgICAgcGxhdGZvcm06IFBsYXRmb3JtXG4gICAgICApID0+IHtcbiAgICAgICAgaWYgKCFwYXJlbnRUaGVtZSB8fCBwYXJlbnRUaGVtZS5lcXVhbHMoX3RoaXMpKSB7XG4gICAgICAgICAgcmV0dXJuIGV4aXN0aW5nT3ZlcmxheUNvbnRhaW5lcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFNhcHBoaXJlT3ZlcmxheUNvbnRhaW5lcihkb2N1bWVudCwgcGxhdGZvcm0pO1xuICAgICAgfSxcbiAgICAgIGRlcHM6IFtcbiAgICAgICAgW25ldyBTa2lwU2VsZigpLCBPdmVybGF5Q29udGFpbmVyXSxcbiAgICAgICAgW25ldyBTa2lwU2VsZigpLCBuZXcgT3B0aW9uYWwoKSwgZm9yd2FyZFJlZigoKSA9PiBUaGVtZUJhc2VEaXJlY3RpdmUpXSxcbiAgICAgICAgZm9yd2FyZFJlZigoKSA9PiBUaGVtZUJhc2VEaXJlY3RpdmUpLFxuICAgICAgICBET0NVTUVOVCxcbiAgICAgICAgUGxhdGZvcm0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgLy8gSXQncyBpbXBvcnRhbnQgdG8gcHJvdmlkZSBhIG5ldyBpbnN0YW5jZSBvZiBPdmVybGF5IHRoYXQgdXNlcyB0aGUgcHJvdmlkZWQgT3ZlcmxheUNvbnRhaW5lclxuICAgIE92ZXJsYXksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRoZW1lQmFzZURpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgdGhlbWVSZWY6IFRvcExldmVsVGhlbWVSZWYsXG4gICAgQE9wdGlvbmFsKCkgQFNraXBTZWxmKCkgcGFyZW50VGhlbWU6IFRoZW1lQmFzZURpcmVjdGl2ZVxuICApIHtcbiAgICBpZiAoIXBhcmVudFRoZW1lKSB7XG4gICAgICB0aGlzLnRoZW1lUmVmLnNldFRoZW1lKHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIGFwcGx5T25Eb21Ob2RlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUoZWxlbWVudCwgdGhpcy5nZXRVbmlxdWVBdHRyaWJ1dGUoKSwgJycpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRVbmlxdWVBdHRyaWJ1dGUoKSB7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmF0dHJpYnV0ZXM7XG4gICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGF0dHJpYnV0ZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGUgPSBhdHRyaWJ1dGVzLml0ZW0oaW5kZXgpO1xuICAgICAgaWYgKGF0dHJpYnV0ZT8ubmFtZS5zdGFydHNXaXRoKCdfbmdob3N0JykpIHtcbiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZT8ubmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ0NvdWxkIG5vdCBnZXQgdW5pcXVlIGF0dHJpYnV0ZSBmb3IgZm9yIHRoZSBzYXBwaGlyZSB0aGVtZSdcbiAgICApO1xuICB9XG5cbiAgZXF1YWxzKHRoZW1lOiBUaGVtZUJhc2VEaXJlY3RpdmUpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRVbmlxdWVBdHRyaWJ1dGUoKSA9PT0gdGhlbWUuZ2V0VW5pcXVlQXR0cmlidXRlKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Directive, Optional } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./theme-base.directive";
4
+ // noinspection AngularInvalidSelector
5
+ /**
6
+ * Checks if Sapphire theme is provided, and throws otherwise.
7
+ * Useful to be added in hostDirectives of components.
8
+ */
9
+ export class ThemeCheckDirective {
10
+ constructor(theme) {
11
+ this.theme = theme;
12
+ }
13
+ ngOnInit() {
14
+ if (!this.theme) {
15
+ throw new Error('Sapphire theme not provided. You need to render a theme component such as sp-theme-default in your app component. Read more in Getting Started guide.');
16
+ }
17
+ }
18
+ }
19
+ ThemeCheckDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ThemeCheckDirective, deps: [{ token: i1.ThemeBaseDirective, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
20
+ ThemeCheckDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.0", type: ThemeCheckDirective, isStandalone: true, ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.0", ngImport: i0, type: ThemeCheckDirective, decorators: [{
22
+ type: Directive,
23
+ args: [{
24
+ standalone: true,
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i1.ThemeBaseDirective, decorators: [{
27
+ type: Optional
28
+ }] }]; } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtY2hlY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi90aGVtZS9zcmMvdGhlbWUtY2hlY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHNUQsc0NBQXNDO0FBQ3RDOzs7R0FHRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFFVSxLQUF5QjtRQUF6QixVQUFLLEdBQUwsS0FBSyxDQUFvQjtJQUNoQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FDYix1SkFBdUosQ0FDeEosQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7Z0hBWlUsbUJBQW1CO29HQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFIL0IsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OzBCQUdJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vdGhlbWUtYmFzZS5kaXJlY3RpdmUnO1xuXG4vLyBub2luc3BlY3Rpb24gQW5ndWxhckludmFsaWRTZWxlY3RvclxuLyoqXG4gKiBDaGVja3MgaWYgU2FwcGhpcmUgdGhlbWUgaXMgcHJvdmlkZWQsIGFuZCB0aHJvd3Mgb3RoZXJ3aXNlLlxuICogVXNlZnVsIHRvIGJlIGFkZGVkIGluIGhvc3REaXJlY3RpdmVzIG9mIGNvbXBvbmVudHMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUaGVtZUNoZWNrRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHRoZW1lOiBUaGVtZUJhc2VEaXJlY3RpdmVcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy50aGVtZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnU2FwcGhpcmUgdGhlbWUgbm90IHByb3ZpZGVkLiBZb3UgbmVlZCB0byByZW5kZXIgYSB0aGVtZSBjb21wb25lbnQgc3VjaCBhcyBzcC10aGVtZS1kZWZhdWx0IGluIHlvdXIgYXBwIGNvbXBvbmVudC4gUmVhZCBtb3JlIGluIEdldHRpbmcgU3RhcnRlZCBndWlkZS4nXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19