@biit-solutions/wizardry-theme 1.21.34

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 (513) hide show
  1. package/README.md +15 -0
  2. package/assets/i18n/chart/de.json +3 -0
  3. package/assets/i18n/chart/en.json +3 -0
  4. package/assets/i18n/chart/es.json +3 -0
  5. package/assets/i18n/chart/fr.json +3 -0
  6. package/assets/i18n/chart/nl.json +3 -0
  7. package/assets/i18n/info/de.json +4 -0
  8. package/assets/i18n/info/en.json +4 -0
  9. package/assets/i18n/info/es.json +4 -0
  10. package/assets/i18n/info/fr.json +4 -0
  11. package/assets/i18n/info/nl.json +1 -0
  12. package/assets/i18n/inputs/de.json +8 -0
  13. package/assets/i18n/inputs/en.json +8 -0
  14. package/assets/i18n/inputs/es.json +8 -0
  15. package/assets/i18n/inputs/fr.json +8 -0
  16. package/assets/i18n/inputs/nl.json +4 -0
  17. package/assets/i18n/login/de.json +32 -0
  18. package/assets/i18n/login/en.json +32 -0
  19. package/assets/i18n/login/es.json +32 -0
  20. package/assets/i18n/login/fr.json +32 -0
  21. package/assets/i18n/login/nl.json +32 -0
  22. package/assets/i18n/login-welcome/en.json +6 -0
  23. package/assets/i18n/login-welcome/es.json +6 -0
  24. package/assets/i18n/login-welcome/nl.json +6 -0
  25. package/assets/i18n/table/de.json +14 -0
  26. package/assets/i18n/table/en.json +14 -0
  27. package/assets/i18n/table/es.json +14 -0
  28. package/assets/i18n/table/fr.json +14 -0
  29. package/assets/i18n/table/nl.json +11 -0
  30. package/assets/i18n/utils/en.json +69 -0
  31. package/assets/i18n/utils/es.json +69 -0
  32. package/assets/i18n/utils/nl.json +1 -0
  33. package/assets/styles/context-menu/base.scss +131 -0
  34. package/assets/styles/context-menu/button-reset.scss +31 -0
  35. package/assets/styles/context-menu/dark-theme.scss +29 -0
  36. package/button/biit-action-button/biit-action-button.component.d.ts +18 -0
  37. package/button/biit-action-button/biit-action-button.module.d.ts +10 -0
  38. package/button/biit-button/biit-button.component.d.ts +25 -0
  39. package/button/biit-button/biit-button.module.d.ts +9 -0
  40. package/button/biit-icon-button/biit-icon-button.component.d.ts +8 -0
  41. package/button/biit-icon-button/biit-icon-button.module.d.ts +8 -0
  42. package/button/index.d.ts +5 -0
  43. package/button/public-api.d.ts +6 -0
  44. package/calendar/biit-calendar/biit-calendar.component.d.ts +52 -0
  45. package/calendar/biit-calendar/biit-calendar.module.d.ts +12 -0
  46. package/calendar/biit-calendar/calendar-utility.d.ts +3 -0
  47. package/calendar/biit-calendar/models/calendar-configuration.d.ts +5 -0
  48. package/calendar/biit-calendar/models/calendar-event-click-event.d.ts +6 -0
  49. package/calendar/biit-calendar/models/calendar-event.d.ts +22 -0
  50. package/calendar/index.d.ts +5 -0
  51. package/calendar/public-api.d.ts +7 -0
  52. package/calendar/utils/event-color.d.ts +105 -0
  53. package/charts/bar-chart/bar-chart.component.d.ts +46 -0
  54. package/charts/bar-chart/bar-chart.module.d.ts +9 -0
  55. package/charts/bar-chart/models/bar-chart-data.d.ts +33 -0
  56. package/charts/heatmap-chart/heatmap-chart-data.d.ts +22 -0
  57. package/charts/heatmap-chart/heatmap-chart-range.d.ts +6 -0
  58. package/charts/heatmap-chart/heatmap-chart.component.d.ts +42 -0
  59. package/charts/heatmap-chart/heatmap-chart.module.d.ts +10 -0
  60. package/charts/index.d.ts +5 -0
  61. package/charts/line-chart/line-chart.component.d.ts +38 -0
  62. package/charts/line-chart/line-chart.module.d.ts +9 -0
  63. package/charts/line-chart/models/line-chart-data.d.ts +12 -0
  64. package/charts/meta-view-chart/components/bar-range/bar-range.component.d.ts +14 -0
  65. package/charts/meta-view-chart/components/bar-range/bar-range.module.d.ts +12 -0
  66. package/charts/meta-view-chart/components/boolean-filter/boolean-filter.component.d.ts +10 -0
  67. package/charts/meta-view-chart/components/boolean-filter/boolean-filter.module.d.ts +10 -0
  68. package/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.component.d.ts +28 -0
  69. package/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.module.d.ts +12 -0
  70. package/charts/meta-view-chart/components/meta-board/meta-board.component.d.ts +12 -0
  71. package/charts/meta-view-chart/components/meta-board/meta-board.module.d.ts +9 -0
  72. package/charts/meta-view-chart/components/meta-element/meta-element.component.d.ts +8 -0
  73. package/charts/meta-view-chart/components/meta-element/meta-element.module.d.ts +9 -0
  74. package/charts/meta-view-chart/components/meta-sorter/meta-filter.component.d.ts +28 -0
  75. package/charts/meta-view-chart/components/meta-sorter/meta-filter.module.d.ts +17 -0
  76. package/charts/meta-view-chart/components/meta-sorter/model/FieldType.d.ts +8 -0
  77. package/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.component.d.ts +13 -0
  78. package/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.module.d.ts +14 -0
  79. package/charts/meta-view-chart/components/text-filter/text-filter.component.d.ts +11 -0
  80. package/charts/meta-view-chart/components/text-filter/text-filter.module.d.ts +10 -0
  81. package/charts/meta-view-chart/meta-view-chart.component.d.ts +32 -0
  82. package/charts/meta-view-chart/meta-view-chart.module.d.ts +16 -0
  83. package/charts/meta-view-chart/model/meta-view-data.d.ts +10 -0
  84. package/charts/meta-view-chart/model/meta-view-element-data.d.ts +9 -0
  85. package/charts/meta-view-chart/model/meta-view-preselection.d.ts +5 -0
  86. package/charts/meta-view-chart/model/view.d.ts +4 -0
  87. package/charts/meta-view-chart/pipes/auto-format.pipe.d.ts +7 -0
  88. package/charts/meta-view-chart/pipes/extract-data.pipe.d.ts +8 -0
  89. package/charts/meta-view-chart/pipes/field-type.pipe.d.ts +8 -0
  90. package/charts/meta-view-chart/pipes/filter-by.pipe.d.ts +7 -0
  91. package/charts/meta-view-chart/pipes/has.pipe.d.ts +7 -0
  92. package/charts/meta-view-chart/pipes/meta-element-max-value.pipe.d.ts +8 -0
  93. package/charts/meta-view-chart/pipes/meta-element-min-value.pipe.d.ts +8 -0
  94. package/charts/meta-view-chart/pipes/meta-element-to-bar-chart.pipe.d.ts +9 -0
  95. package/charts/meta-view-chart/pipes/month-name.pipe.d.ts +7 -0
  96. package/charts/meta-view-chart/pipes/pipes.module.d.ts +20 -0
  97. package/charts/meta-view-chart/pipes/printf.pipe.d.ts +7 -0
  98. package/charts/meta-view-chart/pipes/remove-from-array.pipe.d.ts +7 -0
  99. package/charts/meta-view-chart/pipes/safe-html.pipe.d.ts +10 -0
  100. package/charts/meta-view-chart/pipes/step-value-extractor.pipe.d.ts +9 -0
  101. package/charts/pie-chart/models/pie-chart-data.d.ts +5 -0
  102. package/charts/pie-chart/pie-chart.component.d.ts +39 -0
  103. package/charts/pie-chart/pie-chart.module.d.ts +9 -0
  104. package/charts/public-api.d.ts +28 -0
  105. package/charts/radar-chart/models/radar-chart-data.d.ts +11 -0
  106. package/charts/radar-chart/radar-chart.component.d.ts +38 -0
  107. package/charts/radar-chart/radar-chart.module.d.ts +9 -0
  108. package/charts/radial-chart/models/radial-chart-data.d.ts +5 -0
  109. package/charts/radial-chart/radial-chart.component.d.ts +40 -0
  110. package/charts/radial-chart/radial-chart.module.d.ts +9 -0
  111. package/charts/timeline-viewer-chart/models/timeline-viewer-chart-data.d.ts +17 -0
  112. package/charts/timeline-viewer-chart/models/timeline-viewer-chart-options.d.ts +9 -0
  113. package/charts/timeline-viewer-chart/timeline-viewer-chart.component.d.ts +40 -0
  114. package/charts/timeline-viewer-chart/timeline-viewer-chart.module.d.ts +9 -0
  115. package/esm2020/biit-solutions-wizardry-theme.mjs +5 -0
  116. package/esm2020/button/biit-action-button/biit-action-button.component.mjs +68 -0
  117. package/esm2020/button/biit-action-button/biit-action-button.module.mjs +32 -0
  118. package/esm2020/button/biit-button/biit-button.component.mjs +57 -0
  119. package/esm2020/button/biit-button/biit-button.module.mjs +40 -0
  120. package/esm2020/button/biit-icon-button/biit-icon-button.component.mjs +19 -0
  121. package/esm2020/button/biit-icon-button/biit-icon-button.module.mjs +24 -0
  122. package/esm2020/button/biit-solutions-wizardry-theme-button.mjs +5 -0
  123. package/esm2020/button/public-api.mjs +10 -0
  124. package/esm2020/calendar/biit-calendar/biit-calendar.component.mjs +166 -0
  125. package/esm2020/calendar/biit-calendar/biit-calendar.module.mjs +44 -0
  126. package/esm2020/calendar/biit-calendar/calendar-utility.mjs +2 -0
  127. package/esm2020/calendar/biit-calendar/models/calendar-configuration.mjs +9 -0
  128. package/esm2020/calendar/biit-calendar/models/calendar-event-click-event.mjs +7 -0
  129. package/esm2020/calendar/biit-calendar/models/calendar-event.mjs +38 -0
  130. package/esm2020/calendar/biit-solutions-wizardry-theme-calendar.mjs +5 -0
  131. package/esm2020/calendar/public-api.mjs +11 -0
  132. package/esm2020/calendar/utils/event-color.mjs +101 -0
  133. package/esm2020/charts/bar-chart/bar-chart.component.mjs +190 -0
  134. package/esm2020/charts/bar-chart/bar-chart.module.mjs +24 -0
  135. package/esm2020/charts/bar-chart/models/bar-chart-data.mjs +39 -0
  136. package/esm2020/charts/biit-solutions-wizardry-theme-charts.mjs +5 -0
  137. package/esm2020/charts/heatmap-chart/heatmap-chart-data.mjs +65 -0
  138. package/esm2020/charts/heatmap-chart/heatmap-chart-range.mjs +8 -0
  139. package/esm2020/charts/heatmap-chart/heatmap-chart.component.mjs +242 -0
  140. package/esm2020/charts/heatmap-chart/heatmap-chart.module.mjs +28 -0
  141. package/esm2020/charts/line-chart/line-chart.component.mjs +191 -0
  142. package/esm2020/charts/line-chart/line-chart.module.mjs +24 -0
  143. package/esm2020/charts/line-chart/models/line-chart-data.mjs +15 -0
  144. package/esm2020/charts/meta-view-chart/components/bar-range/bar-range.component.mjs +46 -0
  145. package/esm2020/charts/meta-view-chart/components/bar-range/bar-range.module.mjs +43 -0
  146. package/esm2020/charts/meta-view-chart/components/boolean-filter/boolean-filter.component.mjs +27 -0
  147. package/esm2020/charts/meta-view-chart/components/boolean-filter/boolean-filter.module.mjs +35 -0
  148. package/esm2020/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.component.mjs +156 -0
  149. package/esm2020/charts/meta-view-chart/components/date-filter-selector/date-filter-selector.module.mjs +40 -0
  150. package/esm2020/charts/meta-view-chart/components/meta-board/meta-board.component.mjs +49 -0
  151. package/esm2020/charts/meta-view-chart/components/meta-board/meta-board.module.mjs +28 -0
  152. package/esm2020/charts/meta-view-chart/components/meta-element/meta-element.component.mjs +19 -0
  153. package/esm2020/charts/meta-view-chart/components/meta-element/meta-element.module.mjs +28 -0
  154. package/esm2020/charts/meta-view-chart/components/meta-sorter/meta-filter.component.mjs +92 -0
  155. package/esm2020/charts/meta-view-chart/components/meta-sorter/meta-filter.module.mjs +60 -0
  156. package/esm2020/charts/meta-view-chart/components/meta-sorter/model/FieldType.mjs +10 -0
  157. package/esm2020/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.component.mjs +37 -0
  158. package/esm2020/charts/meta-view-chart/components/metadata-viewer/metadata-viewer.module.mjs +48 -0
  159. package/esm2020/charts/meta-view-chart/components/text-filter/text-filter.component.mjs +28 -0
  160. package/esm2020/charts/meta-view-chart/components/text-filter/text-filter.module.mjs +32 -0
  161. package/esm2020/charts/meta-view-chart/meta-view-chart.component.mjs +141 -0
  162. package/esm2020/charts/meta-view-chart/meta-view-chart.module.mjs +56 -0
  163. package/esm2020/charts/meta-view-chart/model/meta-view-data.mjs +13 -0
  164. package/esm2020/charts/meta-view-chart/model/meta-view-element-data.mjs +7 -0
  165. package/esm2020/charts/meta-view-chart/model/meta-view-preselection.mjs +7 -0
  166. package/esm2020/charts/meta-view-chart/model/view.mjs +6 -0
  167. package/esm2020/charts/meta-view-chart/pipes/auto-format.pipe.mjs +19 -0
  168. package/esm2020/charts/meta-view-chart/pipes/extract-data.pipe.mjs +16 -0
  169. package/esm2020/charts/meta-view-chart/pipes/field-type.pipe.mjs +34 -0
  170. package/esm2020/charts/meta-view-chart/pipes/filter-by.pipe.mjs +16 -0
  171. package/esm2020/charts/meta-view-chart/pipes/has.pipe.mjs +16 -0
  172. package/esm2020/charts/meta-view-chart/pipes/meta-element-max-value.pipe.mjs +20 -0
  173. package/esm2020/charts/meta-view-chart/pipes/meta-element-min-value.pipe.mjs +20 -0
  174. package/esm2020/charts/meta-view-chart/pipes/meta-element-to-bar-chart.pipe.mjs +29 -0
  175. package/esm2020/charts/meta-view-chart/pipes/month-name.pipe.mjs +18 -0
  176. package/esm2020/charts/meta-view-chart/pipes/pipes.module.mjs +84 -0
  177. package/esm2020/charts/meta-view-chart/pipes/printf.pipe.mjs +19 -0
  178. package/esm2020/charts/meta-view-chart/pipes/remove-from-array.pipe.mjs +16 -0
  179. package/esm2020/charts/meta-view-chart/pipes/safe-html.pipe.mjs +20 -0
  180. package/esm2020/charts/meta-view-chart/pipes/step-value-extractor.pipe.mjs +34 -0
  181. package/esm2020/charts/pie-chart/models/pie-chart-data.mjs +7 -0
  182. package/esm2020/charts/pie-chart/pie-chart.component.mjs +132 -0
  183. package/esm2020/charts/pie-chart/pie-chart.module.mjs +24 -0
  184. package/esm2020/charts/public-api.mjs +32 -0
  185. package/esm2020/charts/radar-chart/models/radar-chart-data.mjs +14 -0
  186. package/esm2020/charts/radar-chart/radar-chart.component.mjs +140 -0
  187. package/esm2020/charts/radar-chart/radar-chart.module.mjs +24 -0
  188. package/esm2020/charts/radial-chart/models/radial-chart-data.mjs +7 -0
  189. package/esm2020/charts/radial-chart/radial-chart.component.mjs +145 -0
  190. package/esm2020/charts/radial-chart/radial-chart.module.mjs +24 -0
  191. package/esm2020/charts/timeline-viewer-chart/models/timeline-viewer-chart-data.mjs +23 -0
  192. package/esm2020/charts/timeline-viewer-chart/models/timeline-viewer-chart-options.mjs +6 -0
  193. package/esm2020/charts/timeline-viewer-chart/timeline-viewer-chart.component.mjs +206 -0
  194. package/esm2020/charts/timeline-viewer-chart/timeline-viewer-chart.module.mjs +25 -0
  195. package/esm2020/i18n/biit-solutions-wizardry-theme-i18n.mjs +5 -0
  196. package/esm2020/i18n/i18n/http-loader.mjs +19 -0
  197. package/esm2020/i18n/i18n/supported-languages.mjs +9 -0
  198. package/esm2020/i18n/i18n/transloco-root.module.mjs +83 -0
  199. package/esm2020/i18n/public-api.mjs +7 -0
  200. package/esm2020/icon/biit-icon/biit-icon.component.mjs +92 -0
  201. package/esm2020/icon/biit-icon/biit-icon.module.mjs +24 -0
  202. package/esm2020/icon/biit-icon/biit-icon.service.mjs +25 -0
  203. package/esm2020/icon/biit-solutions-wizardry-theme-icon.mjs +5 -0
  204. package/esm2020/icon/public-api.mjs +7 -0
  205. package/esm2020/info/biit-cookies-consent/biit-cookies-consent.component.mjs +36 -0
  206. package/esm2020/info/biit-cookies-consent/biit-cookies-consent.module.mjs +36 -0
  207. package/esm2020/info/biit-gallery-card/biit-gallery-card.component.mjs +23 -0
  208. package/esm2020/info/biit-gallery-card/biit-gallery-card.module.mjs +28 -0
  209. package/esm2020/info/biit-progress-bar/biit-progress-bar.component.mjs +31 -0
  210. package/esm2020/info/biit-progress-bar/biit-progress-bar.module.mjs +24 -0
  211. package/esm2020/info/biit-snackbar/biit-notification/biit-notification.component.mjs +38 -0
  212. package/esm2020/info/biit-snackbar/biit-snackbar.component.mjs +50 -0
  213. package/esm2020/info/biit-snackbar/biit-snackbar.module.mjs +41 -0
  214. package/esm2020/info/biit-snackbar/biit-snackbar.service.mjs +64 -0
  215. package/esm2020/info/biit-snackbar/models/biit-snackbar-horizontal-position.mjs +7 -0
  216. package/esm2020/info/biit-snackbar/models/biit-snackbar-vertical-position.mjs +6 -0
  217. package/esm2020/info/biit-snackbar/models/notification-type.mjs +8 -0
  218. package/esm2020/info/biit-snackbar/models/notification.mjs +23 -0
  219. package/esm2020/info/biit-solutions-wizardry-theme-info.mjs +5 -0
  220. package/esm2020/info/biit-tooltip/biit-tooltip.component.mjs +19 -0
  221. package/esm2020/info/biit-tooltip/biit-tooltip.directive.mjs +106 -0
  222. package/esm2020/info/biit-tooltip/biit-tooltip.module.mjs +29 -0
  223. package/esm2020/info/biit-tooltip-icon/biit-tooltip-icon.component.mjs +23 -0
  224. package/esm2020/info/biit-tooltip-icon/biit-tooltip-icon.module.mjs +28 -0
  225. package/esm2020/info/public-api.mjs +23 -0
  226. package/esm2020/inputs/biit-checkbox/biit-checkbox.component.mjs +52 -0
  227. package/esm2020/inputs/biit-checkbox/biit-checkbox.module.mjs +32 -0
  228. package/esm2020/inputs/biit-datepicker/biit-datepicker.component.mjs +251 -0
  229. package/esm2020/inputs/biit-datepicker/biit-datepicker.module.mjs +68 -0
  230. package/esm2020/inputs/biit-datepicker/models/view.mjs +6 -0
  231. package/esm2020/inputs/biit-datepicker/pipes/calendar-date-pipe.mjs +18 -0
  232. package/esm2020/inputs/biit-datepicker/pipes/is-disabled-pipe.mjs +35 -0
  233. package/esm2020/inputs/biit-datepicker/pipes/is-same-day-pipe.mjs +19 -0
  234. package/esm2020/inputs/biit-datepicker/pipes/is-today-pipe.mjs +19 -0
  235. package/esm2020/inputs/biit-datepicker/pipes/month-selector-label-pipe.mjs +22 -0
  236. package/esm2020/inputs/biit-datepicker/pipes/out-of-month-pipe.mjs +19 -0
  237. package/esm2020/inputs/biit-dropdown/biit-dropdown.component.mjs +269 -0
  238. package/esm2020/inputs/biit-dropdown/biit-dropdown.module.mjs +36 -0
  239. package/esm2020/inputs/biit-group/biit-group.component.mjs +38 -0
  240. package/esm2020/inputs/biit-group/biit-group.module.mjs +32 -0
  241. package/esm2020/inputs/biit-input-text/biit-input-text.component.mjs +142 -0
  242. package/esm2020/inputs/biit-input-text/biit-input-text.module.mjs +40 -0
  243. package/esm2020/inputs/biit-multiselect/biit-multiselect.component.mjs +321 -0
  244. package/esm2020/inputs/biit-multiselect/biit-multiselect.module.mjs +40 -0
  245. package/esm2020/inputs/biit-radio-button/biit-radio-button.component.mjs +62 -0
  246. package/esm2020/inputs/biit-radio-button/biit-radio-button.module.mjs +36 -0
  247. package/esm2020/inputs/biit-slider/biit-slider.component.mjs +85 -0
  248. package/esm2020/inputs/biit-slider/biit-slider.module.mjs +32 -0
  249. package/esm2020/inputs/biit-slider-option/biit-slider-option.component.mjs +99 -0
  250. package/esm2020/inputs/biit-slider-option/biit-slider-option.module.mjs +36 -0
  251. package/esm2020/inputs/biit-slider-option-vertical/biit-slider-option-vertical.component.mjs +97 -0
  252. package/esm2020/inputs/biit-slider-option-vertical/biit-slider-option-vertical.module.mjs +36 -0
  253. package/esm2020/inputs/biit-slider-range/biit-slider-range.component.mjs +108 -0
  254. package/esm2020/inputs/biit-slider-range/biit-slider-range.module.mjs +32 -0
  255. package/esm2020/inputs/biit-solutions-wizardry-theme-inputs.mjs +5 -0
  256. package/esm2020/inputs/biit-ternary-togle/biit-ternary-toggle.component.mjs +65 -0
  257. package/esm2020/inputs/biit-ternary-togle/biit-ternary-toggle.module.mjs +31 -0
  258. package/esm2020/inputs/biit-textarea/biit-textarea.component.mjs +99 -0
  259. package/esm2020/inputs/biit-textarea/biit-textarea.module.mjs +36 -0
  260. package/esm2020/inputs/biit-toggle/biit-toggle.component.mjs +45 -0
  261. package/esm2020/inputs/biit-toggle/biit-toggle.module.mjs +28 -0
  262. package/esm2020/inputs/biit-toggle-group/biit-toggle-button.component.mjs +23 -0
  263. package/esm2020/inputs/biit-toggle-group/biit-toggle-group.component.mjs +69 -0
  264. package/esm2020/inputs/biit-toggle-group/biit-toggle-group.module.mjs +37 -0
  265. package/esm2020/inputs/public-api.mjs +36 -0
  266. package/esm2020/login/biit-login/biit-login.component.mjs +238 -0
  267. package/esm2020/login/biit-login/biit-login.module.mjs +53 -0
  268. package/esm2020/login/biit-login/models/LoginErrors.mjs +10 -0
  269. package/esm2020/login/biit-login/models/biit-login-service-support.mjs +2 -0
  270. package/esm2020/login/biit-login/models/sign-up-request.mjs +11 -0
  271. package/esm2020/login/biit-solutions-wizardry-theme-login.mjs +5 -0
  272. package/esm2020/login/public-api.mjs +8 -0
  273. package/esm2020/models/BiitLogin.mjs +14 -0
  274. package/esm2020/models/biit-solutions-wizardry-theme-models.mjs +5 -0
  275. package/esm2020/models/public-api.mjs +5 -0
  276. package/esm2020/navigation/biit-nav-menu/biit-nav-menu.component.mjs +87 -0
  277. package/esm2020/navigation/biit-nav-menu/biit-nav-menu.module.mjs +32 -0
  278. package/esm2020/navigation/biit-nav-user/biit-nav-user.component.mjs +26 -0
  279. package/esm2020/navigation/biit-nav-user/biit-nav-user.module.mjs +24 -0
  280. package/esm2020/navigation/biit-solutions-wizardry-theme-navigation.mjs +5 -0
  281. package/esm2020/navigation/biit-tab-group/biit-tab-group.component.mjs +54 -0
  282. package/esm2020/navigation/biit-tab-group/biit-tab-group.module.mjs +36 -0
  283. package/esm2020/navigation/biit-tab-group/biit-tab.component.mjs +21 -0
  284. package/esm2020/navigation/biit-vertical-menu/biit-vertical-menu.component.mjs +30 -0
  285. package/esm2020/navigation/biit-vertical-menu/biit-vertical-menu.module.mjs +36 -0
  286. package/esm2020/navigation/public-api.mjs +13 -0
  287. package/esm2020/popup/biit-popup/biit-popup.component.mjs +156 -0
  288. package/esm2020/popup/biit-popup/biit-popup.module.mjs +52 -0
  289. package/esm2020/popup/biit-solutions-wizardry-theme-popup.mjs +5 -0
  290. package/esm2020/popup/public-api.mjs +6 -0
  291. package/esm2020/public-api.mjs +6 -0
  292. package/esm2020/table/biit-datatable/biit-datatable.component.mjs +138 -0
  293. package/esm2020/table/biit-datatable/biit-datatable.module.mjs +62 -0
  294. package/esm2020/table/biit-datatable/models/datatable-column.mjs +15 -0
  295. package/esm2020/table/biit-datatable/models/page.mjs +11 -0
  296. package/esm2020/table/biit-datatable-pager/biit-datatable-pager.component.mjs +35 -0
  297. package/esm2020/table/biit-datatable-pager/biit-datatable-pager.module.mjs +40 -0
  298. package/esm2020/table/biit-paginator/biit-paginator.component.mjs +196 -0
  299. package/esm2020/table/biit-paginator/biit-paginator.module.mjs +48 -0
  300. package/esm2020/table/biit-paginator/models/biit-paginator-options.mjs +11 -0
  301. package/esm2020/table/biit-solutions-wizardry-theme-table.mjs +5 -0
  302. package/esm2020/table/biit-table/biit-table.component.mjs +301 -0
  303. package/esm2020/table/biit-table/biit-table.module.mjs +95 -0
  304. package/esm2020/table/biit-table/models/biit-table-action-response.mjs +7 -0
  305. package/esm2020/table/biit-table/models/biit-table-column.mjs +21 -0
  306. package/esm2020/table/biit-table/models/biit-table-data.mjs +7 -0
  307. package/esm2020/table/biit-table/models/biit-table-response.mjs +9 -0
  308. package/esm2020/table/biit-table/models/biit-table-sorting.mjs +12 -0
  309. package/esm2020/table/biit-table/models/column-resize-handler.mjs +3 -0
  310. package/esm2020/table/biit-table/pipes/column-data-pipe.mjs +21 -0
  311. package/esm2020/table/biit-table/pipes/visible-columns-pipe.mjs +16 -0
  312. package/esm2020/table/public-api.mjs +20 -0
  313. package/esm2020/table/utils/generic-filter.mjs +47 -0
  314. package/esm2020/table/utils/generic-sort.mjs +42 -0
  315. package/esm2020/utils/biit-solutions-wizardry-theme-utils.mjs +5 -0
  316. package/esm2020/utils/error-handler.mjs +24 -0
  317. package/esm2020/utils/i-stack.mjs +2 -0
  318. package/esm2020/utils/input-limits.mjs +8 -0
  319. package/esm2020/utils/pipes/localized-date-pipe.mjs +23 -0
  320. package/esm2020/utils/pipes/localized-date-pipe.module.mjs +17 -0
  321. package/esm2020/utils/pipes/map-get-pipe.mjs +21 -0
  322. package/esm2020/utils/pipes/map-get-pipe.module.mjs +17 -0
  323. package/esm2020/utils/public-api.mjs +11 -0
  324. package/esm2020/utils/stack.mjs +22 -0
  325. package/fesm2015/biit-solutions-wizardry-theme-button.mjs +233 -0
  326. package/fesm2015/biit-solutions-wizardry-theme-button.mjs.map +1 -0
  327. package/fesm2015/biit-solutions-wizardry-theme-calendar.mjs +369 -0
  328. package/fesm2015/biit-solutions-wizardry-theme-calendar.mjs.map +1 -0
  329. package/fesm2015/biit-solutions-wizardry-theme-charts.mjs +2780 -0
  330. package/fesm2015/biit-solutions-wizardry-theme-charts.mjs.map +1 -0
  331. package/fesm2015/biit-solutions-wizardry-theme-i18n.mjs +118 -0
  332. package/fesm2015/biit-solutions-wizardry-theme-i18n.mjs.map +1 -0
  333. package/fesm2015/biit-solutions-wizardry-theme-icon.mjs +147 -0
  334. package/fesm2015/biit-solutions-wizardry-theme-icon.mjs.map +1 -0
  335. package/fesm2015/biit-solutions-wizardry-theme-info.mjs +572 -0
  336. package/fesm2015/biit-solutions-wizardry-theme-info.mjs.map +1 -0
  337. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs +2317 -0
  338. package/fesm2015/biit-solutions-wizardry-theme-inputs.mjs.map +1 -0
  339. package/fesm2015/biit-solutions-wizardry-theme-login.mjs +318 -0
  340. package/fesm2015/biit-solutions-wizardry-theme-login.mjs.map +1 -0
  341. package/fesm2015/biit-solutions-wizardry-theme-models.mjs +24 -0
  342. package/fesm2015/biit-solutions-wizardry-theme-models.mjs.map +1 -0
  343. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs +330 -0
  344. package/fesm2015/biit-solutions-wizardry-theme-navigation.mjs.map +1 -0
  345. package/fesm2015/biit-solutions-wizardry-theme-popup.mjs +216 -0
  346. package/fesm2015/biit-solutions-wizardry-theme-popup.mjs.map +1 -0
  347. package/fesm2015/biit-solutions-wizardry-theme-table.mjs +1067 -0
  348. package/fesm2015/biit-solutions-wizardry-theme-table.mjs.map +1 -0
  349. package/fesm2015/biit-solutions-wizardry-theme-utils.mjs +136 -0
  350. package/fesm2015/biit-solutions-wizardry-theme-utils.mjs.map +1 -0
  351. package/fesm2015/biit-solutions-wizardry-theme.mjs +12 -0
  352. package/fesm2015/biit-solutions-wizardry-theme.mjs.map +1 -0
  353. package/fesm2020/biit-solutions-wizardry-theme-button.mjs +233 -0
  354. package/fesm2020/biit-solutions-wizardry-theme-button.mjs.map +1 -0
  355. package/fesm2020/biit-solutions-wizardry-theme-calendar.mjs +369 -0
  356. package/fesm2020/biit-solutions-wizardry-theme-calendar.mjs.map +1 -0
  357. package/fesm2020/biit-solutions-wizardry-theme-charts.mjs +2746 -0
  358. package/fesm2020/biit-solutions-wizardry-theme-charts.mjs.map +1 -0
  359. package/fesm2020/biit-solutions-wizardry-theme-i18n.mjs +118 -0
  360. package/fesm2020/biit-solutions-wizardry-theme-i18n.mjs.map +1 -0
  361. package/fesm2020/biit-solutions-wizardry-theme-icon.mjs +145 -0
  362. package/fesm2020/biit-solutions-wizardry-theme-icon.mjs.map +1 -0
  363. package/fesm2020/biit-solutions-wizardry-theme-info.mjs +572 -0
  364. package/fesm2020/biit-solutions-wizardry-theme-info.mjs.map +1 -0
  365. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs +2313 -0
  366. package/fesm2020/biit-solutions-wizardry-theme-inputs.mjs.map +1 -0
  367. package/fesm2020/biit-solutions-wizardry-theme-login.mjs +317 -0
  368. package/fesm2020/biit-solutions-wizardry-theme-login.mjs.map +1 -0
  369. package/fesm2020/biit-solutions-wizardry-theme-models.mjs +24 -0
  370. package/fesm2020/biit-solutions-wizardry-theme-models.mjs.map +1 -0
  371. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs +328 -0
  372. package/fesm2020/biit-solutions-wizardry-theme-navigation.mjs.map +1 -0
  373. package/fesm2020/biit-solutions-wizardry-theme-popup.mjs +216 -0
  374. package/fesm2020/biit-solutions-wizardry-theme-popup.mjs.map +1 -0
  375. package/fesm2020/biit-solutions-wizardry-theme-table.mjs +1064 -0
  376. package/fesm2020/biit-solutions-wizardry-theme-table.mjs.map +1 -0
  377. package/fesm2020/biit-solutions-wizardry-theme-utils.mjs +135 -0
  378. package/fesm2020/biit-solutions-wizardry-theme-utils.mjs.map +1 -0
  379. package/fesm2020/biit-solutions-wizardry-theme.mjs +12 -0
  380. package/fesm2020/biit-solutions-wizardry-theme.mjs.map +1 -0
  381. package/i18n/i18n/http-loader.d.ts +11 -0
  382. package/i18n/i18n/supported-languages.d.ts +10 -0
  383. package/i18n/i18n/transloco-root.module.d.ts +8 -0
  384. package/i18n/index.d.ts +5 -0
  385. package/i18n/public-api.d.ts +3 -0
  386. package/icon/biit-icon/biit-icon.component.d.ts +23 -0
  387. package/icon/biit-icon/biit-icon.module.d.ts +8 -0
  388. package/icon/biit-icon/biit-icon.service.d.ts +10 -0
  389. package/icon/index.d.ts +5 -0
  390. package/icon/public-api.d.ts +3 -0
  391. package/index.d.ts +5 -0
  392. package/info/biit-cookies-consent/biit-cookies-consent.component.d.ts +8 -0
  393. package/info/biit-cookies-consent/biit-cookies-consent.module.d.ts +11 -0
  394. package/info/biit-gallery-card/biit-gallery-card.component.d.ts +9 -0
  395. package/info/biit-gallery-card/biit-gallery-card.module.d.ts +9 -0
  396. package/info/biit-progress-bar/biit-progress-bar.component.d.ts +13 -0
  397. package/info/biit-progress-bar/biit-progress-bar.module.d.ts +8 -0
  398. package/info/biit-snackbar/biit-notification/biit-notification.component.d.ts +12 -0
  399. package/info/biit-snackbar/biit-snackbar.component.d.ts +12 -0
  400. package/info/biit-snackbar/biit-snackbar.module.d.ts +12 -0
  401. package/info/biit-snackbar/biit-snackbar.service.d.ts +21 -0
  402. package/info/biit-snackbar/models/biit-snackbar-horizontal-position.d.ts +5 -0
  403. package/info/biit-snackbar/models/biit-snackbar-vertical-position.d.ts +4 -0
  404. package/info/biit-snackbar/models/notification-type.d.ts +6 -0
  405. package/info/biit-snackbar/models/notification.d.ts +12 -0
  406. package/info/biit-tooltip/biit-tooltip.component.d.ts +11 -0
  407. package/info/biit-tooltip/biit-tooltip.directive.d.ts +16 -0
  408. package/info/biit-tooltip/biit-tooltip.module.d.ts +9 -0
  409. package/info/biit-tooltip-icon/biit-tooltip-icon.component.d.ts +8 -0
  410. package/info/biit-tooltip-icon/biit-tooltip-icon.module.d.ts +9 -0
  411. package/info/index.d.ts +5 -0
  412. package/info/public-api.d.ts +19 -0
  413. package/inputs/biit-checkbox/biit-checkbox.component.d.ts +16 -0
  414. package/inputs/biit-checkbox/biit-checkbox.module.d.ts +10 -0
  415. package/inputs/biit-datepicker/biit-datepicker.component.d.ts +59 -0
  416. package/inputs/biit-datepicker/biit-datepicker.module.d.ts +20 -0
  417. package/inputs/biit-datepicker/models/view.d.ts +4 -0
  418. package/inputs/biit-datepicker/pipes/calendar-date-pipe.d.ts +8 -0
  419. package/inputs/biit-datepicker/pipes/is-disabled-pipe.d.ts +8 -0
  420. package/inputs/biit-datepicker/pipes/is-same-day-pipe.d.ts +8 -0
  421. package/inputs/biit-datepicker/pipes/is-today-pipe.d.ts +8 -0
  422. package/inputs/biit-datepicker/pipes/month-selector-label-pipe.d.ts +11 -0
  423. package/inputs/biit-datepicker/pipes/out-of-month-pipe.d.ts +8 -0
  424. package/inputs/biit-dropdown/biit-dropdown.component.d.ts +52 -0
  425. package/inputs/biit-dropdown/biit-dropdown.module.d.ts +11 -0
  426. package/inputs/biit-group/biit-group.component.d.ts +14 -0
  427. package/inputs/biit-group/biit-group.module.d.ts +10 -0
  428. package/inputs/biit-input-text/biit-input-text.component.d.ts +44 -0
  429. package/inputs/biit-input-text/biit-input-text.module.d.ts +12 -0
  430. package/inputs/biit-multiselect/biit-multiselect.component.d.ts +63 -0
  431. package/inputs/biit-multiselect/biit-multiselect.module.d.ts +12 -0
  432. package/inputs/biit-radio-button/biit-radio-button.component.d.ts +22 -0
  433. package/inputs/biit-radio-button/biit-radio-button.module.d.ts +11 -0
  434. package/inputs/biit-slider/biit-slider.component.d.ts +27 -0
  435. package/inputs/biit-slider/biit-slider.module.d.ts +10 -0
  436. package/inputs/biit-slider-option/biit-slider-option.component.d.ts +32 -0
  437. package/inputs/biit-slider-option/biit-slider-option.module.d.ts +11 -0
  438. package/inputs/biit-slider-option-vertical/biit-slider-option-vertical.component.d.ts +32 -0
  439. package/inputs/biit-slider-option-vertical/biit-slider-option-vertical.module.d.ts +11 -0
  440. package/inputs/biit-slider-range/biit-slider-range.component.d.ts +28 -0
  441. package/inputs/biit-slider-range/biit-slider-range.module.d.ts +10 -0
  442. package/inputs/biit-ternary-togle/biit-ternary-toggle.component.d.ts +15 -0
  443. package/inputs/biit-ternary-togle/biit-ternary-toggle.module.d.ts +9 -0
  444. package/inputs/biit-textarea/biit-textarea.component.d.ts +31 -0
  445. package/inputs/biit-textarea/biit-textarea.module.d.ts +11 -0
  446. package/inputs/biit-toggle/biit-toggle.component.d.ts +14 -0
  447. package/inputs/biit-toggle/biit-toggle.module.d.ts +9 -0
  448. package/inputs/biit-toggle-group/biit-toggle-button.component.d.ts +12 -0
  449. package/inputs/biit-toggle-group/biit-toggle-group.component.d.ts +19 -0
  450. package/inputs/biit-toggle-group/biit-toggle-group.module.d.ts +11 -0
  451. package/inputs/index.d.ts +5 -0
  452. package/inputs/public-api.d.ts +32 -0
  453. package/login/biit-login/biit-login.component.d.ts +59 -0
  454. package/login/biit-login/biit-login.module.d.ts +14 -0
  455. package/login/biit-login/models/LoginErrors.d.ts +8 -0
  456. package/login/biit-login/models/biit-login-service-support.d.ts +3 -0
  457. package/login/biit-login/models/sign-up-request.d.ts +10 -0
  458. package/login/index.d.ts +5 -0
  459. package/login/public-api.d.ts +4 -0
  460. package/models/BiitLogin.d.ts +6 -0
  461. package/models/index.d.ts +5 -0
  462. package/models/public-api.d.ts +1 -0
  463. package/navigation/biit-nav-menu/biit-nav-menu.component.d.ts +31 -0
  464. package/navigation/biit-nav-menu/biit-nav-menu.module.d.ts +10 -0
  465. package/navigation/biit-nav-user/biit-nav-user.component.d.ts +10 -0
  466. package/navigation/biit-nav-user/biit-nav-user.module.d.ts +8 -0
  467. package/navigation/biit-tab-group/biit-tab-group.component.d.ts +18 -0
  468. package/navigation/biit-tab-group/biit-tab-group.module.d.ts +10 -0
  469. package/navigation/biit-tab-group/biit-tab.component.d.ts +8 -0
  470. package/navigation/biit-vertical-menu/biit-vertical-menu.component.d.ts +11 -0
  471. package/navigation/biit-vertical-menu/biit-vertical-menu.module.d.ts +12 -0
  472. package/navigation/index.d.ts +5 -0
  473. package/navigation/public-api.d.ts +9 -0
  474. package/package.json +151 -0
  475. package/popup/biit-popup/biit-popup.component.d.ts +66 -0
  476. package/popup/biit-popup/biit-popup.module.d.ts +9 -0
  477. package/popup/index.d.ts +5 -0
  478. package/popup/public-api.d.ts +2 -0
  479. package/public-api.d.ts +1 -0
  480. package/styles.scss +128 -0
  481. package/table/biit-datatable/biit-datatable.component.d.ts +57 -0
  482. package/table/biit-datatable/biit-datatable.module.d.ts +15 -0
  483. package/table/biit-datatable/models/datatable-column.d.ts +192 -0
  484. package/table/biit-datatable/models/page.d.ts +6 -0
  485. package/table/biit-datatable-pager/biit-datatable-pager.component.d.ts +10 -0
  486. package/table/biit-datatable-pager/biit-datatable-pager.module.d.ts +13 -0
  487. package/table/biit-paginator/biit-paginator.component.d.ts +31 -0
  488. package/table/biit-paginator/biit-paginator.module.d.ts +13 -0
  489. package/table/biit-paginator/models/biit-paginator-options.d.ts +9 -0
  490. package/table/biit-table/biit-table.component.d.ts +87 -0
  491. package/table/biit-table/biit-table.module.d.ts +19 -0
  492. package/table/biit-table/models/biit-table-action-response.d.ts +5 -0
  493. package/table/biit-table/models/biit-table-column.d.ts +18 -0
  494. package/table/biit-table/models/biit-table-data.d.ts +5 -0
  495. package/table/biit-table/models/biit-table-response.d.ts +8 -0
  496. package/table/biit-table/models/biit-table-sorting.d.ts +9 -0
  497. package/table/biit-table/models/column-resize-handler.d.ts +7 -0
  498. package/table/biit-table/pipes/column-data-pipe.d.ts +7 -0
  499. package/table/biit-table/pipes/visible-columns-pipe.d.ts +8 -0
  500. package/table/index.d.ts +5 -0
  501. package/table/public-api.d.ts +16 -0
  502. package/table/utils/generic-filter.d.ts +3 -0
  503. package/table/utils/generic-sort.d.ts +5 -0
  504. package/utils/error-handler.d.ts +6 -0
  505. package/utils/i-stack.d.ts +6 -0
  506. package/utils/index.d.ts +5 -0
  507. package/utils/input-limits.d.ts +7 -0
  508. package/utils/pipes/localized-date-pipe.d.ts +10 -0
  509. package/utils/pipes/localized-date-pipe.module.d.ts +7 -0
  510. package/utils/pipes/map-get-pipe.d.ts +7 -0
  511. package/utils/pipes/map-get-pipe.module.d.ts +7 -0
  512. package/utils/public-api.d.ts +7 -0
  513. package/utils/stack.d.ts +10 -0
@@ -0,0 +1,2317 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, forwardRef, Component, Input, Output, NgModule, ContentChildren, Pipe, HostListener, ViewEncapsulation, ViewChild, HostBinding } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import * as i2 from '@angular/forms';
6
+ import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
7
+ import * as i1$1 from '@ngneat/transloco';
8
+ import { TRANSLOCO_SCOPE } from '@ngneat/transloco';
9
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
10
+ import * as i3 from '@biit-solutions/wizardry-theme/icon';
11
+ import { BiitIconModule } from '@biit-solutions/wizardry-theme/icon';
12
+ import * as i3$1 from '@biit-solutions/wizardry-theme/info';
13
+ import { BiitTooltipIconModule } from '@biit-solutions/wizardry-theme/info';
14
+ import { TranslocoRootModule } from '@biit-solutions/wizardry-theme/i18n';
15
+ import * as i4 from '@biit-solutions/wizardry-theme/button';
16
+ import { BiitIconButtonModule, BiitButtonModule } from '@biit-solutions/wizardry-theme/button';
17
+ import { isSameMonth, isToday, isSameDay, isWeekend, add, sub, parseISO, setDefaultOptions, startOfWeek, setDate, eachDayOfInterval } from 'date-fns';
18
+ import { enGB, nl, es } from 'date-fns/locale';
19
+ import * as i6 from '@ngneat/transloco-locale';
20
+ import { TranslocoDatePipe } from '@ngneat/transloco-locale';
21
+ import { LocalizedDatePipeModule } from '@biit-solutions/wizardry-theme/utils';
22
+
23
+ class BiitInputTextComponent {
24
+ constructor() {
25
+ this._placeholder = '';
26
+ this.onActionPerformed = new EventEmitter();
27
+ this.reveal = false;
28
+ this.minLengthError = false;
29
+ this.regExError = false;
30
+ this.Type = Type;
31
+ this.onChange = (_) => { };
32
+ this.onTouch = () => { };
33
+ }
34
+ set placeholder(placeholder) {
35
+ this._placeholder = placeholder;
36
+ }
37
+ ngOnInit() {
38
+ this.disabled = coerceBooleanProperty(this.disabled);
39
+ this.required = coerceBooleanProperty(this.required);
40
+ this.readonly = coerceBooleanProperty(this.readonly);
41
+ if (this.type == Type.EMAIL) {
42
+ this.regEx = new RegExp("(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\\])");
43
+ }
44
+ }
45
+ validateInput() {
46
+ if (this.value !== undefined) {
47
+ if (this.regEx) {
48
+ this.regExError = !this.regEx.test(this.value);
49
+ }
50
+ if (this.minLength) {
51
+ this.minLengthError = this.value.length < this.minLength;
52
+ }
53
+ }
54
+ else {
55
+ this.regExError = false;
56
+ this.minLengthError = false;
57
+ }
58
+ }
59
+ registerOnChange(fn) {
60
+ this.onChange = fn;
61
+ }
62
+ registerOnTouched(fn) {
63
+ this.onTouch = fn;
64
+ }
65
+ writeValue(value) {
66
+ this.value = value;
67
+ }
68
+ checkValue(event) {
69
+ var _a;
70
+ if (this.type === Type.NUMBER) {
71
+ const input = event.target;
72
+ const cursorPos = (_a = input.selectionStart) !== null && _a !== void 0 ? _a : 0;
73
+ const value = input.value;
74
+ // Allow digits and control keys
75
+ if (/[0-9]/.test(event.key) || ['Backspace', 'Tab', 'ArrowLeft', 'ArrowRight', 'Delete'].includes(event.key)) {
76
+ return;
77
+ }
78
+ // Allow '-' only at the start and if not already present
79
+ if (event.key === '-' && cursorPos === 0 && !value.startsWith('-')) {
80
+ return;
81
+ }
82
+ // Allow '.' or ',' only if neither is present
83
+ if ((event.key === '.' || event.key === ',') && !value.includes('.') && !value.includes(',')) {
84
+ return;
85
+ }
86
+ event.preventDefault();
87
+ }
88
+ }
89
+ }
90
+ BiitInputTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitInputTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
91
+ BiitInputTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitInputTextComponent, selector: "biit-input-text", inputs: { placeholder: "placeholder", error: "error", description: "description", info: "info", type: "type", icon: "icon", fieldName: "fieldName", disabled: "disabled", required: "required", readonly: "readonly", min: "min", max: "max", minLength: "minLength", maxLength: "maxLength", regEx: "regEx" }, outputs: { onActionPerformed: "onActionPerformed" }, providers: [
92
+ {
93
+ provide: NG_VALUE_ACCESSOR,
94
+ useExisting: forwardRef(() => BiitInputTextComponent),
95
+ multi: true
96
+ },
97
+ {
98
+ provide: TRANSLOCO_SCOPE,
99
+ useValue: { scope: 'wizardry-theme/inputs', alias: "inputs" }
100
+ }
101
+ ], ngImport: i0, template: "<div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\" *transloco=\"let t\">\n <div class=\"input-container\">\n <biit-tooltip-icon *ngIf=\"info\"\n class=\"tooltip-icon\"\n [text]=\"info\"></biit-tooltip-icon>\n <input\n class=\"input-object\"\n (keydown)=\"checkValue($event)\"\n [(ngModel)]=\"value\"\n (input)=\"value\"\n (ngModelChange)=\"onChange($event); validateInput();\"\n (keydown.enter)=\"onActionPerformed.emit(value)\"\n [type]=\"reveal ? Type.TEXT : type\" required\n [min]=\"min\"\n [max]=\"max\"\n [minlength]=\"minLength\"\n [maxlength]=\"maxLength ? maxLength : 100\"\n [attr.name]=\"fieldName\"\n [class.error]=\"error || regExError || minLengthError\"\n [class.reveal]=\"reveal\"\n >\n <div *ngIf=\"type === Type.PASSWORD || icon\" class=\"input-show-icon-container\"\n (click)=\"reveal = (type === Type.PASSWORD ? !reveal : false); onActionPerformed.emit(value)\"\n (keydown.enter)=\"reveal = (type === Type.PASSWORD ? !reveal : false); onActionPerformed.emit(value)\"\n tabindex=\"0\">\n <biit-icon [name]=\"type === Type.PASSWORD ? 'show' : icon\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: reveal ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div class=\"input-placeholder\" [class.input-filled]=\"this.value?.toString().length\">\n {{ _placeholder }}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error || regExError || minLengthError\" id=\"exclamation\" name=\"exclamation\"\n class=\"input-error-icon\" [pathStyle]=\"{fill:'#A1093F'}\"></biit-icon>\n <div class=\"bottom-line\"\n [class.disabled]=\"disabled\"\n [class.readonly]=\"readonly\"\n ></div>\n <div *ngIf=\"error\" class=\"input-error-msg\" id=\"error-message\">\n <a id=\"message\">\n {{ error }}\n </a>\n </div>\n <div *ngIf=\"regExError && !error\" id=\"regex-error-message\" class=\"input-error-msg\">\n <a id=\"regex-message\">\n {{ t('inputs.regex-error') }}\n </a>\n </div>\n <div *ngIf=\"minLengthError && !error && !regExError\" id=\"length-error-message\" class=\"input-error-msg\">\n <a id=\"length-message\">\n {{ t('inputs.minlength-error') }}\n </a>\n </div>\n <span *ngIf=\"description\" id=\"description\" class=\"input-description\">\n {{ description }}\n </span>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}.biit-input{display:flex;min-width:12.8em}.biit-input.disabled{pointer-events:none}.biit-input.disabled .input-object{background:#D9D9D9;color:gray}.biit-input.readonly .input-object{color:gray}.input-container{position:relative;width:100%}.input-object{font-size:1em;display:block;border:none;color:#262626;padding:.7em;height:2.1em;width:100%;min-width:2.1em;font-weight:400}.input-object:focus{outline:none;background:#D9D9D9}.input-object:hover{background:#D9D9D9}.input-object.error{color:#a1093f;border-color:#a1093f}.input-object.password{padding:.7em 2.1em .55em .7em}.input-object.password.reveal{-webkit-text-security:none;input-security:none}.input-placeholder{color:#262626;font-size:1em;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7em;top:.42em;height:.7em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-object:focus~.input-placeholder,.input-object:-webkit-autofill~.input-placeholder,.input-filled{top:-.95em;font-size:.7em;line-height:.7em;font-weight:400;color:gray}.input-error-icon{display:flex;top:.7em;position:absolute;width:.7em;height:.7em}.input-error-msg{position:absolute;display:flex;align-items:center;font-size:.75em;color:#a1093f;padding-top:.2em;min-height:1.05em;line-height:120%}.input-error-msg a{display:block;line-height:1.1em}.input-show-icon{width:1.05em;height:1.05em}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1em;height:2.1em;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{background-color:#d9d9d9;border:none;outline:none}.input-description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:1.4em;min-height:1.05em;line-height:120%;font-style:italic}.input-description a{display:block;line-height:1.1em}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.bottom-line.disabled,.bottom-line.readonly{background:#808080}.tooltip-icon{position:absolute;top:-.5em;left:-.5em}@media (max-width: 550px){.popup-canvas{min-width:0}.login-container{flex-direction:column-reverse;gap:2rem}}input[type=password]::-webkit-contacts-auto-fill-button,input[type=password]::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;height:0;width:0;margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$1.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: i3$1.BiitTooltipIconComponent, selector: "biit-tooltip-icon", inputs: ["text", "inline"] }] });
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitInputTextComponent, decorators: [{
103
+ type: Component,
104
+ args: [{ selector: 'biit-input-text', providers: [
105
+ {
106
+ provide: NG_VALUE_ACCESSOR,
107
+ useExisting: forwardRef(() => BiitInputTextComponent),
108
+ multi: true
109
+ },
110
+ {
111
+ provide: TRANSLOCO_SCOPE,
112
+ useValue: { scope: 'wizardry-theme/inputs', alias: "inputs" }
113
+ }
114
+ ], template: "<div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\" *transloco=\"let t\">\n <div class=\"input-container\">\n <biit-tooltip-icon *ngIf=\"info\"\n class=\"tooltip-icon\"\n [text]=\"info\"></biit-tooltip-icon>\n <input\n class=\"input-object\"\n (keydown)=\"checkValue($event)\"\n [(ngModel)]=\"value\"\n (input)=\"value\"\n (ngModelChange)=\"onChange($event); validateInput();\"\n (keydown.enter)=\"onActionPerformed.emit(value)\"\n [type]=\"reveal ? Type.TEXT : type\" required\n [min]=\"min\"\n [max]=\"max\"\n [minlength]=\"minLength\"\n [maxlength]=\"maxLength ? maxLength : 100\"\n [attr.name]=\"fieldName\"\n [class.error]=\"error || regExError || minLengthError\"\n [class.reveal]=\"reveal\"\n >\n <div *ngIf=\"type === Type.PASSWORD || icon\" class=\"input-show-icon-container\"\n (click)=\"reveal = (type === Type.PASSWORD ? !reveal : false); onActionPerformed.emit(value)\"\n (keydown.enter)=\"reveal = (type === Type.PASSWORD ? !reveal : false); onActionPerformed.emit(value)\"\n tabindex=\"0\">\n <biit-icon [name]=\"type === Type.PASSWORD ? 'show' : icon\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: reveal ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div class=\"input-placeholder\" [class.input-filled]=\"this.value?.toString().length\">\n {{ _placeholder }}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error || regExError || minLengthError\" id=\"exclamation\" name=\"exclamation\"\n class=\"input-error-icon\" [pathStyle]=\"{fill:'#A1093F'}\"></biit-icon>\n <div class=\"bottom-line\"\n [class.disabled]=\"disabled\"\n [class.readonly]=\"readonly\"\n ></div>\n <div *ngIf=\"error\" class=\"input-error-msg\" id=\"error-message\">\n <a id=\"message\">\n {{ error }}\n </a>\n </div>\n <div *ngIf=\"regExError && !error\" id=\"regex-error-message\" class=\"input-error-msg\">\n <a id=\"regex-message\">\n {{ t('inputs.regex-error') }}\n </a>\n </div>\n <div *ngIf=\"minLengthError && !error && !regExError\" id=\"length-error-message\" class=\"input-error-msg\">\n <a id=\"length-message\">\n {{ t('inputs.minlength-error') }}\n </a>\n </div>\n <span *ngIf=\"description\" id=\"description\" class=\"input-description\">\n {{ description }}\n </span>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}.biit-input{display:flex;min-width:12.8em}.biit-input.disabled{pointer-events:none}.biit-input.disabled .input-object{background:#D9D9D9;color:gray}.biit-input.readonly .input-object{color:gray}.input-container{position:relative;width:100%}.input-object{font-size:1em;display:block;border:none;color:#262626;padding:.7em;height:2.1em;width:100%;min-width:2.1em;font-weight:400}.input-object:focus{outline:none;background:#D9D9D9}.input-object:hover{background:#D9D9D9}.input-object.error{color:#a1093f;border-color:#a1093f}.input-object.password{padding:.7em 2.1em .55em .7em}.input-object.password.reveal{-webkit-text-security:none;input-security:none}.input-placeholder{color:#262626;font-size:1em;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7em;top:.42em;height:.7em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-object:focus~.input-placeholder,.input-object:-webkit-autofill~.input-placeholder,.input-filled{top:-.95em;font-size:.7em;line-height:.7em;font-weight:400;color:gray}.input-error-icon{display:flex;top:.7em;position:absolute;width:.7em;height:.7em}.input-error-msg{position:absolute;display:flex;align-items:center;font-size:.75em;color:#a1093f;padding-top:.2em;min-height:1.05em;line-height:120%}.input-error-msg a{display:block;line-height:1.1em}.input-show-icon{width:1.05em;height:1.05em}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1em;height:2.1em;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{background-color:#d9d9d9;border:none;outline:none}.input-description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:1.4em;min-height:1.05em;line-height:120%;font-style:italic}.input-description a{display:block;line-height:1.1em}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.bottom-line.disabled,.bottom-line.readonly{background:#808080}.tooltip-icon{position:absolute;top:-.5em;left:-.5em}@media (max-width: 550px){.popup-canvas{min-width:0}.login-container{flex-direction:column-reverse;gap:2rem}}input[type=password]::-webkit-contacts-auto-fill-button,input[type=password]::-webkit-credentials-auto-fill-button{visibility:hidden;display:none!important;pointer-events:none;height:0;width:0;margin:0}\n"] }]
115
+ }], propDecorators: { placeholder: [{
116
+ type: Input
117
+ }], error: [{
118
+ type: Input
119
+ }], description: [{
120
+ type: Input
121
+ }], info: [{
122
+ type: Input
123
+ }], type: [{
124
+ type: Input
125
+ }], icon: [{
126
+ type: Input
127
+ }], fieldName: [{
128
+ type: Input
129
+ }], disabled: [{
130
+ type: Input
131
+ }], required: [{
132
+ type: Input
133
+ }], readonly: [{
134
+ type: Input
135
+ }], min: [{
136
+ type: Input
137
+ }], max: [{
138
+ type: Input
139
+ }], minLength: [{
140
+ type: Input
141
+ }], maxLength: [{
142
+ type: Input
143
+ }], regEx: [{
144
+ type: Input
145
+ }], onActionPerformed: [{
146
+ type: Output
147
+ }] } });
148
+ var Type;
149
+ (function (Type) {
150
+ Type["TEXT"] = "TEXT";
151
+ Type["NUMBER"] = "NUMBER";
152
+ Type["EMAIL"] = "EMAIL";
153
+ Type["PASSWORD"] = "PASSWORD";
154
+ })(Type || (Type = {}));
155
+
156
+ class BiitInputTextModule {
157
+ }
158
+ BiitInputTextModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitInputTextModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
159
+ BiitInputTextModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitInputTextModule, declarations: [BiitInputTextComponent], imports: [CommonModule,
160
+ BiitIconModule,
161
+ FormsModule,
162
+ TranslocoRootModule,
163
+ BiitTooltipIconModule], exports: [BiitInputTextComponent] });
164
+ BiitInputTextModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitInputTextModule, imports: [CommonModule,
165
+ BiitIconModule,
166
+ FormsModule,
167
+ TranslocoRootModule,
168
+ BiitTooltipIconModule] });
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitInputTextModule, decorators: [{
170
+ type: NgModule,
171
+ args: [{
172
+ declarations: [
173
+ BiitInputTextComponent
174
+ ],
175
+ imports: [
176
+ CommonModule,
177
+ BiitIconModule,
178
+ FormsModule,
179
+ TranslocoRootModule,
180
+ BiitTooltipIconModule
181
+ ],
182
+ exports: [
183
+ BiitInputTextComponent
184
+ ]
185
+ }]
186
+ }] });
187
+
188
+ class BiitDropdownComponent {
189
+ set primitive(primitive) {
190
+ this.isPrimitive = coerceBooleanProperty(primitive);
191
+ }
192
+ ;
193
+ set compact(compact) {
194
+ this.isCompact = coerceBooleanProperty(compact);
195
+ }
196
+ ;
197
+ set disabled(disabled) {
198
+ this.isDisabled = coerceBooleanProperty(disabled);
199
+ }
200
+ ;
201
+ set required(required) {
202
+ this.isRequired = coerceBooleanProperty(required);
203
+ }
204
+ ;
205
+ set sortAsc(sortAsc) {
206
+ this.isSortAsc = coerceBooleanProperty(sortAsc);
207
+ }
208
+ ;
209
+ set sortDesc(sortDesc) {
210
+ this.isSortDesc = coerceBooleanProperty(sortDesc);
211
+ }
212
+ ;
213
+ get dropdownElement() { return this.elem.nativeElement.querySelector('.dropdown-list'); }
214
+ get inputElement() { return this.elem.nativeElement.querySelector('.input-object'); }
215
+ constructor(elem, iDiff) {
216
+ this.elem = elem;
217
+ this.label = '';
218
+ this.value = '';
219
+ this.descriptionLabel = '';
220
+ this.description = '';
221
+ this.data = [];
222
+ this.filterText = '';
223
+ this.dropdownOpen = false;
224
+ this.onChange = (value) => { };
225
+ this.onTouched = () => { };
226
+ this.differ = iDiff.find(this.data).create();
227
+ }
228
+ ngOnInit() {
229
+ this.handleFilter();
230
+ }
231
+ ngDoCheck() {
232
+ if (this.differ.diff(this.data)) {
233
+ this.handleFilter();
234
+ }
235
+ }
236
+ registerOnChange(fn) {
237
+ this.onChange = fn;
238
+ }
239
+ registerOnTouched(fn) {
240
+ this.onTouched = fn;
241
+ }
242
+ writeValue(value) {
243
+ this.currentValue = this.isPrimitive ? this.data.find(i => i[this.value] === value) : value;
244
+ }
245
+ onModelChange(value) {
246
+ this.currentValue = value;
247
+ this.closeDropdown();
248
+ this.onChange(this.isPrimitive ? value[this.value] : value);
249
+ }
250
+ handleMouseEvents($event) {
251
+ if (this.dropdownOpen && !this.elem.nativeElement.contains($event.target)) {
252
+ this.closeDropdown();
253
+ }
254
+ }
255
+ handleKeyboardEvents($event) {
256
+ var _a, _b;
257
+ switch ($event.key) {
258
+ case 'ArrowUp':
259
+ if (this.dropdownOpen) {
260
+ if (document.activeElement.tagName == "BUTTON" && document.activeElement.previousElementSibling) {
261
+ (_a = document.activeElement.previousElementSibling) === null || _a === void 0 ? void 0 : _a.focus();
262
+ }
263
+ else if (document.activeElement !== this.inputElement) {
264
+ this.inputElement.focus();
265
+ }
266
+ }
267
+ else if (this.data.findIndex(i => i == this.currentValue) > 0) {
268
+ this.onModelChange(this.data[this.data.findIndex(i => i == this.currentValue) - 1]);
269
+ }
270
+ break;
271
+ case 'ArrowDown':
272
+ if (this.dropdownOpen) {
273
+ if (document.activeElement === this.inputElement && this.filteredData.length) {
274
+ this.dropdownElement.firstChild.focus();
275
+ }
276
+ else {
277
+ (_b = document.activeElement.nextElementSibling) === null || _b === void 0 ? void 0 : _b.focus();
278
+ }
279
+ }
280
+ else if (this.data.findIndex(i => i == this.currentValue) < this.data.length - 1) {
281
+ this.onModelChange(this.data[this.data.findIndex(i => i == this.currentValue) + 1]);
282
+ }
283
+ break;
284
+ case 'Escape':
285
+ if (document.activeElement.tagName == "BUTTON") {
286
+ this.inputElement.focus();
287
+ }
288
+ else {
289
+ this.closeDropdown();
290
+ }
291
+ break;
292
+ default:
293
+ break;
294
+ }
295
+ $event.stopPropagation();
296
+ }
297
+ handleFilter() {
298
+ if (this.data) {
299
+ this.sortData();
300
+ if (this.filterText) {
301
+ if (this.isPrimitive) {
302
+ this.filteredData = this.data.filter(item => item.toString().toLowerCase().includes(this.filterText.normalize('NFD').replace(/[\u0300-\u036f]/g, "").toLowerCase()));
303
+ }
304
+ else {
305
+ this.filteredData = this.data.filter(item => item[this.label].toLowerCase().includes(this.filterText.normalize('NFD').replace(/[\u0300-\u036f]/g, "").toLowerCase()));
306
+ }
307
+ }
308
+ else {
309
+ this.filteredData = this.data;
310
+ }
311
+ }
312
+ else {
313
+ this.filteredData = [];
314
+ }
315
+ }
316
+ clearFilter() {
317
+ this.filterText = '';
318
+ this.handleFilter();
319
+ }
320
+ sortData() {
321
+ if (this.isPrimitive) {
322
+ if (this.isSortAsc || this.isSortDesc) {
323
+ this.data.sort((a, b) => this.isSortAsc ? (a > b ? 1 : (b > a ? -1 : 0)) : (a > b ? -1 : (b > a ? 1 : 0)));
324
+ }
325
+ }
326
+ else {
327
+ if (this.isSortAsc || this.isSortDesc) {
328
+ this.data.sort((a, b) => {
329
+ if (a[this.label] < b[this.label]) {
330
+ return this.isSortAsc ? -1 : 1;
331
+ }
332
+ else if (a[this.label] > b[this.label]) {
333
+ return this.isSortAsc ? 1 : -1;
334
+ }
335
+ else {
336
+ return 0;
337
+ }
338
+ });
339
+ }
340
+ }
341
+ }
342
+ openDropdown() {
343
+ this.setTooltipComponentProperties();
344
+ if (!this.icon) {
345
+ this.inputElement.focus();
346
+ }
347
+ // Setting a timeout because it doesn't load upwards/downwards css classes on execution time
348
+ setTimeout(() => {
349
+ this.dropdownOpen = true;
350
+ this.dropdownElement.setAttribute('aria-expanded', "true");
351
+ }, 100);
352
+ }
353
+ closeDropdown() {
354
+ this.dropdownOpen = false;
355
+ this.dropdownElement.setAttribute('aria-expanded', "false");
356
+ setTimeout(() => { this.clearFilter(); }, 1000);
357
+ }
358
+ setTooltipComponentProperties() {
359
+ let button;
360
+ let dropdown = this.dropdownElement;
361
+ dropdown.style.display = 'block';
362
+ if (!this.icon) {
363
+ button = this.inputElement;
364
+ }
365
+ else {
366
+ button = this.elem.nativeElement.querySelector("button");
367
+ }
368
+ // Checking available screen space
369
+ const fitsBottom = bottomCheck();
370
+ const fitsRight = rightCheck();
371
+ const fitsLeft = leftCheck();
372
+ if (!fitsRight && fitsLeft) {
373
+ dropdown.style.marginLeft = button.offsetWidth - dropdown.offsetWidth + 'px';
374
+ }
375
+ else {
376
+ dropdown.style.marginLeft = null;
377
+ }
378
+ dropdown.classList.remove('onwards');
379
+ dropdown.classList.remove('downwards');
380
+ if (!fitsBottom) {
381
+ dropdown.classList.add('onwards');
382
+ dropdown.style.marginTop = -(dropdown.offsetHeight + button.offsetHeight) + 'px';
383
+ }
384
+ else {
385
+ dropdown.classList.add('downwards');
386
+ dropdown.style.marginTop = null;
387
+ }
388
+ // Support inner functions
389
+ function bottomCheck() {
390
+ return button.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||
391
+ button.getBoundingClientRect().top - dropdown.offsetHeight <= 0;
392
+ }
393
+ function rightCheck() {
394
+ return button.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;
395
+ }
396
+ function leftCheck() {
397
+ return button.getBoundingClientRect().right - dropdown.offsetWidth >= 0;
398
+ }
399
+ }
400
+ }
401
+ BiitDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDropdownComponent, deps: [{ token: i0.ElementRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
402
+ BiitDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitDropdownComponent, selector: "biit-dropdown", inputs: { title: "title", label: "label", value: "value", descriptionLabel: "descriptionLabel", description: "description", data: "data", primitive: "primitive", compact: "compact", disabled: "disabled", required: "required", sortAsc: ["sort-asc", "sortAsc"], sortDesc: ["sort-desc", "sortDesc"], icon: "icon" }, host: { listeners: { "document:pointerdown": "handleMouseEvents($event)" } }, providers: [
403
+ {
404
+ provide: NG_VALUE_ACCESSOR,
405
+ useExisting: forwardRef(() => BiitDropdownComponent),
406
+ multi: true
407
+ }
408
+ ], ngImport: i0, template: "<div class=\"biit-input\" aria-haspopup=\"listbox\"\n *ngIf=\"!icon\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValue && !label ? currentValue :\n currentValue && currentValue[label] ? currentValue[label] : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n [placeholder]=\"dropdownOpen && currentValue && !label ? currentValue :\n dropdownOpen && currentValue && currentValue[label] ? currentValue[label] : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || currentValue\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValue ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n<button biit-icon\n *ngIf=\"icon\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"dropdown\"\n [class.disabled]=\"isDisabled\"\n [style.overflow]=\"dropdownOpen ? undefined : 'hidden'\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"handleKeyboardEvents($event)\"\n >\n <button\n *ngFor=\"let item of filteredData; index as i\"\n (click)=\"onModelChange(item)\"\n [class.selected]=\"currentValue === item\"\n class=\"dropdown-item\"\n role=\"option\"\n aria-selected=\"false\"\n [id]=\"i\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n [disabled]=\"!dropdownOpen || isDisabled\"\n >\n <div id=\"content\">\n <a>{{ label ? item[label] : item }}</a>\n <span *ngIf=\"descriptionLabel && item[descriptionLabel]\" class=\"description\">{{ item[descriptionLabel] }}</span>\n </div>\n </button>\n <button *ngIf=\"!filteredData.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}input::selection{background-color:transparent}.biit-input{display:flex;height:2.1rem}.input-container{position:relative;width:100%}.input-container .description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:.2em;min-height:1.05em;line-height:120%;font-style:italic}.input-object{background-color:#fff;font-size:1rem;display:block;border:none;color:#262626;padding:.7rem;height:2.1rem;width:100%;min-width:2.1rem;font-weight:400;cursor:pointer}.input-object:focus,.input-object:active,.input-object:hover{outline:none;background:#D9D9D9}.input-object:disabled{pointer-events:none;background-color:transparent;color:#d9d9d9}.default-cursor{cursor:auto}.input-placeholder{color:#262626;font-size:1rem;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7rem;top:.42rem;height:.7rem;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-placeholder.compact{top:-.95rem;font-size:.7rem;font-weight:400;color:gray}.input-placeholder.disabled{color:#d9d9d9}.input-show-icon{width:1rem;height:1rem}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1rem;height:2.1rem;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(90deg);transition:transform .5s ease}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{border:none;outline:none}.input-show-icon-container:hover~.input-object{background:#D9D9D9}.input-show-icon-container.rotate-90{transform:rotate(-90deg)}.bottom-line{position:relative;top:-.175rem;margin-bottom:-.175rem;width:auto;height:.175rem;background:#262626}.bottom-line.disabled{background:#D9D9D9}.dropdown-list{background:white;position:absolute;z-index:2;box-sizing:border-box;border:.175rem solid black;margin-top:-.175rem;min-width:12.8rem;width:100%;cursor:pointer;transform-origin:top;opacity:0;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease;max-height:20rem;overflow-y:auto;overflow-x:hidden}.dropdown-list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.dropdown-list.compact{width:12.8rem}.dropdown-list.disabled{visibility:hidden}.dropdown-item{background:none;color:inherit;border:none;font:inherit;width:100%;cursor:pointer;line-height:120%;min-height:1.4rem;display:flex;align-items:center;padding:.2rem .7rem;text-align:left}.dropdown-item div{display:flex;flex-direction:column}.dropdown-item .description{font-size:.75em;color:gray;line-height:120%;font-style:italic}.dropdown-item:not(.no-results).selected{background:#D9D9D9;width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item:not(.no-results):hover,.dropdown-item:not(.no-results):focus,.dropdown-item:not(.no-results):focus-visible{outline:none;background:#EDEDED;width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item.no-results{justify-content:center;padding:1rem;color:#d9d9d9}.passthrough{pointer-events:none}.grey-bg{background:#D9D9D9}.onwards{--origin: 1rem}.downwards{--origin: -1rem}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i4.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
409
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDropdownComponent, decorators: [{
410
+ type: Component,
411
+ args: [{ selector: 'biit-dropdown', providers: [
412
+ {
413
+ provide: NG_VALUE_ACCESSOR,
414
+ useExisting: forwardRef(() => BiitDropdownComponent),
415
+ multi: true
416
+ }
417
+ ], host: {
418
+ '(document:pointerdown)': 'handleMouseEvents($event)'
419
+ }, template: "<div class=\"biit-input\" aria-haspopup=\"listbox\"\n *ngIf=\"!icon\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValue && !label ? currentValue :\n currentValue && currentValue[label] ? currentValue[label] : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n [placeholder]=\"dropdownOpen && currentValue && !label ? currentValue :\n dropdownOpen && currentValue && currentValue[label] ? currentValue[label] : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || currentValue\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValue ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n<button biit-icon\n *ngIf=\"icon\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"dropdown\"\n [class.disabled]=\"isDisabled\"\n [style.overflow]=\"dropdownOpen ? undefined : 'hidden'\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"handleKeyboardEvents($event)\"\n >\n <button\n *ngFor=\"let item of filteredData; index as i\"\n (click)=\"onModelChange(item)\"\n [class.selected]=\"currentValue === item\"\n class=\"dropdown-item\"\n role=\"option\"\n aria-selected=\"false\"\n [id]=\"i\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n [disabled]=\"!dropdownOpen || isDisabled\"\n >\n <div id=\"content\">\n <a>{{ label ? item[label] : item }}</a>\n <span *ngIf=\"descriptionLabel && item[descriptionLabel]\" class=\"description\">{{ item[descriptionLabel] }}</span>\n </div>\n </button>\n <button *ngIf=\"!filteredData.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}input::selection{background-color:transparent}.biit-input{display:flex;height:2.1rem}.input-container{position:relative;width:100%}.input-container .description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:.2em;min-height:1.05em;line-height:120%;font-style:italic}.input-object{background-color:#fff;font-size:1rem;display:block;border:none;color:#262626;padding:.7rem;height:2.1rem;width:100%;min-width:2.1rem;font-weight:400;cursor:pointer}.input-object:focus,.input-object:active,.input-object:hover{outline:none;background:#D9D9D9}.input-object:disabled{pointer-events:none;background-color:transparent;color:#d9d9d9}.default-cursor{cursor:auto}.input-placeholder{color:#262626;font-size:1rem;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7rem;top:.42rem;height:.7rem;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-placeholder.compact{top:-.95rem;font-size:.7rem;font-weight:400;color:gray}.input-placeholder.disabled{color:#d9d9d9}.input-show-icon{width:1rem;height:1rem}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1rem;height:2.1rem;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(90deg);transition:transform .5s ease}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{border:none;outline:none}.input-show-icon-container:hover~.input-object{background:#D9D9D9}.input-show-icon-container.rotate-90{transform:rotate(-90deg)}.bottom-line{position:relative;top:-.175rem;margin-bottom:-.175rem;width:auto;height:.175rem;background:#262626}.bottom-line.disabled{background:#D9D9D9}.dropdown-list{background:white;position:absolute;z-index:2;box-sizing:border-box;border:.175rem solid black;margin-top:-.175rem;min-width:12.8rem;width:100%;cursor:pointer;transform-origin:top;opacity:0;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease;max-height:20rem;overflow-y:auto;overflow-x:hidden}.dropdown-list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.dropdown-list.compact{width:12.8rem}.dropdown-list.disabled{visibility:hidden}.dropdown-item{background:none;color:inherit;border:none;font:inherit;width:100%;cursor:pointer;line-height:120%;min-height:1.4rem;display:flex;align-items:center;padding:.2rem .7rem;text-align:left}.dropdown-item div{display:flex;flex-direction:column}.dropdown-item .description{font-size:.75em;color:gray;line-height:120%;font-style:italic}.dropdown-item:not(.no-results).selected{background:#D9D9D9;width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item:not(.no-results):hover,.dropdown-item:not(.no-results):focus,.dropdown-item:not(.no-results):focus-visible{outline:none;background:#EDEDED;width:calc(100% + .3rem);margin-left:-.15rem;padding-left:.85rem}.dropdown-item.no-results{justify-content:center;padding:1rem;color:#d9d9d9}.passthrough{pointer-events:none}.grey-bg{background:#D9D9D9}.onwards{--origin: 1rem}.downwards{--origin: -1rem}\n"] }]
420
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, propDecorators: { title: [{
421
+ type: Input
422
+ }], label: [{
423
+ type: Input
424
+ }], value: [{
425
+ type: Input
426
+ }], descriptionLabel: [{
427
+ type: Input
428
+ }], description: [{
429
+ type: Input
430
+ }], data: [{
431
+ type: Input
432
+ }], primitive: [{
433
+ type: Input
434
+ }], compact: [{
435
+ type: Input
436
+ }], disabled: [{
437
+ type: Input
438
+ }], required: [{
439
+ type: Input
440
+ }], sortAsc: [{
441
+ type: Input,
442
+ args: ['sort-asc']
443
+ }], sortDesc: [{
444
+ type: Input,
445
+ args: ['sort-desc']
446
+ }], icon: [{
447
+ type: Input
448
+ }] } });
449
+
450
+ class BiitDropdownModule {
451
+ }
452
+ BiitDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
453
+ BiitDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitDropdownModule, declarations: [BiitDropdownComponent], imports: [FormsModule,
454
+ CommonModule,
455
+ BiitIconModule,
456
+ BiitIconButtonModule], exports: [BiitDropdownComponent] });
457
+ BiitDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDropdownModule, imports: [FormsModule,
458
+ CommonModule,
459
+ BiitIconModule,
460
+ BiitIconButtonModule] });
461
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDropdownModule, decorators: [{
462
+ type: NgModule,
463
+ args: [{
464
+ declarations: [
465
+ BiitDropdownComponent
466
+ ],
467
+ imports: [
468
+ FormsModule,
469
+ CommonModule,
470
+ BiitIconModule,
471
+ BiitIconButtonModule
472
+ ],
473
+ exports: [
474
+ BiitDropdownComponent
475
+ ]
476
+ }]
477
+ }] });
478
+
479
+ class BiitCheckboxComponent {
480
+ constructor() {
481
+ this.disabled = false;
482
+ this.showAlwaysDescription = false;
483
+ this.onChange = (value) => { };
484
+ this.onTouched = () => { };
485
+ }
486
+ registerOnChange(fn) {
487
+ this.onChange = fn;
488
+ }
489
+ registerOnTouched(fn) {
490
+ this.onTouched = fn;
491
+ }
492
+ writeValue(checked) {
493
+ this.checked = checked;
494
+ }
495
+ onModelChange(event) {
496
+ this.checked = event;
497
+ this.onChange(event);
498
+ }
499
+ }
500
+ BiitCheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
501
+ BiitCheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitCheckboxComponent, selector: "biit-checkbox", inputs: { disabled: "disabled", description: "description", showAlwaysDescription: "showAlwaysDescription" }, providers: [
502
+ {
503
+ provide: NG_VALUE_ACCESSOR,
504
+ useExisting: forwardRef(() => BiitCheckboxComponent),
505
+ multi: true
506
+ }
507
+ ], ngImport: i0, template: "<label [class.disabled]=\"disabled\" id=\"biit-checkbox\" class=\"biit-checkbox\">\n <input [attr.id]=\"checked?'checked':'unchecked'\"\n type=\"checkbox\"\n class=\"checkbox-box\"\n [ngModel]=\"checked\"\n (ngModelChange)=\"onModelChange($event)\"\n [disabled]=\"disabled\"/>\n <div>\n <div>\n <a>\n <ng-content></ng-content>\n </a>\n <biit-tooltip-icon *ngIf=\"description && !showAlwaysDescription\" inline [text]=\"description\"/>\n </div>\n <span class=\"description\" *ngIf=\"description && showAlwaysDescription\">{{ description }}</span>\n </div>\n</label>\n", styles: ["label{display:flex;align-items:flex-start;width:-moz-fit-content;width:fit-content;cursor:pointer;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}label.disabled{pointer-events:none;color:#d9d9d9}label>div{display:flex;flex-direction:column;margin-left:.75em}label>div div{display:flex}label>div:has(div a:empty){display:none}label:has(div div a:empty) input{margin-top:0}label input[type=checkbox]{appearance:none;background-color:transparent;font:inherit;width:.75em;height:.75em;border:.2em solid #262626;box-sizing:border-box;margin:.25em 0 0;cursor:pointer;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}label input[type=checkbox]:hover{border:.2em solid #F20D5E}label input[type=checkbox]:checked{border:.2em solid #F20D5E;background:#F20D5E}label input[type=checkbox]:disabled:not(:checked){border:.2em solid #D9D9D9}label input[type=checkbox]:checked:disabled{border:.2em solid #D9D9D9;background:#D9D9D9}label input[type=checkbox] div:has(a:empty){display:none}label a{line-height:120%}label .description{font-size:.75em;color:gray;line-height:120%;font-style:italic}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.BiitTooltipIconComponent, selector: "biit-tooltip-icon", inputs: ["text", "inline"] }] });
508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitCheckboxComponent, decorators: [{
509
+ type: Component,
510
+ args: [{ selector: 'biit-checkbox', providers: [
511
+ {
512
+ provide: NG_VALUE_ACCESSOR,
513
+ useExisting: forwardRef(() => BiitCheckboxComponent),
514
+ multi: true
515
+ }
516
+ ], template: "<label [class.disabled]=\"disabled\" id=\"biit-checkbox\" class=\"biit-checkbox\">\n <input [attr.id]=\"checked?'checked':'unchecked'\"\n type=\"checkbox\"\n class=\"checkbox-box\"\n [ngModel]=\"checked\"\n (ngModelChange)=\"onModelChange($event)\"\n [disabled]=\"disabled\"/>\n <div>\n <div>\n <a>\n <ng-content></ng-content>\n </a>\n <biit-tooltip-icon *ngIf=\"description && !showAlwaysDescription\" inline [text]=\"description\"/>\n </div>\n <span class=\"description\" *ngIf=\"description && showAlwaysDescription\">{{ description }}</span>\n </div>\n</label>\n", styles: ["label{display:flex;align-items:flex-start;width:-moz-fit-content;width:fit-content;cursor:pointer;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}label.disabled{pointer-events:none;color:#d9d9d9}label>div{display:flex;flex-direction:column;margin-left:.75em}label>div div{display:flex}label>div:has(div a:empty){display:none}label:has(div div a:empty) input{margin-top:0}label input[type=checkbox]{appearance:none;background-color:transparent;font:inherit;width:.75em;height:.75em;border:.2em solid #262626;box-sizing:border-box;margin:.25em 0 0;cursor:pointer;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}label input[type=checkbox]:hover{border:.2em solid #F20D5E}label input[type=checkbox]:checked{border:.2em solid #F20D5E;background:#F20D5E}label input[type=checkbox]:disabled:not(:checked){border:.2em solid #D9D9D9}label input[type=checkbox]:checked:disabled{border:.2em solid #D9D9D9;background:#D9D9D9}label input[type=checkbox] div:has(a:empty){display:none}label a{line-height:120%}label .description{font-size:.75em;color:gray;line-height:120%;font-style:italic}\n"] }]
517
+ }], propDecorators: { disabled: [{
518
+ type: Input
519
+ }], description: [{
520
+ type: Input
521
+ }], showAlwaysDescription: [{
522
+ type: Input
523
+ }] } });
524
+
525
+ var BiitMultiselectType;
526
+ (function (BiitMultiselectType) {
527
+ BiitMultiselectType["DEFAULT"] = "default";
528
+ BiitMultiselectType["ICON"] = "icon";
529
+ BiitMultiselectType["CHIPS"] = "chips";
530
+ })(BiitMultiselectType || (BiitMultiselectType = {}));
531
+ class BiitMultiselectComponent {
532
+ set primitive(primitive) {
533
+ this.isPrimitive = coerceBooleanProperty(primitive);
534
+ }
535
+ ;
536
+ set compact(compact) {
537
+ this.isCompact = coerceBooleanProperty(compact);
538
+ }
539
+ ;
540
+ set disabled(disabled) {
541
+ this.isDisabled = coerceBooleanProperty(disabled);
542
+ }
543
+ ;
544
+ set required(required) {
545
+ this.isRequired = coerceBooleanProperty(required);
546
+ }
547
+ ;
548
+ set sortAsc(sortAsc) {
549
+ this.isSortAsc = coerceBooleanProperty(sortAsc);
550
+ }
551
+ ;
552
+ set sortDesc(sortDesc) {
553
+ this.isSortDesc = coerceBooleanProperty(sortDesc);
554
+ }
555
+ ;
556
+ get dropdownElement() {
557
+ return this.elem.nativeElement.querySelector('.dropdown-list');
558
+ }
559
+ ;
560
+ get inputElement() {
561
+ return this.elem.nativeElement.querySelector('.input-object');
562
+ }
563
+ ;
564
+ constructor(elem, iDiff) {
565
+ this.elem = elem;
566
+ this.type = BiitMultiselectType.DEFAULT;
567
+ this.icon = 'column_selection';
568
+ this.label = '';
569
+ this.value = '';
570
+ this.descriptionField = '';
571
+ this.description = '';
572
+ this.data = [];
573
+ this.onCreate = new EventEmitter();
574
+ this.currentValues = [];
575
+ this.filterText = '';
576
+ this.filteredData = [];
577
+ this.dropdownOpen = false;
578
+ this.hover = new MouseEvent('pointerover', { 'bubbles': true });
579
+ this.onChange = (values) => {
580
+ };
581
+ this.onTouched = () => {
582
+ };
583
+ this.BiitMultiselectType = BiitMultiselectType;
584
+ this.differ = iDiff.find(this.data).create();
585
+ }
586
+ ngOnInit() {
587
+ this.handleFilter();
588
+ }
589
+ ngDoCheck() {
590
+ if (this.differ.diff(this.data)) {
591
+ this.handleFilter();
592
+ }
593
+ }
594
+ checkBooleanInput(value) {
595
+ switch (value) {
596
+ case undefined:
597
+ return false;
598
+ case false:
599
+ return false;
600
+ default:
601
+ return true;
602
+ }
603
+ }
604
+ ngAfterViewInit() {
605
+ var _a;
606
+ (_a = this.dropdownElement) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.disabled').forEach(i => {
607
+ i.classList.remove('disabled');
608
+ });
609
+ }
610
+ registerOnChange(fn) {
611
+ this.onChange = fn;
612
+ }
613
+ registerOnTouched(fn) {
614
+ this.onTouched = fn;
615
+ }
616
+ writeValue(values) {
617
+ if (values) {
618
+ this.currentValues = values;
619
+ }
620
+ else {
621
+ this.currentValues = [];
622
+ }
623
+ }
624
+ onModelChange(value) {
625
+ if (this.currentValues) {
626
+ if (!this.currentValues.includes(value)) {
627
+ this.currentValues.push(value);
628
+ }
629
+ else {
630
+ this.currentValues.splice(this.currentValues.indexOf(value), 1);
631
+ }
632
+ }
633
+ this.onChange(this.currentValues);
634
+ }
635
+ handleMouseEvents($event) {
636
+ if (!this.elem.nativeElement.contains($event.target)) {
637
+ this.closeDropdown();
638
+ }
639
+ }
640
+ handleKeyboardEvents($event) {
641
+ var _a, _b;
642
+ switch ($event.key) {
643
+ case 'ArrowUp':
644
+ if (document.activeElement.tagName == "BIIT-CHECKBOX") {
645
+ (_a = document.activeElement.previousElementSibling) === null || _a === void 0 ? void 0 : _a.focus();
646
+ }
647
+ break;
648
+ case 'ArrowDown':
649
+ if (document.activeElement.tagName == "BIIT-CHECKBOX") {
650
+ (_b = document.activeElement.nextElementSibling) === null || _b === void 0 ? void 0 : _b.focus();
651
+ }
652
+ break;
653
+ case 'Escape':
654
+ if (document.activeElement.tagName == "BIIT-CHECKBOX" && this.type == BiitMultiselectType.DEFAULT) {
655
+ this.inputElement.focus();
656
+ }
657
+ else {
658
+ this.closeDropdown();
659
+ }
660
+ break;
661
+ default:
662
+ break;
663
+ }
664
+ }
665
+ handleFilter() {
666
+ if (this.data) {
667
+ this.sortData();
668
+ if (this.filterText) {
669
+ if (this.isPrimitive) {
670
+ this.filteredData = this.data.filter(item => item.toString().toLowerCase().includes(this.filterText.normalize('NFD').replace(/[\u0300-\u036f]/g, "").toLowerCase()));
671
+ }
672
+ else {
673
+ this.filteredData = this.data.filter(item => item[this.label].toLowerCase().includes(this.filterText.normalize('NFD').replace(/[\u0300-\u036f]/g, "").toLowerCase()));
674
+ }
675
+ }
676
+ else {
677
+ this.filteredData = this.data;
678
+ }
679
+ }
680
+ else {
681
+ this.filteredData = [];
682
+ }
683
+ }
684
+ clearFilter() {
685
+ this.filterText = '';
686
+ this.handleFilter();
687
+ }
688
+ sortData() {
689
+ if (this.isPrimitive) {
690
+ if (this.isSortAsc || this.isSortDesc) {
691
+ this.data.sort((a, b) => this.isSortAsc ? (a > b ? 1 : (b > a ? -1 : 0)) : (a > b ? -1 : (b > a ? 1 : 0)));
692
+ }
693
+ }
694
+ else {
695
+ if (this.isSortAsc || this.isSortDesc) {
696
+ this.data.sort((a, b) => {
697
+ if (this.currentValues.includes(a) && !this.currentValues.includes(b))
698
+ return -1;
699
+ if (!this.currentValues.includes(a) && this.currentValues.includes(b))
700
+ return 1;
701
+ if (a[this.label] < b[this.label]) {
702
+ return this.isSortAsc ? -1 : 1;
703
+ }
704
+ else if (a[this.label] > b[this.label]) {
705
+ return this.isSortAsc ? 1 : -1;
706
+ }
707
+ else {
708
+ return 0;
709
+ }
710
+ });
711
+ }
712
+ else {
713
+ this.data.sort((a, b) => {
714
+ if (this.currentValues) {
715
+ if (this.currentValues.includes(a) && !this.currentValues.includes(b))
716
+ return -1;
717
+ if (!this.currentValues.includes(a) && this.currentValues.includes(b))
718
+ return 1;
719
+ }
720
+ return 0;
721
+ });
722
+ }
723
+ }
724
+ }
725
+ openDropdown() {
726
+ this.setTooltipComponentProperties();
727
+ if (this.type !== BiitMultiselectType.ICON) {
728
+ this.inputElement.focus();
729
+ }
730
+ // Setting a timeout because it doesn't load upwards/downwards css classes on execution time
731
+ setTimeout(() => {
732
+ this.dropdownOpen = true;
733
+ this.dropdownElement.setAttribute('aria-expanded', "true");
734
+ }, 100);
735
+ }
736
+ closeDropdown() {
737
+ this.dropdownOpen = false;
738
+ this.dropdownElement.setAttribute('aria-expanded', "false");
739
+ setTimeout(() => {
740
+ this.clearFilter();
741
+ }, 100);
742
+ }
743
+ setTooltipComponentProperties() {
744
+ let button;
745
+ let dropdown = this.dropdownElement;
746
+ dropdown.style.display = 'block';
747
+ if (this.type !== BiitMultiselectType.ICON) {
748
+ button = this.inputElement;
749
+ }
750
+ else {
751
+ button = this.elem.nativeElement.querySelector("button");
752
+ }
753
+ // Checking available screen space
754
+ const fitsBottom = bottomCheck();
755
+ const fitsRight = rightCheck();
756
+ const fitsLeft = leftCheck();
757
+ if (!fitsRight && fitsLeft) {
758
+ dropdown.style.marginLeft = button.offsetWidth - dropdown.offsetWidth + 'px';
759
+ }
760
+ else {
761
+ dropdown.style.marginLeft = null;
762
+ }
763
+ dropdown.classList.remove('onwards');
764
+ dropdown.classList.remove('downwards');
765
+ if (!fitsBottom) {
766
+ dropdown.classList.add('onwards');
767
+ dropdown.style.marginTop = -(dropdown.offsetHeight + button.offsetHeight) + 'px';
768
+ }
769
+ else {
770
+ dropdown.classList.add('downwards');
771
+ dropdown.style.marginTop = null;
772
+ }
773
+ // Support inner functions
774
+ function bottomCheck() {
775
+ return button.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||
776
+ button.getBoundingClientRect().top - dropdown.offsetHeight <= 0;
777
+ }
778
+ function rightCheck() {
779
+ return button.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;
780
+ }
781
+ function leftCheck() {
782
+ return button.getBoundingClientRect().right - dropdown.offsetWidth >= 0;
783
+ }
784
+ }
785
+ }
786
+ BiitMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitMultiselectComponent, deps: [{ token: i0.ElementRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
787
+ BiitMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitMultiselectComponent, selector: "biit-multiselect", inputs: { title: "title", type: "type", icon: "icon", label: "label", value: "value", descriptionField: "descriptionField", description: "description", data: "data", primitive: "primitive", compact: "compact", disabled: "disabled", required: "required", sortAsc: ["sort-asc", "sortAsc"], sortDesc: ["sort-desc", "sortDesc"] }, outputs: { onCreate: "onCreate" }, host: { listeners: { "document:pointerdown": "handleMouseEvents($event)" } }, providers: [
788
+ {
789
+ provide: NG_VALUE_ACCESSOR,
790
+ useExisting: forwardRef(() => BiitMultiselectComponent),
791
+ multi: true
792
+ }
793
+ ], ngImport: i0, template: "<!-- DEFAULT MODE -->\n<div *ngIf=\"type != 'icon'\"\n class=\"biit-input\" aria-haspopup=\"listbox\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.space)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.enter)=\"filterText.length ? onCreate.emit(filterText) : false; clearFilter();\"\n [placeholder]=\"dropdownOpen && currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\" id=\"arrow\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || (currentValues?.length)\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValues.length ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n\n<!-- ICON MODE -->\n<button biit-icon *ngIf=\"type == 'icon'\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n\n<!-- DROPDOWN -->\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"options\"\n [class.disabled]=\"isDisabled\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"dropdownOpen && handleKeyboardEvents($event)\"\n >\n <biit-checkbox *ngFor=\"let item of filteredData; index as i\"\n [attr.id]=\"'option-' + (isPrimitive ? item : item[label])\"\n class=\"dropdown-item\"\n [class.selected]=\"currentValues && currentValues.includes(item)\"\n [ngModel]=\"currentValues && currentValues.includes(item)\"\n [description]=\"descriptionField && item[descriptionField]\"\n (click)=\"onModelChange(item); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.enter)=\"onModelChange(item)\"\n (keydown.space)=\"onModelChange(item)\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n role=\"option\"\n aria-selected=\"false\"\n [disabled]=\"false\">\n {{ isPrimitive ? item : item[label] }}\n </biit-checkbox>\n <button *ngIf=\"!filteredData?.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n\n<div *ngIf=\"type == 'chips'\"\n class=\"chips\">\n <span\n *ngFor=\"let item of currentValues\"\n (click)=\"onModelChange(item)\"\n class=\"chips-item\"\n >\n {{ item[label] }}\n <biit-icon\n [name]=\"'cross_wide'\"\n [pathStyle]=\"{fill: '#ffffff'}\"\n ></biit-icon>\n </span>\n</div>\n", styles: ["*{box-sizing:border-box}input::selection{background-color:transparent}.biit-input{display:flex;min-width:12.8rem}.biit-input.compact{width:12.8rem}.input-container{position:relative;width:100%}.input-object{background-color:#fff;font-size:1rem;display:block;border:none;color:#262626;padding:.7rem;height:2.1rem;width:100%;min-width:2.1rem;font-weight:400;cursor:pointer}.input-object:focus,.input-object:active,.input-object:hover{outline:none;background:#D9D9D9}.input-object:disabled{pointer-events:none;background-color:transparent;color:#d9d9d9}.default-cursor{cursor:auto}.input-placeholder{color:#262626;font-size:1rem;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7rem;top:.42rem;height:.7rem;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-placeholder.compact{top:-.95rem;font-size:.7rem;font-weight:400;color:gray}.input-placeholder.disabled{color:#d9d9d9}.input-show-icon{width:1rem;height:1rem}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1rem;height:2.1rem;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(90deg);transition:transform .5s ease}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{border:none;outline:none}.input-show-icon-container:hover~.input-object{background:#D9D9D9}.input-show-icon-container.rotate-90{transform:rotate(-90deg)}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.bottom-line.disabled{background:#D9D9D9}.dropdown-list{background:white;position:absolute;z-index:2;box-sizing:border-box;border:3px solid black;margin-top:-3px;min-width:100%;width:100%;cursor:pointer;transform-origin:top;opacity:0;display:none;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease;max-height:20rem;overflow-y:auto;overflow-x:hidden}.dropdown-list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.dropdown-list.compact{width:12.8rem}.dropdown-list.disabled{visibility:hidden}.dropdown-item{background:none;color:inherit;border:none;font:inherit;width:100%;cursor:pointer;line-height:1rem;min-height:1.4rem;display:flex;align-items:center;padding:.2rem .7rem}.dropdown-item:not(.no-results):hover,.dropdown-item:not(.no-results):focus-visible{outline:none;background:#EDEDED;width:calc(100% + 6px);margin-left:-3px;padding-left:calc(.7rem + 3px)}.dropdown-item.no-results{justify-content:center;padding:1rem;color:#d9d9d9}.dropdown-item ::ng-deep label{width:100%;height:100%;cursor:pointer}.dropdown-item ::ng-deep label input[type=checkbox]{cursor:pointer;pointer-events:none}.passthrough{pointer-events:none}.grey-bg{background:#D9D9D9}.onwards{--origin: 1rem}.downwards{--origin: -1rem}.description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:.2em;min-height:1.05em;line-height:120%;font-style:italic}.chips{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}.chips .chips-item{font-size:.75rem;color:#fff;background:#f20D5e;padding:.25rem .75rem;position:relative;cursor:pointer}.chips .chips-item biit-icon{display:none}.chips .chips-item:hover biit-icon{display:block;height:100%;width:5px;position:absolute;top:0;right:4px}\n"], dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: BiitCheckboxComponent, selector: "biit-checkbox", inputs: ["disabled", "description", "showAlwaysDescription"] }, { kind: "component", type: i4.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
794
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitMultiselectComponent, decorators: [{
795
+ type: Component,
796
+ args: [{ selector: 'biit-multiselect', providers: [
797
+ {
798
+ provide: NG_VALUE_ACCESSOR,
799
+ useExisting: forwardRef(() => BiitMultiselectComponent),
800
+ multi: true
801
+ }
802
+ ], host: {
803
+ '(document:pointerdown)': 'handleMouseEvents($event)'
804
+ }, template: "<!-- DEFAULT MODE -->\n<div *ngIf=\"type != 'icon'\"\n class=\"biit-input\" aria-haspopup=\"listbox\"\n [class.compact]=\"isCompact\"\n [class.disabled]=\"isDisabled\"\n (keydown)=\"!isDisabled && handleKeyboardEvents($event)\"\n (keydown.enter)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.space)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n>\n <div class=\"input-container\" #input>\n <input [ngModel]=\"dropdownOpen ? filterText :\n currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n (ngModelChange)=\"filterText = $event; handleFilter()\"\n (click)=\"!dropdownOpen && !isDisabled && openDropdown()\"\n (keydown.enter)=\"filterText.length ? onCreate.emit(filterText) : false; clearFilter();\"\n [placeholder]=\"dropdownOpen && currentValues && currentValues.length ? currentValues.length + ' selected' : ''\"\n tabindex=\"0\"\n class=\"input-object\"\n [class.grey-bg]=\"dropdownOpen\"\n [class.default-cursor]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n [readonly]=\"!dropdownOpen\"/>\n <div class=\"input-show-icon-container\" id=\"arrow\"\n [class.passthrough]=\"!dropdownOpen\"\n [class.rotate-90]=\"dropdownOpen\"\n (click)=\"dropdownOpen && closeDropdown()\">\n <biit-icon [name]=\"'right_arrow'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: isDisabled ? '#D9D9D9' : dropdownOpen ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div id=\"dropdown-label\"\n class=\"input-placeholder\"\n [class.disabled]=\"isDisabled\"\n [class.compact]=\"dropdownOpen || (currentValues?.length)\">\n {{ title }}\n <a *ngIf=\"isRequired\"\n [style.color]=\"currentValues.length ? null : 'red'\">*</a>\n </div>\n <div class=\"bottom-line\"\n [class.disabled]=\"isDisabled\"\n ></div>\n <span class=\"description\">{{ description }}</span>\n </div>\n</div>\n\n<!-- ICON MODE -->\n<button biit-icon *ngIf=\"type == 'icon'\"\n [icon]=\"icon\"\n (click)=\"!dropdownOpen ? openDropdown() : closeDropdown()\"\n [checked]=\"dropdownOpen\"\n [disabled]=\"isDisabled\"\n></button>\n\n<!-- DROPDOWN -->\n<div style=\"position: relative; height: 0; width: 100%\">\n <div #dropdown id=\"options\"\n [class.disabled]=\"isDisabled\"\n class=\"dropdown-list\"\n role=\"listbox\"\n aria-expanded=\"false\"\n aria-labelledby=\"dropdown-label\"\n [class.dropdown-open]=\"dropdownOpen\"\n [class.compact]=\"isCompact\"\n (keydown)=\"dropdownOpen && handleKeyboardEvents($event)\"\n >\n <biit-checkbox *ngFor=\"let item of filteredData; index as i\"\n [attr.id]=\"'option-' + (isPrimitive ? item : item[label])\"\n class=\"dropdown-item\"\n [class.selected]=\"currentValues && currentValues.includes(item)\"\n [ngModel]=\"currentValues && currentValues.includes(item)\"\n [description]=\"descriptionField && item[descriptionField]\"\n (click)=\"onModelChange(item); $event.stopPropagation(); $event.preventDefault();\"\n (keydown.enter)=\"onModelChange(item)\"\n (keydown.space)=\"onModelChange(item)\"\n [tabindex]=\"!dropdownOpen || isDisabled ? -1 : 0\"\n role=\"option\"\n aria-selected=\"false\"\n [disabled]=\"false\">\n {{ isPrimitive ? item : item[label] }}\n </biit-checkbox>\n <button *ngIf=\"!filteredData?.length\"\n class=\"dropdown-item no-results\"\n disabled\n >\n <a>No results found</a>\n </button>\n </div>\n</div>\n\n<div *ngIf=\"type == 'chips'\"\n class=\"chips\">\n <span\n *ngFor=\"let item of currentValues\"\n (click)=\"onModelChange(item)\"\n class=\"chips-item\"\n >\n {{ item[label] }}\n <biit-icon\n [name]=\"'cross_wide'\"\n [pathStyle]=\"{fill: '#ffffff'}\"\n ></biit-icon>\n </span>\n</div>\n", styles: ["*{box-sizing:border-box}input::selection{background-color:transparent}.biit-input{display:flex;min-width:12.8rem}.biit-input.compact{width:12.8rem}.input-container{position:relative;width:100%}.input-object{background-color:#fff;font-size:1rem;display:block;border:none;color:#262626;padding:.7rem;height:2.1rem;width:100%;min-width:2.1rem;font-weight:400;cursor:pointer}.input-object:focus,.input-object:active,.input-object:hover{outline:none;background:#D9D9D9}.input-object:disabled{pointer-events:none;background-color:transparent;color:#d9d9d9}.default-cursor{cursor:auto}.input-placeholder{color:#262626;font-size:1rem;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7rem;top:.42rem;height:.7rem;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-placeholder.compact{top:-.95rem;font-size:.7rem;font-weight:400;color:gray}.input-placeholder.disabled{color:#d9d9d9}.input-show-icon{width:1rem;height:1rem}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1rem;height:2.1rem;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transform:rotate(90deg);transition:transform .5s ease}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{border:none;outline:none}.input-show-icon-container:hover~.input-object{background:#D9D9D9}.input-show-icon-container.rotate-90{transform:rotate(-90deg)}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.bottom-line.disabled{background:#D9D9D9}.dropdown-list{background:white;position:absolute;z-index:2;box-sizing:border-box;border:3px solid black;margin-top:-3px;min-width:100%;width:100%;cursor:pointer;transform-origin:top;opacity:0;display:none;pointer-events:none;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease;max-height:20rem;overflow-y:auto;overflow-x:hidden}.dropdown-list.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.dropdown-list.compact{width:12.8rem}.dropdown-list.disabled{visibility:hidden}.dropdown-item{background:none;color:inherit;border:none;font:inherit;width:100%;cursor:pointer;line-height:1rem;min-height:1.4rem;display:flex;align-items:center;padding:.2rem .7rem}.dropdown-item:not(.no-results):hover,.dropdown-item:not(.no-results):focus-visible{outline:none;background:#EDEDED;width:calc(100% + 6px);margin-left:-3px;padding-left:calc(.7rem + 3px)}.dropdown-item.no-results{justify-content:center;padding:1rem;color:#d9d9d9}.dropdown-item ::ng-deep label{width:100%;height:100%;cursor:pointer}.dropdown-item ::ng-deep label input[type=checkbox]{cursor:pointer;pointer-events:none}.passthrough{pointer-events:none}.grey-bg{background:#D9D9D9}.onwards{--origin: 1rem}.downwards{--origin: -1rem}.description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:.2em;min-height:1.05em;line-height:120%;font-style:italic}.chips{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}.chips .chips-item{font-size:.75rem;color:#fff;background:#f20D5e;padding:.25rem .75rem;position:relative;cursor:pointer}.chips .chips-item biit-icon{display:none}.chips .chips-item:hover biit-icon{display:block;height:100%;width:5px;position:absolute;top:0;right:4px}\n"] }]
805
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, propDecorators: { title: [{
806
+ type: Input
807
+ }], type: [{
808
+ type: Input
809
+ }], icon: [{
810
+ type: Input
811
+ }], label: [{
812
+ type: Input
813
+ }], value: [{
814
+ type: Input
815
+ }], descriptionField: [{
816
+ type: Input
817
+ }], description: [{
818
+ type: Input
819
+ }], data: [{
820
+ type: Input
821
+ }], primitive: [{
822
+ type: Input
823
+ }], compact: [{
824
+ type: Input
825
+ }], disabled: [{
826
+ type: Input
827
+ }], required: [{
828
+ type: Input
829
+ }], sortAsc: [{
830
+ type: Input,
831
+ args: ['sort-asc']
832
+ }], sortDesc: [{
833
+ type: Input,
834
+ args: ['sort-desc']
835
+ }], onCreate: [{
836
+ type: Output
837
+ }] } });
838
+
839
+ class BiitCheckboxModule {
840
+ }
841
+ BiitCheckboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
842
+ BiitCheckboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitCheckboxModule, declarations: [BiitCheckboxComponent], imports: [CommonModule,
843
+ FormsModule,
844
+ BiitTooltipIconModule], exports: [BiitCheckboxComponent] });
845
+ BiitCheckboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitCheckboxModule, imports: [CommonModule,
846
+ FormsModule,
847
+ BiitTooltipIconModule] });
848
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitCheckboxModule, decorators: [{
849
+ type: NgModule,
850
+ args: [{
851
+ declarations: [
852
+ BiitCheckboxComponent
853
+ ],
854
+ imports: [
855
+ CommonModule,
856
+ FormsModule,
857
+ BiitTooltipIconModule,
858
+ ],
859
+ exports: [
860
+ BiitCheckboxComponent
861
+ ]
862
+ }]
863
+ }] });
864
+
865
+ class BiitMultiselectModule {
866
+ }
867
+ BiitMultiselectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitMultiselectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
868
+ BiitMultiselectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitMultiselectModule, declarations: [BiitMultiselectComponent], imports: [FormsModule,
869
+ CommonModule,
870
+ BiitIconModule,
871
+ BiitCheckboxModule,
872
+ BiitIconButtonModule], exports: [BiitMultiselectComponent] });
873
+ BiitMultiselectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitMultiselectModule, imports: [FormsModule,
874
+ CommonModule,
875
+ BiitIconModule,
876
+ BiitCheckboxModule,
877
+ BiitIconButtonModule] });
878
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitMultiselectModule, decorators: [{
879
+ type: NgModule,
880
+ args: [{
881
+ declarations: [
882
+ BiitMultiselectComponent
883
+ ],
884
+ imports: [
885
+ FormsModule,
886
+ CommonModule,
887
+ BiitIconModule,
888
+ BiitCheckboxModule,
889
+ BiitIconButtonModule
890
+ ],
891
+ exports: [
892
+ BiitMultiselectComponent
893
+ ]
894
+ }]
895
+ }] });
896
+
897
+ class BiitToggleComponent {
898
+ constructor() {
899
+ this.disabled = false;
900
+ this.onChange = (value) => { };
901
+ this.onTouched = () => { };
902
+ }
903
+ onToggle(item) {
904
+ this.checked = item;
905
+ this.onChange(this.checked);
906
+ }
907
+ registerOnChange(fn) {
908
+ this.onChange = fn;
909
+ }
910
+ registerOnTouched(fn) {
911
+ this.onTouched = fn;
912
+ }
913
+ writeValue(obj) {
914
+ this.checked = obj;
915
+ }
916
+ }
917
+ BiitToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
918
+ BiitToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitToggleComponent, selector: "biit-toggle", inputs: { disabled: "disabled" }, providers: [
919
+ {
920
+ provide: NG_VALUE_ACCESSOR,
921
+ useExisting: forwardRef(() => BiitToggleComponent),
922
+ multi: true
923
+ }
924
+ ], ngImport: i0, template: "<label class=\"toggle-base\">\n <input type=\"checkbox\" id=\"checkbox\"\n [ngModel]=\"checked\"\n (ngModelChange)=\"onToggle($event)\"\n [disabled]=\"disabled\"/>\n <div class=\"toggle-switch\" id=\"switch\">\n <div class=\"toggle-trail\"></div>\n <div class=\"toggle-box\"></div>\n </div>\n <a class=\"toggle-label\">\n <ng-content></ng-content>\n </a>\n</label>\n", styles: ["input[type=checkbox]{appearance:none;background-color:#fff;margin:0;display:flex;align-items:center;width:-moz-fit-content;width:fit-content;cursor:pointer;font-size:inherit}.toggle-base{display:flex;align-items:flex-start;width:-moz-fit-content;width:fit-content;min-height:1.2em;cursor:pointer;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-base:hover .toggle-box{transform:rotate(15deg) translate(.1em);border:.25em solid #F20D5E}.toggle-base:has(input:checked) .toggle-trail{background:#FBAEC9}.toggle-base:has(input:checked) .toggle-box{transform:translate(.7em) rotate(45deg);border:.25em solid #F20D5E;background:#F20D5E}.toggle-base:has(input:disabled){pointer-events:none;cursor:default}.toggle-base:has(input:disabled) .toggle-trail{background:#EDEDED}.toggle-base:has(input:disabled) .toggle-box{border:.25em solid #D9D9D9;background:none}.toggle-base:has(input:disabled) .toggle-label{color:#d9d9d9}.toggle-base:has(input:disabled):has(input:checked) .toggle-box{background:#D9D9D9}.toggle-switch{display:flex;align-items:center;position:relative;height:1.2em}.toggle-trail{display:inline-flex;width:1.4em;height:.25em;background:#EDEDED;z-index:0;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-box{position:absolute;display:inline-flex;height:.7em;width:.7em;border:.25em solid #262626;box-sizing:border-box;z-index:1;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-label{margin-left:.7em;cursor:inherit;line-height:1.2em;-webkit-user-select:none;user-select:none;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-label:empty{display:none}@-moz-document url-prefix(){input:checked~.toggle-switch .toggle-trail{background:#FBAEC9}input:checked~.toggle-switch .toggle-box{transform:translate(.7em) rotate(45deg)!important;border:.25em solid #F20D5E;background:#F20D5E}input:disabled~.toggle-switch{pointer-events:none;cursor:default}input:disabled~.toggle-switch .toggle-trail{background:#EDEDED}input:disabled~.toggle-switch .toggle-box{border:.25em solid #D9D9D9;background:none}input:disabled~.toggle-switch .toggle-label{color:#d9d9d9}input:checked:disabled~.toggle-switch .toggle-box{background:#D9D9D9}}\n"], dependencies: [{ kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
925
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleComponent, decorators: [{
926
+ type: Component,
927
+ args: [{ selector: 'biit-toggle', providers: [
928
+ {
929
+ provide: NG_VALUE_ACCESSOR,
930
+ useExisting: forwardRef(() => BiitToggleComponent),
931
+ multi: true
932
+ }
933
+ ], template: "<label class=\"toggle-base\">\n <input type=\"checkbox\" id=\"checkbox\"\n [ngModel]=\"checked\"\n (ngModelChange)=\"onToggle($event)\"\n [disabled]=\"disabled\"/>\n <div class=\"toggle-switch\" id=\"switch\">\n <div class=\"toggle-trail\"></div>\n <div class=\"toggle-box\"></div>\n </div>\n <a class=\"toggle-label\">\n <ng-content></ng-content>\n </a>\n</label>\n", styles: ["input[type=checkbox]{appearance:none;background-color:#fff;margin:0;display:flex;align-items:center;width:-moz-fit-content;width:fit-content;cursor:pointer;font-size:inherit}.toggle-base{display:flex;align-items:flex-start;width:-moz-fit-content;width:fit-content;min-height:1.2em;cursor:pointer;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-base:hover .toggle-box{transform:rotate(15deg) translate(.1em);border:.25em solid #F20D5E}.toggle-base:has(input:checked) .toggle-trail{background:#FBAEC9}.toggle-base:has(input:checked) .toggle-box{transform:translate(.7em) rotate(45deg);border:.25em solid #F20D5E;background:#F20D5E}.toggle-base:has(input:disabled){pointer-events:none;cursor:default}.toggle-base:has(input:disabled) .toggle-trail{background:#EDEDED}.toggle-base:has(input:disabled) .toggle-box{border:.25em solid #D9D9D9;background:none}.toggle-base:has(input:disabled) .toggle-label{color:#d9d9d9}.toggle-base:has(input:disabled):has(input:checked) .toggle-box{background:#D9D9D9}.toggle-switch{display:flex;align-items:center;position:relative;height:1.2em}.toggle-trail{display:inline-flex;width:1.4em;height:.25em;background:#EDEDED;z-index:0;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-box{position:absolute;display:inline-flex;height:.7em;width:.7em;border:.25em solid #262626;box-sizing:border-box;z-index:1;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-label{margin-left:.7em;cursor:inherit;line-height:1.2em;-webkit-user-select:none;user-select:none;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-label:empty{display:none}@-moz-document url-prefix(){input:checked~.toggle-switch .toggle-trail{background:#FBAEC9}input:checked~.toggle-switch .toggle-box{transform:translate(.7em) rotate(45deg)!important;border:.25em solid #F20D5E;background:#F20D5E}input:disabled~.toggle-switch{pointer-events:none;cursor:default}input:disabled~.toggle-switch .toggle-trail{background:#EDEDED}input:disabled~.toggle-switch .toggle-box{border:.25em solid #D9D9D9;background:none}input:disabled~.toggle-switch .toggle-label{color:#d9d9d9}input:checked:disabled~.toggle-switch .toggle-box{background:#D9D9D9}}\n"] }]
934
+ }], propDecorators: { disabled: [{
935
+ type: Input
936
+ }] } });
937
+
938
+ class BiitToggleModule {
939
+ }
940
+ BiitToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
941
+ BiitToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleModule, declarations: [BiitToggleComponent], imports: [CommonModule,
942
+ FormsModule], exports: [BiitToggleComponent] });
943
+ BiitToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleModule, imports: [CommonModule,
944
+ FormsModule] });
945
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleModule, decorators: [{
946
+ type: NgModule,
947
+ args: [{
948
+ declarations: [
949
+ BiitToggleComponent
950
+ ],
951
+ imports: [
952
+ CommonModule,
953
+ FormsModule,
954
+ ],
955
+ exports: [
956
+ BiitToggleComponent
957
+ ]
958
+ }]
959
+ }] });
960
+
961
+ class BiitTernaryToggleComponent {
962
+ constructor() {
963
+ this.disabled = false;
964
+ this.onChange = (value) => { };
965
+ this.onTouched = () => { };
966
+ }
967
+ onToggle() {
968
+ if (this.disabled) {
969
+ return;
970
+ }
971
+ switch (this.checked) {
972
+ case true:
973
+ this.checked = false;
974
+ break;
975
+ case false:
976
+ this.checked = undefined;
977
+ break;
978
+ case undefined:
979
+ this.checked = true;
980
+ break;
981
+ }
982
+ if (this.clickTimer) {
983
+ clearTimeout(this.clickTimer);
984
+ this.clickTimer = undefined;
985
+ }
986
+ this.clickTimer = setTimeout(() => {
987
+ this.onChange(this.checked);
988
+ clearTimeout(this.clickTimer);
989
+ this.clickTimer = undefined;
990
+ }, 1000);
991
+ }
992
+ registerOnChange(fn) {
993
+ this.onChange = fn;
994
+ }
995
+ registerOnTouched(fn) {
996
+ this.onTouched = fn;
997
+ }
998
+ writeValue(obj) {
999
+ this.checked = obj;
1000
+ }
1001
+ }
1002
+ BiitTernaryToggleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTernaryToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1003
+ BiitTernaryToggleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitTernaryToggleComponent, selector: "biit-ternary-togle", inputs: { disabled: "disabled" }, providers: [
1004
+ {
1005
+ provide: NG_VALUE_ACCESSOR,
1006
+ useExisting: forwardRef(() => BiitTernaryToggleComponent),
1007
+ multi: true
1008
+ }
1009
+ ], ngImport: i0, template: "<div class=\"ternary-toggle-container\">\n <label><ng-content select=\"[appended-text]\"></ng-content></label>\n <label class=\"toggle-base\">\n <div class=\"toggle-switch\" (click)=\"onToggle()\">\n <div class=\"toggle-trail\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n <div class=\"toggle-box\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n <div class=\"toggle-trail\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n </div>\n <a class=\"toggle-label\">\n <ng-content></ng-content>\n </a>\n </label>\n</div>\n", styles: [".toggle-base{display:flex;align-items:flex-start;width:-moz-fit-content;width:fit-content;min-height:1.2em;cursor:pointer;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-base:hover .toggle-box:not(.checked):not(.unchecked){transform:translate(1.2em) rotate(15deg);border:.25em solid #F20D5E}.toggle-base:hover .toggle-box.checked{transform:translate(2.2em) rotate(45deg);border:.25em solid #F20D5E}.toggle-base:hover .toggle-box.unchecked{transform:translate(.1em) rotate(45deg);border:.25em solid #F20D5E;background:#262626}.checked.toggle-trail{background:#FBAEC9}.checked.toggle-box{transform:translate(2.2em) rotate(45deg);border:.25em solid #F20D5E;background:#F20D5E}.unchecked.toggle-box{transform:translate(.1em) rotate(45deg);background:#F20D5E}.toggle-switch{display:flex;align-items:center;position:relative;height:1.2em}.toggle-trail{display:inline-flex;width:1.4em;height:.25em;background:#EDEDED;z-index:0;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-box{position:absolute;display:inline-flex;height:.7em;width:.7em;border:.25em solid #262626;transform:translate(1.1em) rotate(0);box-sizing:border-box;z-index:1;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-label{margin-left:.7em;cursor:inherit;line-height:1.2em;-webkit-user-select:none;user-select:none;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-label:empty{display:none}.ternary-toggle-container{display:flex;gap:.5rem}\n"] });
1010
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTernaryToggleComponent, decorators: [{
1011
+ type: Component,
1012
+ args: [{ selector: 'biit-ternary-togle', providers: [
1013
+ {
1014
+ provide: NG_VALUE_ACCESSOR,
1015
+ useExisting: forwardRef(() => BiitTernaryToggleComponent),
1016
+ multi: true
1017
+ }
1018
+ ], template: "<div class=\"ternary-toggle-container\">\n <label><ng-content select=\"[appended-text]\"></ng-content></label>\n <label class=\"toggle-base\">\n <div class=\"toggle-switch\" (click)=\"onToggle()\">\n <div class=\"toggle-trail\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n <div class=\"toggle-box\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n <div class=\"toggle-trail\" [class.checked]=\"checked\" [class.unchecked]=\"checked === false\"></div>\n </div>\n <a class=\"toggle-label\">\n <ng-content></ng-content>\n </a>\n </label>\n</div>\n", styles: [".toggle-base{display:flex;align-items:flex-start;width:-moz-fit-content;width:fit-content;min-height:1.2em;cursor:pointer;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-base:hover .toggle-box:not(.checked):not(.unchecked){transform:translate(1.2em) rotate(15deg);border:.25em solid #F20D5E}.toggle-base:hover .toggle-box.checked{transform:translate(2.2em) rotate(45deg);border:.25em solid #F20D5E}.toggle-base:hover .toggle-box.unchecked{transform:translate(.1em) rotate(45deg);border:.25em solid #F20D5E;background:#262626}.checked.toggle-trail{background:#FBAEC9}.checked.toggle-box{transform:translate(2.2em) rotate(45deg);border:.25em solid #F20D5E;background:#F20D5E}.unchecked.toggle-box{transform:translate(.1em) rotate(45deg);background:#F20D5E}.toggle-switch{display:flex;align-items:center;position:relative;height:1.2em}.toggle-trail{display:inline-flex;width:1.4em;height:.25em;background:#EDEDED;z-index:0;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-box{position:absolute;display:inline-flex;height:.7em;width:.7em;border:.25em solid #262626;transform:translate(1.1em) rotate(0);box-sizing:border-box;z-index:1;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-label{margin-left:.7em;cursor:inherit;line-height:1.2em;-webkit-user-select:none;user-select:none;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.toggle-label:empty{display:none}.ternary-toggle-container{display:flex;gap:.5rem}\n"] }]
1019
+ }], propDecorators: { disabled: [{
1020
+ type: Input
1021
+ }] } });
1022
+
1023
+ class BiitTernaryToggleModule {
1024
+ }
1025
+ BiitTernaryToggleModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTernaryToggleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1026
+ BiitTernaryToggleModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitTernaryToggleModule, declarations: [BiitTernaryToggleComponent], imports: [CommonModule,
1027
+ ReactiveFormsModule,
1028
+ FormsModule], exports: [BiitTernaryToggleComponent] });
1029
+ BiitTernaryToggleModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTernaryToggleModule, imports: [CommonModule,
1030
+ ReactiveFormsModule,
1031
+ FormsModule] });
1032
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTernaryToggleModule, decorators: [{
1033
+ type: NgModule,
1034
+ args: [{
1035
+ declarations: [
1036
+ BiitTernaryToggleComponent
1037
+ ],
1038
+ imports: [
1039
+ CommonModule,
1040
+ ReactiveFormsModule,
1041
+ FormsModule
1042
+ ],
1043
+ exports: [
1044
+ BiitTernaryToggleComponent
1045
+ ]
1046
+ }]
1047
+ }] });
1048
+
1049
+ class BiitToggleButtonComponent {
1050
+ ngOnInit() {
1051
+ this.disabled = coerceBooleanProperty(this.disabled);
1052
+ }
1053
+ }
1054
+ BiitToggleButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1055
+ BiitToggleButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitToggleButtonComponent, selector: "biit-toggle-button", inputs: { text: "text", icon: "icon", value: "value", disabled: "disabled" }, ngImport: i0, template: '', isInline: true, styles: [".inner-content{display:contents;min-height:100%}\n"] });
1056
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleButtonComponent, decorators: [{
1057
+ type: Component,
1058
+ args: [{ selector: 'biit-toggle-button', template: '', styles: [".inner-content{display:contents;min-height:100%}\n"] }]
1059
+ }], propDecorators: { text: [{
1060
+ type: Input
1061
+ }], icon: [{
1062
+ type: Input
1063
+ }], value: [{
1064
+ type: Input
1065
+ }], disabled: [{
1066
+ type: Input
1067
+ }] } });
1068
+
1069
+ class BiitToggleGroupComponent {
1070
+ constructor() {
1071
+ this.onChange = (value) => { };
1072
+ this.onTouched = () => { };
1073
+ }
1074
+ ngOnInit() {
1075
+ this.disabled = coerceBooleanProperty(this.disabled);
1076
+ this.multiple = coerceBooleanProperty(this.multiple);
1077
+ }
1078
+ onToggle(value) {
1079
+ if (this.multiple && !this.value) {
1080
+ this.value = [];
1081
+ }
1082
+ if (this.multiple) {
1083
+ if (this.value.indexOf(value) === -1) {
1084
+ this.value = [...this.value, value];
1085
+ }
1086
+ else {
1087
+ this.value = this.value.filter(item => value != item);
1088
+ }
1089
+ }
1090
+ else {
1091
+ this.value = value;
1092
+ }
1093
+ this.onChange(this.value);
1094
+ }
1095
+ registerOnChange(fn) {
1096
+ this.onChange = fn;
1097
+ }
1098
+ registerOnTouched(fn) {
1099
+ this.onTouched = fn;
1100
+ }
1101
+ writeValue(value) {
1102
+ this.value = value;
1103
+ }
1104
+ }
1105
+ BiitToggleGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1106
+ BiitToggleGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitToggleGroupComponent, selector: "biit-toggle-group", inputs: { disabled: "disabled", multiple: "multiple" }, providers: [
1107
+ {
1108
+ provide: NG_VALUE_ACCESSOR,
1109
+ useExisting: forwardRef(() => BiitToggleGroupComponent),
1110
+ multi: true
1111
+ }
1112
+ ], queries: [{ propertyName: "buttons", predicate: BiitToggleButtonComponent }], ngImport: i0, template: "<div class=\"toggle-group\">\n <button\n *ngFor=\"let button of buttons\"\n [class.active]=\"multiple ? value && value.includes(button.value) : value == button.value\"\n [disabled]=\"disabled || button.disabled\"\n (click)=\"onToggle(button.value)\"\n >\n <biit-icon\n *ngIf=\"button.icon\"\n [name]=\"button.icon\"\n [pathStyle]=\"{fill: '#262626'}\"\n style=\"display: block; height: 1em; width: 1em;\"\n ></biit-icon>\n <span\n *ngIf=\"button.text\"\n style=\"display: block\"\n >\n {{button.text}}\n </span>\n </button>\n</div>\n", styles: ["button{background:none;color:inherit;border:none;font:inherit;outline:inherit;box-sizing:border-box;font-size:1em;line-height:100%;padding:.625em;cursor:pointer;color:#262626;display:flex;gap:.375em}button:not(:last-child){border-right:2px solid #EDEDED}button:disabled{pointer-events:none;color:#d9d9d9}button:disabled ::ng-deep biit-icon svg *{fill:#d9d9d9!important}button:disabled:active,button:disabled.active{color:gray}button:disabled:active ::ng-deep biit-icon svg *,button:disabled.active ::ng-deep biit-icon svg *{fill:gray!important}button:active,button.active{background:#EDEDED;color:#f20d5e}button:active ::ng-deep biit-icon svg *,button.active ::ng-deep biit-icon svg *{fill:#f20d5e!important}button:hover{background:#D9D9D9}.toggle-group{display:flex;flex-wrap:wrap;border:2px solid #EDEDED;width:-moz-fit-content;width:fit-content}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }] });
1113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleGroupComponent, decorators: [{
1114
+ type: Component,
1115
+ args: [{ selector: 'biit-toggle-group', providers: [
1116
+ {
1117
+ provide: NG_VALUE_ACCESSOR,
1118
+ useExisting: forwardRef(() => BiitToggleGroupComponent),
1119
+ multi: true
1120
+ }
1121
+ ], template: "<div class=\"toggle-group\">\n <button\n *ngFor=\"let button of buttons\"\n [class.active]=\"multiple ? value && value.includes(button.value) : value == button.value\"\n [disabled]=\"disabled || button.disabled\"\n (click)=\"onToggle(button.value)\"\n >\n <biit-icon\n *ngIf=\"button.icon\"\n [name]=\"button.icon\"\n [pathStyle]=\"{fill: '#262626'}\"\n style=\"display: block; height: 1em; width: 1em;\"\n ></biit-icon>\n <span\n *ngIf=\"button.text\"\n style=\"display: block\"\n >\n {{button.text}}\n </span>\n </button>\n</div>\n", styles: ["button{background:none;color:inherit;border:none;font:inherit;outline:inherit;box-sizing:border-box;font-size:1em;line-height:100%;padding:.625em;cursor:pointer;color:#262626;display:flex;gap:.375em}button:not(:last-child){border-right:2px solid #EDEDED}button:disabled{pointer-events:none;color:#d9d9d9}button:disabled ::ng-deep biit-icon svg *{fill:#d9d9d9!important}button:disabled:active,button:disabled.active{color:gray}button:disabled:active ::ng-deep biit-icon svg *,button:disabled.active ::ng-deep biit-icon svg *{fill:gray!important}button:active,button.active{background:#EDEDED;color:#f20d5e}button:active ::ng-deep biit-icon svg *,button.active ::ng-deep biit-icon svg *{fill:#f20d5e!important}button:hover{background:#D9D9D9}.toggle-group{display:flex;flex-wrap:wrap;border:2px solid #EDEDED;width:-moz-fit-content;width:fit-content}\n"] }]
1122
+ }], propDecorators: { buttons: [{
1123
+ type: ContentChildren,
1124
+ args: [BiitToggleButtonComponent]
1125
+ }], disabled: [{
1126
+ type: Input
1127
+ }], multiple: [{
1128
+ type: Input
1129
+ }] } });
1130
+
1131
+ class BiitToggleGroupModule {
1132
+ }
1133
+ BiitToggleGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1134
+ BiitToggleGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleGroupModule, declarations: [BiitToggleGroupComponent,
1135
+ BiitToggleButtonComponent], imports: [CommonModule,
1136
+ FormsModule,
1137
+ BiitIconModule], exports: [BiitToggleGroupComponent,
1138
+ BiitToggleButtonComponent] });
1139
+ BiitToggleGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleGroupModule, imports: [CommonModule,
1140
+ FormsModule,
1141
+ BiitIconModule] });
1142
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitToggleGroupModule, decorators: [{
1143
+ type: NgModule,
1144
+ args: [{
1145
+ declarations: [
1146
+ BiitToggleGroupComponent,
1147
+ BiitToggleButtonComponent
1148
+ ],
1149
+ imports: [
1150
+ CommonModule,
1151
+ FormsModule,
1152
+ BiitIconModule,
1153
+ ],
1154
+ exports: [
1155
+ BiitToggleGroupComponent,
1156
+ BiitToggleButtonComponent
1157
+ ]
1158
+ }]
1159
+ }] });
1160
+
1161
+ class BiitRadioButtonComponent {
1162
+ constructor() {
1163
+ this.showAlwaysDescription = false;
1164
+ this.hover = false;
1165
+ this.onChange = (value) => { };
1166
+ this.onTouched = () => { };
1167
+ }
1168
+ ngOnInit() {
1169
+ this.disabled = !!this.disabled;
1170
+ }
1171
+ registerOnChange(fn) {
1172
+ this.onChange = fn;
1173
+ }
1174
+ registerOnTouched(fn) {
1175
+ this.onTouched = fn;
1176
+ }
1177
+ writeValue(selected) {
1178
+ this.selected = selected;
1179
+ }
1180
+ onModelChange(selected) {
1181
+ this.selected = selected;
1182
+ this.onChange(selected);
1183
+ }
1184
+ }
1185
+ BiitRadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitRadioButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1186
+ BiitRadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitRadioButtonComponent, selector: "biit-radio-button", inputs: { id: "id", name: "name", value: "value", description: "description", showAlwaysDescription: "showAlwaysDescription", disabled: "disabled" }, providers: [
1187
+ {
1188
+ provide: NG_VALUE_ACCESSOR,
1189
+ useExisting: forwardRef(() => BiitRadioButtonComponent),
1190
+ multi: true
1191
+ }
1192
+ ], ngImport: i0, template: "<label [class.disabled]=\"disabled\" (mouseenter)=\"hover=true\" (mouseleave)=\"hover=false\">\n <input type=\"radio\"\n [ngModel]=\"selected\"\n (ngModelChange)=\"onModelChange($event)\"\n [id]=\"id\"\n [name]=\"name\"\n [value]=\"value\"\n [class.disabled]=\"disabled\"/>\n <biit-icon [name]=\"value == selected ? 'radio_button_filled' : 'radio_button_empty'\"\n [pathStyle]=\"{fill: disabled ? '#D9D9D9' : hover || (value == selected) ? '#F20D5E' : '#262626'}\"\n class=\"biit-radio\"\n [class.checked]=\"value == selected\"\n [class.disabled]=\"disabled\"\n ></biit-icon>\n <div>\n <div>\n <a><ng-content></ng-content></a>\n <biit-tooltip-icon *ngIf=\"description && !showAlwaysDescription\" inline [text]=\"description\"/>\n </div>\n <span class=\"description\" *ngIf=\"description && showAlwaysDescription\">{{ description }}</span>\n </div>\n</label>\n", styles: ["label{display:flex;align-items:flex-start;width:-moz-fit-content;width:fit-content;min-height:1.2em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}label.disabled{pointer-events:none;color:#d9d9d9}label .biit-radio{transform:rotate(-30deg)}label .biit-radio.checked{transform:rotate(0)}label .biit-radio.disabled{transform:rotate(-30deg)}label:hover .biit-radio{transform:rotate(-15deg)}label:hover .biit-radio.checked{transform:rotate(15deg)}label>div{display:flex;flex-direction:column;margin-left:.75em}label>div div{display:flex}input[type=radio]{appearance:none;background-color:#fff;margin:0}.biit-radio{display:inline-flex;height:.9em;width:.9em;margin-top:.2em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.description{font-size:.75em;color:gray;line-height:120%;font-style:italic}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i3$1.BiitTooltipIconComponent, selector: "biit-tooltip-icon", inputs: ["text", "inline"] }] });
1193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitRadioButtonComponent, decorators: [{
1194
+ type: Component,
1195
+ args: [{ selector: 'biit-radio-button', providers: [
1196
+ {
1197
+ provide: NG_VALUE_ACCESSOR,
1198
+ useExisting: forwardRef(() => BiitRadioButtonComponent),
1199
+ multi: true
1200
+ }
1201
+ ], template: "<label [class.disabled]=\"disabled\" (mouseenter)=\"hover=true\" (mouseleave)=\"hover=false\">\n <input type=\"radio\"\n [ngModel]=\"selected\"\n (ngModelChange)=\"onModelChange($event)\"\n [id]=\"id\"\n [name]=\"name\"\n [value]=\"value\"\n [class.disabled]=\"disabled\"/>\n <biit-icon [name]=\"value == selected ? 'radio_button_filled' : 'radio_button_empty'\"\n [pathStyle]=\"{fill: disabled ? '#D9D9D9' : hover || (value == selected) ? '#F20D5E' : '#262626'}\"\n class=\"biit-radio\"\n [class.checked]=\"value == selected\"\n [class.disabled]=\"disabled\"\n ></biit-icon>\n <div>\n <div>\n <a><ng-content></ng-content></a>\n <biit-tooltip-icon *ngIf=\"description && !showAlwaysDescription\" inline [text]=\"description\"/>\n </div>\n <span class=\"description\" *ngIf=\"description && showAlwaysDescription\">{{ description }}</span>\n </div>\n</label>\n", styles: ["label{display:flex;align-items:flex-start;width:-moz-fit-content;width:fit-content;min-height:1.2em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}label.disabled{pointer-events:none;color:#d9d9d9}label .biit-radio{transform:rotate(-30deg)}label .biit-radio.checked{transform:rotate(0)}label .biit-radio.disabled{transform:rotate(-30deg)}label:hover .biit-radio{transform:rotate(-15deg)}label:hover .biit-radio.checked{transform:rotate(15deg)}label>div{display:flex;flex-direction:column;margin-left:.75em}label>div div{display:flex}input[type=radio]{appearance:none;background-color:#fff;margin:0}.biit-radio{display:inline-flex;height:.9em;width:.9em;margin-top:.2em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.description{font-size:.75em;color:gray;line-height:120%;font-style:italic}\n"] }]
1202
+ }], propDecorators: { id: [{
1203
+ type: Input
1204
+ }], name: [{
1205
+ type: Input
1206
+ }], value: [{
1207
+ type: Input
1208
+ }], description: [{
1209
+ type: Input
1210
+ }], showAlwaysDescription: [{
1211
+ type: Input
1212
+ }], disabled: [{
1213
+ type: Input
1214
+ }] } });
1215
+
1216
+ class BiitRadioButtonModule {
1217
+ }
1218
+ BiitRadioButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitRadioButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1219
+ BiitRadioButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitRadioButtonModule, declarations: [BiitRadioButtonComponent], imports: [CommonModule,
1220
+ FormsModule,
1221
+ BiitIconModule,
1222
+ BiitTooltipIconModule], exports: [BiitRadioButtonComponent] });
1223
+ BiitRadioButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitRadioButtonModule, imports: [CommonModule,
1224
+ FormsModule,
1225
+ BiitIconModule,
1226
+ BiitTooltipIconModule] });
1227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitRadioButtonModule, decorators: [{
1228
+ type: NgModule,
1229
+ args: [{
1230
+ declarations: [
1231
+ BiitRadioButtonComponent
1232
+ ],
1233
+ imports: [
1234
+ CommonModule,
1235
+ FormsModule,
1236
+ BiitIconModule,
1237
+ BiitTooltipIconModule
1238
+ ],
1239
+ exports: [
1240
+ BiitRadioButtonComponent
1241
+ ]
1242
+ }]
1243
+ }] });
1244
+
1245
+ class BiitTextareaComponent {
1246
+ constructor() {
1247
+ this.placeholder = '';
1248
+ this.onActionPerformed = new EventEmitter();
1249
+ this.reveal = false;
1250
+ this.resize = 'none';
1251
+ this.onChange = (_) => { };
1252
+ this.onTouch = () => { };
1253
+ }
1254
+ ngOnInit() {
1255
+ this.readonly = this.checkBooleanInput(this.readonly);
1256
+ this.resizeX = this.checkBooleanInput(this.resizeX);
1257
+ this.resizeY = this.checkBooleanInput(this.resizeX);
1258
+ this.disabled = this.checkBooleanInput(this.disabled);
1259
+ this.required = this.checkBooleanInput(this.required);
1260
+ if (this.resizeX && this.resizeY) {
1261
+ this.resize = 'both';
1262
+ }
1263
+ else if (this.resizeX) {
1264
+ this.resize = 'horizontal';
1265
+ }
1266
+ else if (this.resizeY) {
1267
+ this.resize = 'vertical';
1268
+ }
1269
+ }
1270
+ checkBooleanInput(value) {
1271
+ switch (value) {
1272
+ case undefined:
1273
+ return false;
1274
+ case false:
1275
+ return false;
1276
+ default:
1277
+ return true;
1278
+ }
1279
+ }
1280
+ registerOnChange(fn) {
1281
+ this.onChange = fn;
1282
+ }
1283
+ registerOnTouched(fn) {
1284
+ this.onTouch = fn;
1285
+ }
1286
+ writeValue(value) {
1287
+ this.value = value;
1288
+ }
1289
+ }
1290
+ BiitTextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTextareaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1291
+ BiitTextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitTextareaComponent, selector: "biit-textarea", inputs: { placeholder: "placeholder", error: "error", description: "description", info: "info", icon: "icon", fieldName: "fieldName", maxLength: "maxLength", readonly: "readonly", resizeX: ["resize-x", "resizeX"], resizeY: ["resize-y", "resizeY"], disabled: "disabled", required: "required" }, outputs: { onActionPerformed: "onActionPerformed" }, providers: [
1292
+ {
1293
+ provide: NG_VALUE_ACCESSOR,
1294
+ useExisting: forwardRef(() => BiitTextareaComponent),
1295
+ multi: true
1296
+ }
1297
+ ], ngImport: i0, template: "<div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\">\n <div class=\"input-container\">\n <biit-tooltip-icon *ngIf=\"info\"\n class=\"tooltip-icon\"\n [text]=\"info\"></biit-tooltip-icon>\n <textarea\n class=\"input-object\" required\n [(ngModel)]=\"value\"\n (ngModelChange)=\"this.onChange($event);\"\n (keydown.enter)=\"onActionPerformed.emit(value)\"\n [attr.name]=\"fieldName\"\n [attr.maxlength]=\"maxLength\"\n [class.error]=\"error\"\n [class.reveal]=\"reveal\"\n [style.resize]=\"resize\"\n ></textarea>\n <div class=\"input-placeholder\">\n {{ placeholder }}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error\" id=\"exclamation\" name=\"exclamation\" class=\"input-error-icon\"\n [pathStyle]=\"{fill:'#A1093F'}\"></biit-icon>\n <div *ngIf=\"error\" class=\"input-error-msg\" id=\"error-message\">\n <a id=\"message\">\n {{ error }}\n </a>\n </div>\n <span *ngIf=\"description\" id=\"description\" class=\"input-description\">\n {{ description }}\n </span>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}.biit-input{display:flex;height:inherit;min-width:12.8em}.biit-input.disabled{pointer-events:none}.biit-input.disabled .input-object{background:#D9D9D9}.biit-input.readonly .input-object{color:gray}.input-container{position:relative;height:inherit;width:100%}.input-object{font-size:1em;display:block;border:none;color:#262626;padding:.45em .7em;height:inherit;min-height:2.25em;width:100%;min-width:2.1em;font-weight:400;border-bottom:3px solid #262626}.input-object:focus{outline:none;background:#D9D9D9}.input-object:hover{background:#D9D9D9}.input-object.error{color:#a1093f;border-color:#a1093f}.input-object.password{padding:.7em 2.1em .55em .7em}.input-object.password.reveal{-webkit-text-security:none;input-security:none}.input-placeholder{color:#262626;font-size:1em;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7em;top:.42em;height:.7em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-object:focus~.input-placeholder,.input-object:valid~.input-placeholder{top:-.95em;font-size:.7em;line-height:.7em;font-weight:400;color:gray}.input-error-icon{display:flex;top:.7em;position:absolute;width:.7em;height:.7em}.input-error-msg{position:absolute;display:flex;align-items:center;font-size:.75em;color:#a1093f;padding-top:.2em;min-height:1.05em;line-height:120%}.input-error-msg a{display:block;line-height:1.1em}.input-description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:1.4em;min-height:1.05em;line-height:120%;font-style:italic}.input-description a{display:block;line-height:1.1em}.input-show-icon{width:1.05em;height:1.05em}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1em;height:2.1em;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{background-color:#d9d9d9;border:none;outline:none}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.tooltip-icon{position:absolute;top:-.5em;left:-.5em}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "component", type: i3$1.BiitTooltipIconComponent, selector: "biit-tooltip-icon", inputs: ["text", "inline"] }] });
1298
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTextareaComponent, decorators: [{
1299
+ type: Component,
1300
+ args: [{ selector: 'biit-textarea', providers: [
1301
+ {
1302
+ provide: NG_VALUE_ACCESSOR,
1303
+ useExisting: forwardRef(() => BiitTextareaComponent),
1304
+ multi: true
1305
+ }
1306
+ ], template: "<div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\">\n <div class=\"input-container\">\n <biit-tooltip-icon *ngIf=\"info\"\n class=\"tooltip-icon\"\n [text]=\"info\"></biit-tooltip-icon>\n <textarea\n class=\"input-object\" required\n [(ngModel)]=\"value\"\n (ngModelChange)=\"this.onChange($event);\"\n (keydown.enter)=\"onActionPerformed.emit(value)\"\n [attr.name]=\"fieldName\"\n [attr.maxlength]=\"maxLength\"\n [class.error]=\"error\"\n [class.reveal]=\"reveal\"\n [style.resize]=\"resize\"\n ></textarea>\n <div class=\"input-placeholder\">\n {{ placeholder }}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error\" id=\"exclamation\" name=\"exclamation\" class=\"input-error-icon\"\n [pathStyle]=\"{fill:'#A1093F'}\"></biit-icon>\n <div *ngIf=\"error\" class=\"input-error-msg\" id=\"error-message\">\n <a id=\"message\">\n {{ error }}\n </a>\n </div>\n <span *ngIf=\"description\" id=\"description\" class=\"input-description\">\n {{ description }}\n </span>\n </div>\n</div>\n", styles: ["*{box-sizing:border-box}.biit-input{display:flex;height:inherit;min-width:12.8em}.biit-input.disabled{pointer-events:none}.biit-input.disabled .input-object{background:#D9D9D9}.biit-input.readonly .input-object{color:gray}.input-container{position:relative;height:inherit;width:100%}.input-object{font-size:1em;display:block;border:none;color:#262626;padding:.45em .7em;height:inherit;min-height:2.25em;width:100%;min-width:2.1em;font-weight:400;border-bottom:3px solid #262626}.input-object:focus{outline:none;background:#D9D9D9}.input-object:hover{background:#D9D9D9}.input-object.error{color:#a1093f;border-color:#a1093f}.input-object.password{padding:.7em 2.1em .55em .7em}.input-object.password.reveal{-webkit-text-security:none;input-security:none}.input-placeholder{color:#262626;font-size:1em;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7em;top:.42em;height:.7em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-object:focus~.input-placeholder,.input-object:valid~.input-placeholder{top:-.95em;font-size:.7em;line-height:.7em;font-weight:400;color:gray}.input-error-icon{display:flex;top:.7em;position:absolute;width:.7em;height:.7em}.input-error-msg{position:absolute;display:flex;align-items:center;font-size:.75em;color:#a1093f;padding-top:.2em;min-height:1.05em;line-height:120%}.input-error-msg a{display:block;line-height:1.1em}.input-description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:1.4em;min-height:1.05em;line-height:120%;font-style:italic}.input-description a{display:block;line-height:1.1em}.input-show-icon{width:1.05em;height:1.05em}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1em;height:2.1em;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{background-color:#d9d9d9;border:none;outline:none}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.tooltip-icon{position:absolute;top:-.5em;left:-.5em}\n"] }]
1307
+ }], propDecorators: { placeholder: [{
1308
+ type: Input
1309
+ }], error: [{
1310
+ type: Input
1311
+ }], description: [{
1312
+ type: Input
1313
+ }], info: [{
1314
+ type: Input
1315
+ }], icon: [{
1316
+ type: Input
1317
+ }], fieldName: [{
1318
+ type: Input
1319
+ }], maxLength: [{
1320
+ type: Input
1321
+ }], readonly: [{
1322
+ type: Input
1323
+ }], resizeX: [{
1324
+ type: Input,
1325
+ args: ['resize-x']
1326
+ }], resizeY: [{
1327
+ type: Input,
1328
+ args: ['resize-y']
1329
+ }], disabled: [{
1330
+ type: Input
1331
+ }], required: [{
1332
+ type: Input
1333
+ }], onActionPerformed: [{
1334
+ type: Output
1335
+ }] } });
1336
+
1337
+ class BiitTextareaModule {
1338
+ }
1339
+ BiitTextareaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTextareaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1340
+ BiitTextareaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitTextareaModule, declarations: [BiitTextareaComponent], imports: [CommonModule,
1341
+ FormsModule,
1342
+ BiitIconModule,
1343
+ BiitTooltipIconModule], exports: [BiitTextareaComponent] });
1344
+ BiitTextareaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTextareaModule, imports: [CommonModule,
1345
+ FormsModule,
1346
+ BiitIconModule,
1347
+ BiitTooltipIconModule] });
1348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitTextareaModule, decorators: [{
1349
+ type: NgModule,
1350
+ args: [{
1351
+ declarations: [
1352
+ BiitTextareaComponent,
1353
+ ],
1354
+ imports: [
1355
+ CommonModule,
1356
+ FormsModule,
1357
+ BiitIconModule,
1358
+ BiitTooltipIconModule
1359
+ ],
1360
+ exports: [
1361
+ BiitTextareaComponent,
1362
+ ]
1363
+ }]
1364
+ }] });
1365
+
1366
+ class CalendarDatePipe {
1367
+ constructor() {
1368
+ }
1369
+ transform(date) {
1370
+ return date.getDate();
1371
+ }
1372
+ }
1373
+ CalendarDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1374
+ CalendarDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: CalendarDatePipe, name: "calendarDate" });
1375
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CalendarDatePipe, decorators: [{
1376
+ type: Pipe,
1377
+ args: [{
1378
+ name: 'calendarDate'
1379
+ }]
1380
+ }], ctorParameters: function () { return []; } });
1381
+
1382
+ class OutOfMonthPipe {
1383
+ constructor() {
1384
+ }
1385
+ transform(date, viewerDate) {
1386
+ return !isSameMonth(date, viewerDate);
1387
+ }
1388
+ }
1389
+ OutOfMonthPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OutOfMonthPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1390
+ OutOfMonthPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: OutOfMonthPipe, name: "outOfMonth" });
1391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OutOfMonthPipe, decorators: [{
1392
+ type: Pipe,
1393
+ args: [{
1394
+ name: 'outOfMonth'
1395
+ }]
1396
+ }], ctorParameters: function () { return []; } });
1397
+
1398
+ class IsTodayPipe {
1399
+ constructor() {
1400
+ }
1401
+ transform(date) {
1402
+ return isToday(date);
1403
+ }
1404
+ }
1405
+ IsTodayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsTodayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1406
+ IsTodayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: IsTodayPipe, name: "isToday" });
1407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsTodayPipe, decorators: [{
1408
+ type: Pipe,
1409
+ args: [{
1410
+ name: 'isToday'
1411
+ }]
1412
+ }], ctorParameters: function () { return []; } });
1413
+
1414
+ class IsSameDayPipe {
1415
+ constructor() {
1416
+ }
1417
+ transform(date1, date2) {
1418
+ return isSameDay(date1, date2);
1419
+ }
1420
+ }
1421
+ IsSameDayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsSameDayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1422
+ IsSameDayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: IsSameDayPipe, name: "isSameDay" });
1423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsSameDayPipe, decorators: [{
1424
+ type: Pipe,
1425
+ args: [{
1426
+ name: 'isSameDay'
1427
+ }]
1428
+ }], ctorParameters: function () { return []; } });
1429
+
1430
+ class IsDisabledPipe {
1431
+ constructor() {
1432
+ }
1433
+ transform(date, disabledDates, disableWeekdays, disableWeekends, min, max) {
1434
+ let disabled = false;
1435
+ disabledDates.forEach(target => {
1436
+ if (isSameDay(date, target)) {
1437
+ disabled = true;
1438
+ }
1439
+ });
1440
+ if (disableWeekdays && !isWeekend(date)) {
1441
+ disabled = true;
1442
+ }
1443
+ if (disableWeekends && isWeekend(date)) {
1444
+ disabled = true;
1445
+ }
1446
+ if (min && (date === null || date === void 0 ? void 0 : date.getTime()) < (min === null || min === void 0 ? void 0 : min.getTime()))
1447
+ disabled = true;
1448
+ if (max && (date === null || date === void 0 ? void 0 : date.getTime()) > (max === null || max === void 0 ? void 0 : max.getTime()))
1449
+ disabled = true;
1450
+ return disabled;
1451
+ }
1452
+ }
1453
+ IsDisabledPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsDisabledPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1454
+ IsDisabledPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: IsDisabledPipe, name: "isDisabled" });
1455
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: IsDisabledPipe, decorators: [{
1456
+ type: Pipe,
1457
+ args: [{
1458
+ name: 'isDisabled'
1459
+ }]
1460
+ }], ctorParameters: function () { return []; } });
1461
+
1462
+ class BiitDatePickerComponent {
1463
+ set isCalendarMode(value) {
1464
+ this.calendarMode = coerceBooleanProperty(value);
1465
+ }
1466
+ set placeholder(placeholder) {
1467
+ this._placeholder = placeholder;
1468
+ }
1469
+ get inputElement() { return this.elem.nativeElement.querySelector('.input-object'); }
1470
+ get dropdownElement() { return this.elem.nativeElement.querySelector('.popup'); }
1471
+ onKeyDown(e) {
1472
+ this.closeDropdown();
1473
+ }
1474
+ constructor(elem, transloco) {
1475
+ this.elem = elem;
1476
+ this.transloco = transloco;
1477
+ this.calendarMode = false;
1478
+ this.disabledDays = [];
1479
+ this._placeholder = '';
1480
+ this.error = "";
1481
+ this.dropdownOpen = false;
1482
+ this.monthSelector = false;
1483
+ this.days = [];
1484
+ this.headers = ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"];
1485
+ this.viewerDate = new Date();
1486
+ this.add = add;
1487
+ this.sub = sub;
1488
+ this.parseISO = parseISO;
1489
+ this.onChange = (value) => { };
1490
+ this.onTouched = () => { };
1491
+ }
1492
+ checkBooleanInput(value) {
1493
+ switch (value) {
1494
+ case undefined:
1495
+ return false;
1496
+ case false:
1497
+ return false;
1498
+ default:
1499
+ return true;
1500
+ }
1501
+ }
1502
+ registerOnChange(fn) {
1503
+ this.onChange = fn;
1504
+ }
1505
+ registerOnTouched(fn) {
1506
+ this.onTouched = fn;
1507
+ }
1508
+ writeValue(value) {
1509
+ if (this.calendarMode && !value) {
1510
+ this.value = new Date();
1511
+ }
1512
+ else {
1513
+ this.value = value;
1514
+ }
1515
+ }
1516
+ onModelChange(value) {
1517
+ if (value) {
1518
+ if (this.min && new Date(value).getTime() <= (new Date(this.min).getTime()))
1519
+ value = add(this.min, { minutes: 1 });
1520
+ if (this.max && new Date(value).getTime() > new Date(this.max).getTime())
1521
+ value = sub(this.max, { minutes: 1 });
1522
+ this.value = new Date(value);
1523
+ this.viewerDate = new Date(value);
1524
+ this.onChange(value);
1525
+ }
1526
+ }
1527
+ ngOnInit() {
1528
+ this.initLocalization();
1529
+ this.disabled = this.checkBooleanInput(this.disabled);
1530
+ this.readonly = this.checkBooleanInput(this.readonly);
1531
+ this.required = this.checkBooleanInput(this.required);
1532
+ this.disableWeekdays = this.checkBooleanInput(this.disableWeekdays);
1533
+ this.disableWeekends = this.checkBooleanInput(this.disableWeekends);
1534
+ this.timePicker = this.checkBooleanInput(this.timePicker);
1535
+ this.drawCalendar();
1536
+ }
1537
+ initLocalization() {
1538
+ switch (this.transloco.getActiveLang()) {
1539
+ case 'es':
1540
+ this.locale = es;
1541
+ break;
1542
+ case 'nl':
1543
+ this.locale = nl;
1544
+ break;
1545
+ default:
1546
+ this.locale = enGB;
1547
+ }
1548
+ setDefaultOptions({ locale: this.locale });
1549
+ }
1550
+ handleMouseEvents($event) {
1551
+ if (this.dropdownOpen && !this.elem.nativeElement.contains($event.target)) {
1552
+ this.closeDropdown();
1553
+ }
1554
+ }
1555
+ changeView() {
1556
+ this.monthSelector = !this.monthSelector;
1557
+ this.setPopupComponentProperties();
1558
+ }
1559
+ openDropdown() {
1560
+ if (!this.value)
1561
+ this.onModelChange(new Date());
1562
+ this.viewerDate = this.value;
1563
+ this.monthSelector = false;
1564
+ this.drawCalendar();
1565
+ this.setPopupComponentProperties();
1566
+ this.inputElement.focus();
1567
+ // Setting a timeout because it doesn't load upwards/downwards css classes on execution time
1568
+ setTimeout(() => {
1569
+ this.dropdownOpen = true;
1570
+ this.dropdownElement.setAttribute('aria-expanded', "true");
1571
+ }, 100);
1572
+ }
1573
+ closeDropdown() {
1574
+ this.dropdownOpen = false;
1575
+ this.dropdownElement.setAttribute('aria-expanded', "false");
1576
+ this.inputElement.focus();
1577
+ }
1578
+ setPopupComponentProperties() {
1579
+ let dropdown = this.dropdownElement;
1580
+ dropdown.style.display = 'block';
1581
+ let input = this.inputElement;
1582
+ // Checking available screen space
1583
+ const fitsBottom = bottomCheck();
1584
+ const fitsRight = rightCheck();
1585
+ const fitsLeft = leftCheck();
1586
+ if (!fitsRight && fitsLeft) {
1587
+ dropdown.style.marginLeft = input.offsetWidth - dropdown.offsetWidth + 'px';
1588
+ }
1589
+ else {
1590
+ dropdown.style.marginLeft = null;
1591
+ }
1592
+ dropdown.classList.remove('onwards');
1593
+ dropdown.classList.remove('downwards');
1594
+ if (!fitsBottom) {
1595
+ dropdown.classList.add('onwards');
1596
+ dropdown.style.marginTop = -(dropdown.offsetHeight + input.offsetHeight) + 'px';
1597
+ }
1598
+ else {
1599
+ dropdown.classList.add('downwards');
1600
+ dropdown.style.marginTop = null;
1601
+ }
1602
+ // Support inner functions
1603
+ function bottomCheck() {
1604
+ return input.getBoundingClientRect().bottom + dropdown.offsetHeight <= window.innerHeight ||
1605
+ input.getBoundingClientRect().top - dropdown.offsetHeight <= 0;
1606
+ }
1607
+ function rightCheck() {
1608
+ return input.getBoundingClientRect().right + dropdown.offsetWidth <= window.innerWidth;
1609
+ }
1610
+ function leftCheck() {
1611
+ return input.getBoundingClientRect().right - dropdown.offsetWidth >= 0;
1612
+ }
1613
+ }
1614
+ drawCalendar() {
1615
+ const firstDay = startOfWeek(setDate(this.viewerDate, 1));
1616
+ const lastDay = add(firstDay, { days: 41 });
1617
+ this.days = eachDayOfInterval({ start: firstDay, end: lastDay });
1618
+ }
1619
+ prevMonth() {
1620
+ this.viewerDate = sub(this.viewerDate, { months: 1 });
1621
+ this.drawCalendar();
1622
+ }
1623
+ nextMonth() {
1624
+ this.viewerDate = add(this.viewerDate, { months: 1 });
1625
+ this.drawCalendar();
1626
+ }
1627
+ setToday() {
1628
+ this.viewerDate = new Date();
1629
+ this.drawCalendar();
1630
+ this.onModelChange(new Date());
1631
+ }
1632
+ log(value) {
1633
+ console.debug('DEVELOPMENT LOG: ', value);
1634
+ }
1635
+ }
1636
+ BiitDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerComponent, deps: [{ token: i0.ElementRef }, { token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.Component });
1637
+ BiitDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitDatePickerComponent, selector: "biit-datepicker", inputs: { disabled: "disabled", readonly: "readonly", required: "required", isCalendarMode: ["calendar-mode", "isCalendarMode"], disabledDays: "disabledDays", disableWeekdays: "disableWeekdays", disableWeekends: "disableWeekends", timePicker: "timePicker", min: "min", max: "max", placeholder: "placeholder", error: "error", description: "description" }, host: { listeners: { "document:pointerdown": "handleMouseEvents($event)", "keydown.esc": "onKeyDown($event)" } }, providers: [
1638
+ {
1639
+ provide: NG_VALUE_ACCESSOR,
1640
+ useExisting: forwardRef(() => BiitDatePickerComponent),
1641
+ multi: true
1642
+ },
1643
+ {
1644
+ provide: TRANSLOCO_SCOPE,
1645
+ useValue: { scope: 'wizardry-theme/inputs', alias: "inputs" }
1646
+ }
1647
+ ], ngImport: i0, template: "<ng-container *ngIf=\"calendarMode; then calendarModeTemplate else datePickerTemplate\"></ng-container>\n\n<ng-template #datePickerTemplate>\n <div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\" >\n <div class=\"input-container\">\n <input class=\"input-object\"\n [ngModel]=\"value && !timePicker ? (value | date: 'yyyy-MM-dd') :\n value && timePicker ? (value | date: 'yyyy-MM-dd\\THH:mm') :\n undefined\"\n (ngModelChange)=\"onModelChange(parseISO($event))\"\n [type]=\"timePicker ? 'datetime-local' : 'date'\" required\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n [min]=\"min ? (min | date: 'yyyy-MM-dd') : undefined\"\n [max]=\"max ? (max | date: 'yyyy-MM-dd') : undefined\"\n [disabled]=\"disabled\"\n >\n <div class=\"input-show-icon-container\"\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n (click)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n (keydown.enter)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n tabindex=\"0\">\n <biit-icon [name]=\"'calendar'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: dropdownOpen ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div class=\"input-placeholder input-filled\">\n {{_placeholder}}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error || (value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max)\"\n name=\"exclamation\"\n class=\"input-error-icon\"\n [pathStyle]=\"{fill:'#A1093F'}\"\n ></biit-icon>\n <div *ngIf=\"description\" class=\"input-description\">\n <a>\n {{description}}\n </a>\n </div>\n\n <div style=\"position: relative; height: 0;\">\n <div class=\"popup\"\n [class.dropdown-open]=\"dropdownOpen\"\n [style.height]=\"!monthSelector && timePicker ? '29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n <button biit-button tertiary\n (click)=\"closeDropdown()\">\n {{'inputs.done' | transloco}}\n </button>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"bottom-line\"></div>\n <div *ngIf=\"error\" class=\"input-error-msg\">\n <a>\n {{error}}\n </a>\n </div>\n <div *ngIf=\"value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max\" class=\"input-error-msg\">\n <a>\n {{'inputs.date-error' | transloco}}\n </a>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #calendarModeTemplate>\n <div class=\"popup calendar-mode\"\n [style.height]=\"!monthSelector && timePicker ? 'calc(29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n </div>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box}.popup{display:block;width:17.5em;border:3px solid #262626;background:white;padding:.45em;-webkit-user-select:none;user-select:none;opacity:0;pointer-events:none;transform-origin:top;margin-top:-3px;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease}.popup:not(.calendar-mode){position:absolute;z-index:2}.popup.calendar-mode{position:relative;opacity:1;pointer-events:all;margin-top:0}.popup.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.popup.disabled{visibility:hidden}.popup .month-view{display:flex;flex-direction:column;justify-content:space-between}.popup .month-view .month-selector{display:flex;justify-content:space-between;align-items:center}.popup .month-view .month-selector .month-label{width:12em}.popup .month-view .month-selector .month-label ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .month-view .month-selector .month-label ::ng-deep .button-base .bar{background:#262626}.popup .month-view .month-selector ::ng-deep button .icon-button-svg{width:.8em;height:.8em}.popup .month-view .grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.popup .month-view .grid .grid-element{display:flex;align-items:center;justify-content:center;height:2.1em;width:2.1em}.popup .month-view .grid .grid-element.header{font-weight:800;cursor:default;text-transform:capitalize}.popup .month-view .grid .grid-element.day{cursor:pointer;background:none;color:inherit;border:none;padding:0;font:inherit;outline:inherit}.popup .month-view .grid .grid-element.day.outer-day{color:#d9d9d9}.popup .month-view .grid .grid-element.day.outer-day:hover,.popup .month-view .grid .grid-element.day.outer-day:focus-visible{color:#262626}.popup .month-view .grid .grid-element.day.is-today{border:3px solid #262626}.popup .month-view .grid .grid-element.day:hover,.popup .month-view .grid .grid-element.day:focus-visible{background:#D9D9D9}.popup .month-view .grid .grid-element.day:active{color:#f20d5e}.popup .month-view .grid .grid-element.day.selected{background:#F20D5E}.popup .month-view .grid .grid-element.day.selected:hover,.popup .month-view .grid .grid-element.day.selected:focus-visible{background:#F20D5E;color:#fff}.popup .month-view .grid .grid-element.day.disabled{color:#a1093f;pointer-events:none}.popup .month-view .grid .grid-element.day.disabled.outer-day{color:#fbaec9}.popup .month-view .buttons{display:flex;justify-content:space-between;padding:.3em .85em}.popup .month-view .buttons .today-btn ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .month-view .buttons .today-btn ::ng-deep .button-base .bar{background:#262626}.popup .time-picker{width:17.5em;margin-left:calc(-.45em - 3px);box-sizing:border-box;border-top:3px solid #262626;margin-top:.45em;margin-bottom:-.45em}.popup .year-view{height:100%;display:flex;flex-direction:column;justify-content:space-between}.popup .year-view .month-label{width:100%;height:2.1em;align-items:center}.popup .year-view .month-label ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .year-view .month-label ::ng-deep .button-base .bar{background:#262626}.popup .year-view .buttons{display:flex;justify-content:flex-end;padding:.3em .85em}.popup .selector{display:flex;justify-content:center}.popup .selector .column{display:block}.popup .selector .column .item{width:100%;height:1.5em;display:flex;justify-content:center;align-items:center;cursor:pointer}.popup .selector .column .item.primary{height:1.8em;color:#262626;font-weight:500}.popup .selector .column .item.secondary{color:gray}.popup .selector .column .item.tertiary{color:#d9d9d9}.popup .selector .column .item.arrow{display:inline-flex;width:100%;height:1.8em}.popup .selector .column .item.arrow .up{height:.7em;rotate:-90deg}.popup .selector .column .item.arrow .down{height:.7em;rotate:90deg}.biit-input{display:flex;min-width:12.8em}.biit-input.disabled{pointer-events:none}.biit-input.disabled .input-object,.biit-input.disabled .input-show-icon-container{background:#D9D9D9}.biit-input.readonly{pointer-events:none}.input-container{position:relative;width:100%}.input-object{font-size:1em;display:block;border:none;color:#262626;padding:.7em;height:2.1em;width:100%;min-width:2.1em;font-weight:400}.input-object:focus,.input-object:hover{outline:none;background:#D9D9D9}.input-object:focus~.input-show-icon-container,.input-object:hover~.input-show-icon-container{background:#D9D9D9}.input-object.error{color:#a1093f;border-color:#a1093f}.input-object.password{padding:.7em 2.1em .55em .7em}.input-object.password.reveal{-webkit-text-security:none;input-security:none}.input-description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:1.4em;min-height:1.05em;line-height:120%;font-style:italic}.input-description a{display:block;line-height:1.1em}@-moz-document url-prefix(){.input-object{padding-top:.55em!important}}input[type=date]::-webkit-inner-spin-button,input[type=date]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.input-placeholder{color:#262626;font-size:1em;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7em;top:.42em;height:.7em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-object:focus~.input-placeholder,.input-filled{top:-.95em;font-size:.7em;line-height:.7em;font-weight:400;color:gray}.input-error-icon{display:flex;top:.7em;position:absolute;width:.7em;height:.7em}.input-error-msg{position:absolute;display:flex;align-items:center;font-size:.7em;color:#a1093f;padding-top:.2em;padding-bottom:.15em;min-height:1.05em}.input-error-msg a{display:block;line-height:1.1em}.input-show-icon{width:1.05em;height:1.05em}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1em;height:2.1em;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:white}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{background-color:#d9d9d9;border:none;outline:none}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.onwards{--origin: 1em}.downwards{--origin: -1em}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }, { kind: "component", type: i4.BiitButtonComponent, selector: "button[biit-button]" }, { kind: "directive", type: i4.BiitButtonTertiaryDirective, selector: "[tertiary]" }, { kind: "component", type: i3.BiitIconComponent, selector: "biit-icon", inputs: ["name", "svgStyle", "pathStyle"] }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i1$1.TranslocoPipe, name: "transloco" }, { kind: "pipe", type: i6.TranslocoDatePipe, name: "translocoDate" }, { kind: "pipe", type: CalendarDatePipe, name: "calendarDate" }, { kind: "pipe", type: OutOfMonthPipe, name: "outOfMonth" }, { kind: "pipe", type: IsTodayPipe, name: "isToday" }, { kind: "pipe", type: IsSameDayPipe, name: "isSameDay" }, { kind: "pipe", type: IsDisabledPipe, name: "isDisabled" }] });
1648
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerComponent, decorators: [{
1649
+ type: Component,
1650
+ args: [{ selector: 'biit-datepicker', providers: [
1651
+ {
1652
+ provide: NG_VALUE_ACCESSOR,
1653
+ useExisting: forwardRef(() => BiitDatePickerComponent),
1654
+ multi: true
1655
+ },
1656
+ {
1657
+ provide: TRANSLOCO_SCOPE,
1658
+ useValue: { scope: 'wizardry-theme/inputs', alias: "inputs" }
1659
+ }
1660
+ ], host: {
1661
+ '(document:pointerdown)': 'handleMouseEvents($event)'
1662
+ }, template: "<ng-container *ngIf=\"calendarMode; then calendarModeTemplate else datePickerTemplate\"></ng-container>\n\n<ng-template #datePickerTemplate>\n <div class=\"biit-input\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\" >\n <div class=\"input-container\">\n <input class=\"input-object\"\n [ngModel]=\"value && !timePicker ? (value | date: 'yyyy-MM-dd') :\n value && timePicker ? (value | date: 'yyyy-MM-dd\\THH:mm') :\n undefined\"\n (ngModelChange)=\"onModelChange(parseISO($event))\"\n [type]=\"timePicker ? 'datetime-local' : 'date'\" required\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n [min]=\"min ? (min | date: 'yyyy-MM-dd') : undefined\"\n [max]=\"max ? (max | date: 'yyyy-MM-dd') : undefined\"\n [disabled]=\"disabled\"\n >\n <div class=\"input-show-icon-container\"\n [style.background]=\"dropdownOpen ? '#D9D9D9' : null\"\n (click)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n (keydown.enter)=\"dropdownOpen ? closeDropdown(): openDropdown()\"\n tabindex=\"0\">\n <biit-icon [name]=\"'calendar'\"\n class=\"input-show-icon\"\n [pathStyle]=\"{fill: dropdownOpen ? '#F20D5E' : '#262626'}\"\n ></biit-icon>\n </div>\n <div class=\"input-placeholder input-filled\">\n {{_placeholder}}\n <a *ngIf=\"required\"\n [style.color]=\"value ? null : 'red'\">*</a>\n </div>\n <biit-icon *ngIf=\"error || (value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max)\"\n name=\"exclamation\"\n class=\"input-error-icon\"\n [pathStyle]=\"{fill:'#A1093F'}\"\n ></biit-icon>\n <div *ngIf=\"description\" class=\"input-description\">\n <a>\n {{description}}\n </a>\n </div>\n\n <div style=\"position: relative; height: 0;\">\n <div class=\"popup\"\n [class.dropdown-open]=\"dropdownOpen\"\n [style.height]=\"!monthSelector && timePicker ? '29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n <button biit-button tertiary\n (click)=\"closeDropdown()\">\n {{'inputs.done' | transloco}}\n </button>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"bottom-line\"></div>\n <div *ngIf=\"error\" class=\"input-error-msg\">\n <a>\n {{error}}\n </a>\n </div>\n <div *ngIf=\"value | isDisabled: disabledDays: disableWeekdays: disableWeekends: min: max\" class=\"input-error-msg\">\n <a>\n {{'inputs.date-error' | transloco}}\n </a>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #calendarModeTemplate>\n <div class=\"popup calendar-mode\"\n [style.height]=\"!monthSelector && timePicker ? 'calc(29.1em + 3px)' : null\">\n <div *ngIf=\"!monthSelector\"\n class=\"month-view\">\n <div class=\"month-selector\">\n <button biit-icon\n [icon]=\"'right_arrow'\"\n style=\"rotate: 180deg\"\n (click)=\"prevMonth()\"\n ></button>\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n <button biit-icon\n [icon]=\"'right_arrow'\"\n (click)=\"nextMonth()\"\n ></button>\n </div>\n\n <div class=\"grid\">\n <div *ngFor=\"let day of days | slice:0:7\"\n class=\"grid-element header\">\n {{(day | translocoDate: {weekday: 'short'}).substring(0,2) }}\n </div>\n <button *ngFor=\"let day of days\"\n class=\"grid-element day\"\n [class.outer-day]=\"day | outOfMonth: viewerDate\"\n [class.is-today]=\"day | isToday\"\n [class.selected]=\"day | isSameDay: value\"\n [class.disabled]=\"day | isDisabled: disabledDays: disableWeekdays: disableWeekends: sub(min, {days: 1}): add(max, {days: 1})\"\n (click)=\"onModelChange(day)\"\n tabindex=\"0\"\n >\n {{day | calendarDate}}\n </button>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n class=\"today-btn\"\n (click)=\"setToday()\">\n {{'inputs.today' | transloco}}\n </button>\n </div>\n </div>\n\n <div class=\"time-picker\" *ngIf=\"!monthSelector && timePicker\">\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'H') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {hours: 1}) | date: 'H') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n <div class=\"column\"\n style=\"min-width: 2em;\">\n <div class=\"item arrow\"\n (click)=\"onModelChange(sub(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(sub(value, {hours: 1}))\">\n {{ value ? (sub(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item primary\">\n {{ value ? (value | date: 'mm') : '' }}\n </div>\n <div class=\"item secondary\"\n (click)=\"onModelChange(add(value, {hours: 1}))\">\n {{ value ? (add(value, {minutes: 1}) | date: 'mm') : '' }}\n </div>\n <div class=\"item arrow\"\n (click)=\"onModelChange(add(value, {minutes: 1}))\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"year-view\" *ngIf=\"monthSelector\">\n <div class=\"month-selector\">\n <button biit-button tertiary\n class=\"month-label\"\n (click)=\"changeView()\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </button>\n </div>\n\n <div class=\"selector\">\n <div class=\"column\"\n style=\"min-width: 8em;\">\n <div class=\"item arrow\"\n (click)=\"prevMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {months: 2})\">\n {{sub(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"prevMonth()\">\n {{sub(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"nextMonth()\">\n {{add(viewerDate, {months: 1}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {months: 2})\">\n {{add(viewerDate, {months: 2}) | translocoDate: {month: 'long'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"nextMonth()\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n\n <div class=\"column\"\n style=\"min-width: 5em;\">\n <div class=\"item arrow\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"up\"\n ></biit-icon>\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 2})\">\n {{sub(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = sub(viewerDate, {years: 1})\">\n {{sub(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item primary\">\n {{viewerDate | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item secondary\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n {{add(viewerDate, {years: 1}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item tertiary\"\n (click)=\"viewerDate = add(viewerDate, {years: 2})\">\n {{add(viewerDate, {years: 2}) | translocoDate: {year: 'numeric'} }}\n </div>\n <div class=\"item arrow\"\n (click)=\"viewerDate = add(viewerDate, {years: 1})\">\n <biit-icon [name]=\"'right_arrow'\"\n [pathStyle]=\"{fill: '#262626'}\"\n class=\"down\"\n ></biit-icon>\n </div>\n </div>\n </div>\n\n <div class=\"buttons\">\n <button biit-button tertiary\n (click)=\"drawCalendar(); changeView()\">\n {{'inputs.back' | transloco}}\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: ["*{box-sizing:border-box}.popup{display:block;width:17.5em;border:3px solid #262626;background:white;padding:.45em;-webkit-user-select:none;user-select:none;opacity:0;pointer-events:none;transform-origin:top;margin-top:-3px;transform:translateY(var(--origin));transition:opacity .5s ease,transform .5s ease}.popup:not(.calendar-mode){position:absolute;z-index:2}.popup.calendar-mode{position:relative;opacity:1;pointer-events:all;margin-top:0}.popup.dropdown-open{opacity:1;pointer-events:auto;transform:translate(0)}.popup.disabled{visibility:hidden}.popup .month-view{display:flex;flex-direction:column;justify-content:space-between}.popup .month-view .month-selector{display:flex;justify-content:space-between;align-items:center}.popup .month-view .month-selector .month-label{width:12em}.popup .month-view .month-selector .month-label ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .month-view .month-selector .month-label ::ng-deep .button-base .bar{background:#262626}.popup .month-view .month-selector ::ng-deep button .icon-button-svg{width:.8em;height:.8em}.popup .month-view .grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.popup .month-view .grid .grid-element{display:flex;align-items:center;justify-content:center;height:2.1em;width:2.1em}.popup .month-view .grid .grid-element.header{font-weight:800;cursor:default;text-transform:capitalize}.popup .month-view .grid .grid-element.day{cursor:pointer;background:none;color:inherit;border:none;padding:0;font:inherit;outline:inherit}.popup .month-view .grid .grid-element.day.outer-day{color:#d9d9d9}.popup .month-view .grid .grid-element.day.outer-day:hover,.popup .month-view .grid .grid-element.day.outer-day:focus-visible{color:#262626}.popup .month-view .grid .grid-element.day.is-today{border:3px solid #262626}.popup .month-view .grid .grid-element.day:hover,.popup .month-view .grid .grid-element.day:focus-visible{background:#D9D9D9}.popup .month-view .grid .grid-element.day:active{color:#f20d5e}.popup .month-view .grid .grid-element.day.selected{background:#F20D5E}.popup .month-view .grid .grid-element.day.selected:hover,.popup .month-view .grid .grid-element.day.selected:focus-visible{background:#F20D5E;color:#fff}.popup .month-view .grid .grid-element.day.disabled{color:#a1093f;pointer-events:none}.popup .month-view .grid .grid-element.day.disabled.outer-day{color:#fbaec9}.popup .month-view .buttons{display:flex;justify-content:space-between;padding:.3em .85em}.popup .month-view .buttons .today-btn ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .month-view .buttons .today-btn ::ng-deep .button-base .bar{background:#262626}.popup .time-picker{width:17.5em;margin-left:calc(-.45em - 3px);box-sizing:border-box;border-top:3px solid #262626;margin-top:.45em;margin-bottom:-.45em}.popup .year-view{height:100%;display:flex;flex-direction:column;justify-content:space-between}.popup .year-view .month-label{width:100%;height:2.1em;align-items:center}.popup .year-view .month-label ::ng-deep .button-base{width:100%;display:flex;justify-content:center;color:#262626}.popup .year-view .month-label ::ng-deep .button-base .bar{background:#262626}.popup .year-view .buttons{display:flex;justify-content:flex-end;padding:.3em .85em}.popup .selector{display:flex;justify-content:center}.popup .selector .column{display:block}.popup .selector .column .item{width:100%;height:1.5em;display:flex;justify-content:center;align-items:center;cursor:pointer}.popup .selector .column .item.primary{height:1.8em;color:#262626;font-weight:500}.popup .selector .column .item.secondary{color:gray}.popup .selector .column .item.tertiary{color:#d9d9d9}.popup .selector .column .item.arrow{display:inline-flex;width:100%;height:1.8em}.popup .selector .column .item.arrow .up{height:.7em;rotate:-90deg}.popup .selector .column .item.arrow .down{height:.7em;rotate:90deg}.biit-input{display:flex;min-width:12.8em}.biit-input.disabled{pointer-events:none}.biit-input.disabled .input-object,.biit-input.disabled .input-show-icon-container{background:#D9D9D9}.biit-input.readonly{pointer-events:none}.input-container{position:relative;width:100%}.input-object{font-size:1em;display:block;border:none;color:#262626;padding:.7em;height:2.1em;width:100%;min-width:2.1em;font-weight:400}.input-object:focus,.input-object:hover{outline:none;background:#D9D9D9}.input-object:focus~.input-show-icon-container,.input-object:hover~.input-show-icon-container{background:#D9D9D9}.input-object.error{color:#a1093f;border-color:#a1093f}.input-object.password{padding:.7em 2.1em .55em .7em}.input-object.password.reveal{-webkit-text-security:none;input-security:none}.input-description{position:absolute;display:flex;align-items:center;font-size:.75em;color:gray;padding-top:1.4em;min-height:1.05em;line-height:120%;font-style:italic}.input-description a{display:block;line-height:1.1em}@-moz-document url-prefix(){.input-object{padding-top:.55em!important}}input[type=date]::-webkit-inner-spin-button,input[type=date]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.input-placeholder{color:#262626;font-size:1em;font-weight:bolder;text-transform:uppercase;position:absolute;pointer-events:none;left:.7em;top:.42em;height:.7em;transition:.2s ease all;-moz-transition:.2s ease all;-webkit-transition:.2s ease all}.input-object:focus~.input-placeholder,.input-filled{top:-.95em;font-size:.7em;line-height:.7em;font-weight:400;color:gray}.input-error-icon{display:flex;top:.7em;position:absolute;width:.7em;height:.7em}.input-error-msg{position:absolute;display:flex;align-items:center;font-size:.7em;color:#a1093f;padding-top:.2em;padding-bottom:.15em;min-height:1.05em}.input-error-msg a{display:block;line-height:1.1em}.input-show-icon{width:1.05em;height:1.05em}.input-show-icon-container{top:0;right:0;position:absolute;width:2.1em;height:2.1em;align-content:center;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:white}.input-show-icon-container:hover,.input-show-icon-container:focus,.input-show-icon-container:focus-visible{background-color:#d9d9d9;border:none;outline:none}.bottom-line{position:relative;top:-3px;margin-bottom:-3px;width:auto;height:3px;background:#262626}.onwards{--origin: 1em}.downwards{--origin: -1em}\n"] }]
1663
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$1.TranslocoService }]; }, propDecorators: { disabled: [{
1664
+ type: Input
1665
+ }], readonly: [{
1666
+ type: Input
1667
+ }], required: [{
1668
+ type: Input
1669
+ }], isCalendarMode: [{
1670
+ type: Input,
1671
+ args: ['calendar-mode']
1672
+ }], disabledDays: [{
1673
+ type: Input
1674
+ }], disableWeekdays: [{
1675
+ type: Input
1676
+ }], disableWeekends: [{
1677
+ type: Input
1678
+ }], timePicker: [{
1679
+ type: Input
1680
+ }], min: [{
1681
+ type: Input
1682
+ }], max: [{
1683
+ type: Input
1684
+ }], placeholder: [{
1685
+ type: Input
1686
+ }], error: [{
1687
+ type: Input
1688
+ }], description: [{
1689
+ type: Input
1690
+ }], onKeyDown: [{
1691
+ type: HostListener,
1692
+ args: ['keydown.esc', ['$event']]
1693
+ }] } });
1694
+
1695
+ class MonthSelectorLabelPipe {
1696
+ constructor(transloco) {
1697
+ this.transloco = transloco;
1698
+ }
1699
+ transform(date) {
1700
+ let month = 'inputs.month-' + (date.getMonth() + 1);
1701
+ return this.transloco.selectTranslate(month);
1702
+ }
1703
+ }
1704
+ MonthSelectorLabelPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthSelectorLabelPipe, deps: [{ token: i1$1.TranslocoService }], target: i0.ɵɵFactoryTarget.Pipe });
1705
+ MonthSelectorLabelPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: MonthSelectorLabelPipe, name: "monthSelectorLabel", pure: false });
1706
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: MonthSelectorLabelPipe, decorators: [{
1707
+ type: Pipe,
1708
+ args: [{
1709
+ name: 'monthSelectorLabel',
1710
+ pure: false
1711
+ }]
1712
+ }], ctorParameters: function () { return [{ type: i1$1.TranslocoService }]; } });
1713
+
1714
+ class BiitDatePickerModule {
1715
+ }
1716
+ BiitDatePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1717
+ BiitDatePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerModule, declarations: [BiitDatePickerComponent,
1718
+ MonthSelectorLabelPipe,
1719
+ CalendarDatePipe,
1720
+ OutOfMonthPipe,
1721
+ IsTodayPipe,
1722
+ IsSameDayPipe,
1723
+ IsDisabledPipe], imports: [CommonModule,
1724
+ FormsModule,
1725
+ BiitIconButtonModule,
1726
+ BiitButtonModule,
1727
+ TranslocoRootModule,
1728
+ LocalizedDatePipeModule,
1729
+ TranslocoDatePipe,
1730
+ BiitIconModule], exports: [BiitDatePickerComponent] });
1731
+ BiitDatePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerModule, imports: [CommonModule,
1732
+ FormsModule,
1733
+ BiitIconButtonModule,
1734
+ BiitButtonModule,
1735
+ TranslocoRootModule,
1736
+ LocalizedDatePipeModule,
1737
+ BiitIconModule] });
1738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitDatePickerModule, decorators: [{
1739
+ type: NgModule,
1740
+ args: [{
1741
+ declarations: [
1742
+ BiitDatePickerComponent,
1743
+ MonthSelectorLabelPipe,
1744
+ CalendarDatePipe,
1745
+ OutOfMonthPipe,
1746
+ IsTodayPipe,
1747
+ IsSameDayPipe,
1748
+ IsDisabledPipe
1749
+ ],
1750
+ imports: [
1751
+ CommonModule,
1752
+ FormsModule,
1753
+ BiitIconButtonModule,
1754
+ BiitButtonModule,
1755
+ TranslocoRootModule,
1756
+ LocalizedDatePipeModule,
1757
+ TranslocoDatePipe,
1758
+ BiitIconModule
1759
+ ],
1760
+ exports: [
1761
+ BiitDatePickerComponent
1762
+ ]
1763
+ }]
1764
+ }] });
1765
+
1766
+ var View;
1767
+ (function (View) {
1768
+ View["MONTH"] = "MONTH";
1769
+ View["YEAR"] = "YEAR";
1770
+ })(View || (View = {}));
1771
+
1772
+ class BiitSliderComponent {
1773
+ constructor() {
1774
+ this.labels = [];
1775
+ this.showTooltip = true;
1776
+ this.disabled = false;
1777
+ this.tooltipBoxVisible = false;
1778
+ this.onChange = (_) => {
1779
+ };
1780
+ this.onTouch = () => {
1781
+ };
1782
+ }
1783
+ registerOnChange(fn) {
1784
+ this.onChange = fn;
1785
+ }
1786
+ registerOnTouched(fn) {
1787
+ this.onTouch = fn;
1788
+ }
1789
+ setDisabledState(disabled) {
1790
+ this.disabled = disabled;
1791
+ }
1792
+ writeValue(value) {
1793
+ this.value = value;
1794
+ }
1795
+ ngAfterViewChecked() {
1796
+ this.progressScript();
1797
+ }
1798
+ progressScript() {
1799
+ const slider = this.slider.nativeElement;
1800
+ const tooltip = this.tooltip.nativeElement;
1801
+ const progress = ((slider.value - slider.min) * 100) / (slider.max - slider.min);
1802
+ // Set slider bar background colors according to progress
1803
+ this.slider.nativeElement.style.background = `linear-gradient(to right, #F20D5E ${progress}%, #D7D7D7 ${progress}%)`;
1804
+ // Set slider tooltip position
1805
+ const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.15) - (progress * 0.2);
1806
+ tooltip.innerHTML = `<span>${slider.value}</span>`;
1807
+ tooltip.style.left = `calc(${progress}% + (${tooltipPosition}px))`;
1808
+ }
1809
+ updateValue(index) {
1810
+ const result = this.min + ((this.max - this.min) / (this.ticks - 1) * index);
1811
+ this.writeValue(result);
1812
+ this.onChange(this.value);
1813
+ }
1814
+ }
1815
+ BiitSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1816
+ BiitSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitSliderComponent, selector: "biit-slider", inputs: { min: "min", max: "max", step: "step", ticks: "ticks", labels: "labels", showTooltip: "showTooltip" }, providers: [
1817
+ {
1818
+ provide: NG_VALUE_ACCESSOR,
1819
+ useExisting: forwardRef(() => BiitSliderComponent),
1820
+ multi: true
1821
+ }
1822
+ ], viewQueries: [{ propertyName: "slider", first: true, predicate: ["ranger"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: "<div class=\"slider\">\n <input #ranger type=\"range\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange(ranger.value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n <div #tooltip class=\"tooltip\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <div class=\"ticks\">\n <span *ngFor=\"let tick of [].constructor(ticks); index as i\"\n [class.no-labels]=\"!labels.length\"\n (click)=\"updateValue(i)\">\n {{labels[i]}}\n </span>\n </div>\n</div>\n", styles: [".slider{position:relative;flex:1}input[type=range]{font-size:1em;appearance:none;cursor:pointer;border:none;outline:none;width:100%;height:.3em;background:#D7D7D7;margin-left:0}input[type=range]::-webkit-slider-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}input[type=range]::-webkit-slider-thumb:hover{background-color:#f20d5e}input[type=range]:active::-webkit-slider-thumb{background-color:#f20d5e}input[type=range]:focus::-webkit-slider-thumb{background-color:#f20d5e}input[type=range]::-moz-range-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;border-radius:0;-moz-transition:.2s ease-in-out;transition:.2s ease-in-out}input[type=range]::-moz-range-thumb:hover{background-color:#f20d5e}input[type=range]:active::-moz-range-thumb{background-color:#f20d5e}input[type=range]:focus::-moz-range-thumb{background-color:#f20d5e}.ticks{display:flex;justify-content:space-between;margin-top:5px}.ticks span{display:flex;justify-content:center;width:.75em;height:1.85em;padding:0 .3em 1.3em;background-color:#262626;line-height:2.4em;white-space:nowrap;font-weight:500;box-sizing:border-box;background-clip:content-box;cursor:pointer;font-size:1em}.ticks span.no-labels{height:.85em;padding-bottom:.3em}.tooltip{position:absolute;top:-30%;transition:opacity .2s ease-in-out;pointer-events:none}.tooltip span{font-size:1em;background:white;padding:.2em;border:.05em solid #262626;height:.7em;display:block;line-height:.7em;position:relative;left:-15%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
1823
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderComponent, decorators: [{
1824
+ type: Component,
1825
+ args: [{ selector: 'biit-slider', providers: [
1826
+ {
1827
+ provide: NG_VALUE_ACCESSOR,
1828
+ useExisting: forwardRef(() => BiitSliderComponent),
1829
+ multi: true
1830
+ }
1831
+ ], encapsulation: ViewEncapsulation.None, template: "<div class=\"slider\">\n <input #ranger type=\"range\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange(ranger.value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n <div #tooltip class=\"tooltip\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <div class=\"ticks\">\n <span *ngFor=\"let tick of [].constructor(ticks); index as i\"\n [class.no-labels]=\"!labels.length\"\n (click)=\"updateValue(i)\">\n {{labels[i]}}\n </span>\n </div>\n</div>\n", styles: [".slider{position:relative;flex:1}input[type=range]{font-size:1em;appearance:none;cursor:pointer;border:none;outline:none;width:100%;height:.3em;background:#D7D7D7;margin-left:0}input[type=range]::-webkit-slider-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}input[type=range]::-webkit-slider-thumb:hover{background-color:#f20d5e}input[type=range]:active::-webkit-slider-thumb{background-color:#f20d5e}input[type=range]:focus::-webkit-slider-thumb{background-color:#f20d5e}input[type=range]::-moz-range-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;border-radius:0;-moz-transition:.2s ease-in-out;transition:.2s ease-in-out}input[type=range]::-moz-range-thumb:hover{background-color:#f20d5e}input[type=range]:active::-moz-range-thumb{background-color:#f20d5e}input[type=range]:focus::-moz-range-thumb{background-color:#f20d5e}.ticks{display:flex;justify-content:space-between;margin-top:5px}.ticks span{display:flex;justify-content:center;width:.75em;height:1.85em;padding:0 .3em 1.3em;background-color:#262626;line-height:2.4em;white-space:nowrap;font-weight:500;box-sizing:border-box;background-clip:content-box;cursor:pointer;font-size:1em}.ticks span.no-labels{height:.85em;padding-bottom:.3em}.tooltip{position:absolute;top:-30%;transition:opacity .2s ease-in-out;pointer-events:none}.tooltip span{font-size:1em;background:white;padding:.2em;border:.05em solid #262626;height:.7em;display:block;line-height:.7em;position:relative;left:-15%}\n"] }]
1832
+ }], propDecorators: { min: [{
1833
+ type: Input
1834
+ }], max: [{
1835
+ type: Input
1836
+ }], step: [{
1837
+ type: Input
1838
+ }], ticks: [{
1839
+ type: Input
1840
+ }], labels: [{
1841
+ type: Input
1842
+ }], showTooltip: [{
1843
+ type: Input
1844
+ }], slider: [{
1845
+ type: ViewChild,
1846
+ args: ['ranger']
1847
+ }], tooltip: [{
1848
+ type: ViewChild,
1849
+ args: ['tooltip']
1850
+ }] } });
1851
+
1852
+ class BiitSliderModule {
1853
+ }
1854
+ BiitSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1855
+ BiitSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderModule, declarations: [BiitSliderComponent], imports: [CommonModule,
1856
+ FormsModule,
1857
+ BiitIconModule], exports: [BiitSliderComponent] });
1858
+ BiitSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderModule, imports: [CommonModule,
1859
+ FormsModule,
1860
+ BiitIconModule] });
1861
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderModule, decorators: [{
1862
+ type: NgModule,
1863
+ args: [{
1864
+ declarations: [
1865
+ BiitSliderComponent,
1866
+ ],
1867
+ imports: [
1868
+ CommonModule,
1869
+ FormsModule,
1870
+ BiitIconModule
1871
+ ],
1872
+ exports: [
1873
+ BiitSliderComponent,
1874
+ ]
1875
+ }]
1876
+ }] });
1877
+
1878
+ class BiitSliderRangeComponent {
1879
+ constructor() {
1880
+ this.step = 1;
1881
+ this.separator = 1;
1882
+ this.labels = [];
1883
+ this.disabled = false;
1884
+ this.showTooltip = false;
1885
+ this.onChange = (_) => { };
1886
+ this.onTouch = () => { };
1887
+ }
1888
+ registerOnChange(fn) {
1889
+ this.onChange = fn;
1890
+ }
1891
+ registerOnTouched(fn) {
1892
+ this.onTouch = fn;
1893
+ }
1894
+ setDisabledState(disabled) {
1895
+ this.disabled = disabled;
1896
+ }
1897
+ writeValue(value) {
1898
+ this.value = value;
1899
+ }
1900
+ ngAfterViewChecked() {
1901
+ this.progressScript();
1902
+ }
1903
+ checkValues(activeSlider) {
1904
+ const slider1 = this.slider1.nativeElement;
1905
+ const slider2 = this.slider2.nativeElement;
1906
+ const slider1steps = (slider1.value - this.min) / this.step;
1907
+ const slider2steps = (slider2.value - this.min) / this.step;
1908
+ const separatorSteps = Math.ceil(this.separator / this.step);
1909
+ if (activeSlider == 'ranger1' &&
1910
+ slider1.value > this.min + (slider2steps - separatorSteps) * this.step) {
1911
+ slider1.value = this.min + (slider2steps - separatorSteps) * this.step;
1912
+ this.value[0] = this.min + (slider2steps - separatorSteps) * this.step;
1913
+ }
1914
+ if (activeSlider == 'ranger2' &&
1915
+ slider2.value < this.min + (slider1steps + separatorSteps) * this.step) {
1916
+ slider2.value = this.min + (slider1steps + separatorSteps) * this.step;
1917
+ this.value[1] = this.min + (slider1steps + separatorSteps) * this.step;
1918
+ }
1919
+ }
1920
+ progressScript(activeSlider) {
1921
+ const slider1 = this.slider1.nativeElement;
1922
+ const slider2 = this.slider2.nativeElement;
1923
+ const tooltip = this.tooltip.nativeElement;
1924
+ const progress1 = ((slider1.value - this.min) * 100) / (this.max - this.min);
1925
+ const progress2 = ((slider2.value - this.min) * 100) / (this.max - this.min);
1926
+ // Set slider bar background colors according to progress
1927
+ this.slider1.nativeElement.style.background = `linear-gradient(to right, #D7D7D7 ${progress1}%, #F20D5E ${progress1}%, #F20D5E ${progress2}%, #D7D7D7 ${progress2}%)`;
1928
+ // Set slider tooltip position
1929
+ if (activeSlider == 'ranger1') {
1930
+ const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.15) - (progress1 * 0.2);
1931
+ tooltip.innerHTML = `<span>${slider1.value}</span>`;
1932
+ tooltip.style.left = `calc(${progress1}% + (${tooltipPosition}px))`;
1933
+ }
1934
+ else if (activeSlider == 'ranger2') {
1935
+ const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.15) - (progress2 * 0.2);
1936
+ tooltip.innerHTML = `<span>${slider2.value}</span>`;
1937
+ tooltip.style.left = `calc(${progress2}% + (${tooltipPosition}px))`;
1938
+ }
1939
+ }
1940
+ }
1941
+ BiitSliderRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1942
+ BiitSliderRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitSliderRangeComponent, selector: "biit-slider-range", inputs: { min: "min", max: "max", step: "step", separator: "separator", ticks: "ticks", labels: "labels" }, providers: [
1943
+ {
1944
+ provide: NG_VALUE_ACCESSOR,
1945
+ useExisting: forwardRef(() => BiitSliderRangeComponent),
1946
+ multi: true
1947
+ }
1948
+ ], viewQueries: [{ propertyName: "slider1", first: true, predicate: ["ranger1"], descendants: true }, { propertyName: "slider2", first: true, predicate: ["ranger2"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: "<div class=\"slider\">\n <input #ranger1 type=\"range\"\n [(ngModel)]=\"value[0]\"\n (ngModelChange)=\"onChange(value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"checkValues('ranger1'); progressScript('ranger1')\"\n (pointerdown)=\"progressScript('ranger1'); showTooltip = true\"\n (pointerup)=\"showTooltip = false\"\n >\n <input #ranger2 type=\"range\"\n [(ngModel)]=\"value[1]\"\n (ngModelChange)=\"onChange(value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"checkValues('ranger2'); progressScript('ranger2')\"\n (pointerdown)=\"progressScript('ranger2'); showTooltip = true\"\n (pointerup)=\"showTooltip = false\"\n >\n <div #tooltip class=\"tooltip\" [style.opacity]=\"showTooltip ? '100%' : '0%'\"></div>\n <div class=\"ticks\">\n <span *ngFor=\"let tick of [].constructor(ticks); index as i\"\n [class.no-labels]=\"!labels.length\">\n {{labels[i]}}\n </span>\n </div>\n</div>\n", styles: [".slider{position:relative;flex:1}input[type=range]{font-size:1em;appearance:none;cursor:pointer;border:none;outline:none;width:100%;height:.3em;background:#D7D7D7;pointer-events:none;margin-left:0}input[type=range]:nth-child(2){position:absolute;left:0;top:.45em;background:transparent}input[type=range]:nth-child(2)::-webkit-slider-thumb{margin-top:.2em}input[type=range]::-webkit-slider-thumb{pointer-events:auto;appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}input[type=range]::-webkit-slider-thumb:hover{background-color:#f20d5e}input[type=range]:active::-webkit-slider-thumb{background-color:#f20d5e}input[type=range]:focus::-webkit-slider-thumb{background-color:#f20d5e}input[type=range]::-moz-range-thumb{pointer-events:auto;appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;border-radius:0;-moz-transition:.2s ease-in-out;transition:.2s ease-in-out}input[type=range]::-moz-range-thumb:hover{background-color:#f20d5e}input[type=range]:active::-moz-range-thumb{background-color:#f20d5e}input[type=range]:focus::-moz-range-thumb{background-color:#f20d5e}.ticks{display:flex;justify-content:space-between;margin-top:.25em}.ticks span{display:flex;justify-content:center;width:.75em;height:1.85em;padding:0 .3em 1.3em;background-color:#262626;line-height:2.4em;white-space:nowrap;font-weight:500;box-sizing:border-box;background-clip:content-box;font-size:1em}.ticks span.no-labels{height:.85em;padding-bottom:.3em}.tooltip{position:absolute;top:-30%;transition:opacity .2s ease-in-out;pointer-events:none}.tooltip span{font-size:1em;background:white;padding:.2em;border:.05em solid #262626;height:.7em;display:block;line-height:.7em;position:relative;left:-15%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
1949
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderRangeComponent, decorators: [{
1950
+ type: Component,
1951
+ args: [{ selector: 'biit-slider-range', providers: [
1952
+ {
1953
+ provide: NG_VALUE_ACCESSOR,
1954
+ useExisting: forwardRef(() => BiitSliderRangeComponent),
1955
+ multi: true
1956
+ }
1957
+ ], encapsulation: ViewEncapsulation.None, template: "<div class=\"slider\">\n <input #ranger1 type=\"range\"\n [(ngModel)]=\"value[0]\"\n (ngModelChange)=\"onChange(value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"checkValues('ranger1'); progressScript('ranger1')\"\n (pointerdown)=\"progressScript('ranger1'); showTooltip = true\"\n (pointerup)=\"showTooltip = false\"\n >\n <input #ranger2 type=\"range\"\n [(ngModel)]=\"value[1]\"\n (ngModelChange)=\"onChange(value);\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n (input)=\"checkValues('ranger2'); progressScript('ranger2')\"\n (pointerdown)=\"progressScript('ranger2'); showTooltip = true\"\n (pointerup)=\"showTooltip = false\"\n >\n <div #tooltip class=\"tooltip\" [style.opacity]=\"showTooltip ? '100%' : '0%'\"></div>\n <div class=\"ticks\">\n <span *ngFor=\"let tick of [].constructor(ticks); index as i\"\n [class.no-labels]=\"!labels.length\">\n {{labels[i]}}\n </span>\n </div>\n</div>\n", styles: [".slider{position:relative;flex:1}input[type=range]{font-size:1em;appearance:none;cursor:pointer;border:none;outline:none;width:100%;height:.3em;background:#D7D7D7;pointer-events:none;margin-left:0}input[type=range]:nth-child(2){position:absolute;left:0;top:.45em;background:transparent}input[type=range]:nth-child(2)::-webkit-slider-thumb{margin-top:.2em}input[type=range]::-webkit-slider-thumb{pointer-events:auto;appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}input[type=range]::-webkit-slider-thumb:hover{background-color:#f20d5e}input[type=range]:active::-webkit-slider-thumb{background-color:#f20d5e}input[type=range]:focus::-webkit-slider-thumb{background-color:#f20d5e}input[type=range]::-moz-range-thumb{pointer-events:auto;appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;border-radius:0;-moz-transition:.2s ease-in-out;transition:.2s ease-in-out}input[type=range]::-moz-range-thumb:hover{background-color:#f20d5e}input[type=range]:active::-moz-range-thumb{background-color:#f20d5e}input[type=range]:focus::-moz-range-thumb{background-color:#f20d5e}.ticks{display:flex;justify-content:space-between;margin-top:.25em}.ticks span{display:flex;justify-content:center;width:.75em;height:1.85em;padding:0 .3em 1.3em;background-color:#262626;line-height:2.4em;white-space:nowrap;font-weight:500;box-sizing:border-box;background-clip:content-box;font-size:1em}.ticks span.no-labels{height:.85em;padding-bottom:.3em}.tooltip{position:absolute;top:-30%;transition:opacity .2s ease-in-out;pointer-events:none}.tooltip span{font-size:1em;background:white;padding:.2em;border:.05em solid #262626;height:.7em;display:block;line-height:.7em;position:relative;left:-15%}\n"] }]
1958
+ }], propDecorators: { min: [{
1959
+ type: Input
1960
+ }], max: [{
1961
+ type: Input
1962
+ }], step: [{
1963
+ type: Input
1964
+ }], separator: [{
1965
+ type: Input
1966
+ }], ticks: [{
1967
+ type: Input
1968
+ }], labels: [{
1969
+ type: Input
1970
+ }], slider1: [{
1971
+ type: ViewChild,
1972
+ args: ['ranger1']
1973
+ }], slider2: [{
1974
+ type: ViewChild,
1975
+ args: ['ranger2']
1976
+ }], tooltip: [{
1977
+ type: ViewChild,
1978
+ args: ['tooltip']
1979
+ }] } });
1980
+
1981
+ class BiitSliderRangeModule {
1982
+ }
1983
+ BiitSliderRangeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1984
+ BiitSliderRangeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderRangeModule, declarations: [BiitSliderRangeComponent], imports: [CommonModule,
1985
+ FormsModule,
1986
+ BiitIconModule], exports: [BiitSliderRangeComponent] });
1987
+ BiitSliderRangeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderRangeModule, imports: [CommonModule,
1988
+ FormsModule,
1989
+ BiitIconModule] });
1990
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderRangeModule, decorators: [{
1991
+ type: NgModule,
1992
+ args: [{
1993
+ declarations: [
1994
+ BiitSliderRangeComponent,
1995
+ ],
1996
+ imports: [
1997
+ CommonModule,
1998
+ FormsModule,
1999
+ BiitIconModule
2000
+ ],
2001
+ exports: [
2002
+ BiitSliderRangeComponent,
2003
+ ]
2004
+ }]
2005
+ }] });
2006
+
2007
+ class BiitSliderOptionComponent {
2008
+ get index() {
2009
+ return this.data.findIndex(i => i.value == this.value);
2010
+ }
2011
+ constructor(cdRef) {
2012
+ this.cdRef = cdRef;
2013
+ this.inverted = false;
2014
+ this.showTooltip = true;
2015
+ this.disabled = false;
2016
+ this.tooltipBoxVisible = false;
2017
+ this.onChange = (_) => {
2018
+ };
2019
+ this.onTouch = () => {
2020
+ };
2021
+ }
2022
+ registerOnChange(fn) {
2023
+ this.onChange = fn;
2024
+ }
2025
+ registerOnTouched(fn) {
2026
+ this.onTouch = fn;
2027
+ }
2028
+ setDisabledState(disabled) {
2029
+ this.disabled = disabled;
2030
+ }
2031
+ writeValue(value) {
2032
+ this.value = value;
2033
+ }
2034
+ ngOnInit() {
2035
+ this.labelPercent = (100 / this.data.filter(d => d.label).length) - 5 + '%';
2036
+ }
2037
+ ngAfterViewChecked() {
2038
+ this.progressScript();
2039
+ this.cdRef.detectChanges();
2040
+ }
2041
+ progressScript() {
2042
+ const slider = this.slider.nativeElement;
2043
+ const tooltip = this.tooltip.nativeElement;
2044
+ const progress = ((slider.value - slider.min) * 100) / (slider.max - slider.min);
2045
+ // Set slider bar background colors according to progress
2046
+ if (!this.inverted) {
2047
+ this.slider.nativeElement.style.background = `linear-gradient(to right, #F20D5E ${progress}%, #D7D7D7 ${progress}%)`;
2048
+ }
2049
+ else {
2050
+ this.slider.nativeElement.style.background = `linear-gradient(to left, #F20D5E ${progress}%, #D7D7D7 ${progress}%)`;
2051
+ }
2052
+ // Set tooltip text
2053
+ tooltip.innerHTML = `<span>${this.data[slider.value].value}</span>`;
2054
+ // Set slider tooltip position
2055
+ const tooltipPosition = (parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.5) - (progress * 0.16);
2056
+ if (!this.inverted) {
2057
+ tooltip.firstChild.style.left = '-50%';
2058
+ tooltip.style.left = `calc(${progress}% + (${tooltipPosition}px))`;
2059
+ }
2060
+ else {
2061
+ tooltip.firstChild.style.left = '50%';
2062
+ tooltip.style.right = `calc(${progress}% + (${tooltipPosition}px))`;
2063
+ }
2064
+ }
2065
+ }
2066
+ BiitSliderOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2067
+ BiitSliderOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitSliderOptionComponent, selector: "biit-slider-option", inputs: { data: "data", inverted: "inverted", showTooltip: "showTooltip" }, host: { properties: { "style.--label-percent": "this.labelPercent" } }, providers: [
2068
+ {
2069
+ provide: NG_VALUE_ACCESSOR,
2070
+ useExisting: forwardRef(() => BiitSliderOptionComponent),
2071
+ multi: true
2072
+ }
2073
+ ], viewQueries: [{ propertyName: "slider", first: true, predicate: ["rangerHor"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: "<div class=\"slider-option\">\n <input #rangerHor type=\"range\"\n orient=\"horizontal\"\n [class.inverted]=\"inverted\"\n [ngModel]=\"index\"\n (ngModelChange)=\"onChange(this.data[rangerHor.value].value);\"\n [min]=\"0\"\n [max]=\"data.length - 1\"\n [step]=\"1\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n\n <div class=\"ticks\">\n <div #tooltip class=\"tooltip-slider\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <span *ngFor=\"let tick of $any(data); index as i; count as c\"\n [class.hide-tick]=\"!(!inverted ? data[i] : data[c-i-1]).label\">\n <span (click)=\"value = (!inverted ? data[i] : data[c-i-1]).value; onChange((!inverted ? data[i] : data[c-i-1]).value)\">\n <span>\n {{(!inverted ? data[i] : data[c-i-1]).label}}\n </span>\n <biit-tooltip-icon *ngIf=\"(!inverted ? data[i] : data[c-i-1]).description\"\n [text]=\"(!inverted ? data[i] : data[c-i-1]).description\"\n ></biit-tooltip-icon>\n </span>\n </span>\n </div>\n</div>\n", styles: [".slider-option{position:relative;flex:1}.slider-option input[type=range]{font-size:1em;appearance:none;cursor:pointer;border:none;outline:none;width:100%;height:.3em;background:#D7D7D7;margin-left:0}.slider-option input[type=range].inverted{direction:rtl}.slider-option input[type=range]::-webkit-slider-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.slider-option input[type=range]::-webkit-slider-thumb:hover{background-color:#f20d5e}.slider-option input[type=range]:active::-webkit-slider-thumb{background-color:#f20d5e}.slider-option input[type=range]:focus::-webkit-slider-thumb{background-color:#f20d5e}.slider-option input[type=range]::-moz-range-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;border-radius:0;-moz-transition:.2s ease-in-out;transition:.2s ease-in-out}.slider-option input[type=range]::-moz-range-thumb:hover{background-color:#f20d5e}.slider-option input[type=range]:active::-moz-range-thumb{background-color:#f20d5e}.slider-option input[type=range]:focus::-moz-range-thumb{background-color:#f20d5e}.slider-option .ticks{display:flex;justify-content:space-between;margin-top:5px;position:relative}.slider-option .ticks>span{display:flex;justify-content:center;width:14px;height:3.3em;padding:0 6px 2.7em;background-color:#262626;font-weight:500;box-sizing:border-box;background-clip:content-box;cursor:pointer;font-size:1em}.slider-option .ticks>span.hide-tick{display:none}.slider-option .ticks>span>span{position:absolute;width:var(--label-percent);top:1rem;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-align:center;display:flex;justify-content:center;gap:5px}.slider-option .ticks>span>span>span{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.slider-option .ticks>span>span biit-tooltip-icon{margin:3px}.slider-option .ticks>span:nth-child(2)>span{left:0;text-align:left;justify-content:start}.slider-option .ticks>span:last-child>span{right:0;text-align:right;justify-content:end}.slider-option .tooltip-slider{position:absolute;bottom:4.7em;transition:opacity .2s ease-in-out;pointer-events:none}.slider-option .tooltip-slider ::ng-deep span{font-size:1em;background:white;padding:.1em .2em;border:1px solid #262626;display:block;position:relative;min-width:max-content}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.BiitTooltipIconComponent, selector: "biit-tooltip-icon", inputs: ["text", "inline"] }] });
2074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionComponent, decorators: [{
2075
+ type: Component,
2076
+ args: [{ selector: 'biit-slider-option', providers: [
2077
+ {
2078
+ provide: NG_VALUE_ACCESSOR,
2079
+ useExisting: forwardRef(() => BiitSliderOptionComponent),
2080
+ multi: true
2081
+ }
2082
+ ], template: "<div class=\"slider-option\">\n <input #rangerHor type=\"range\"\n orient=\"horizontal\"\n [class.inverted]=\"inverted\"\n [ngModel]=\"index\"\n (ngModelChange)=\"onChange(this.data[rangerHor.value].value);\"\n [min]=\"0\"\n [max]=\"data.length - 1\"\n [step]=\"1\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n\n <div class=\"ticks\">\n <div #tooltip class=\"tooltip-slider\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <span *ngFor=\"let tick of $any(data); index as i; count as c\"\n [class.hide-tick]=\"!(!inverted ? data[i] : data[c-i-1]).label\">\n <span (click)=\"value = (!inverted ? data[i] : data[c-i-1]).value; onChange((!inverted ? data[i] : data[c-i-1]).value)\">\n <span>\n {{(!inverted ? data[i] : data[c-i-1]).label}}\n </span>\n <biit-tooltip-icon *ngIf=\"(!inverted ? data[i] : data[c-i-1]).description\"\n [text]=\"(!inverted ? data[i] : data[c-i-1]).description\"\n ></biit-tooltip-icon>\n </span>\n </span>\n </div>\n</div>\n", styles: [".slider-option{position:relative;flex:1}.slider-option input[type=range]{font-size:1em;appearance:none;cursor:pointer;border:none;outline:none;width:100%;height:.3em;background:#D7D7D7;margin-left:0}.slider-option input[type=range].inverted{direction:rtl}.slider-option input[type=range]::-webkit-slider-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.slider-option input[type=range]::-webkit-slider-thumb:hover{background-color:#f20d5e}.slider-option input[type=range]:active::-webkit-slider-thumb{background-color:#f20d5e}.slider-option input[type=range]:focus::-webkit-slider-thumb{background-color:#f20d5e}.slider-option input[type=range]::-moz-range-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;border-radius:0;-moz-transition:.2s ease-in-out;transition:.2s ease-in-out}.slider-option input[type=range]::-moz-range-thumb:hover{background-color:#f20d5e}.slider-option input[type=range]:active::-moz-range-thumb{background-color:#f20d5e}.slider-option input[type=range]:focus::-moz-range-thumb{background-color:#f20d5e}.slider-option .ticks{display:flex;justify-content:space-between;margin-top:5px;position:relative}.slider-option .ticks>span{display:flex;justify-content:center;width:14px;height:3.3em;padding:0 6px 2.7em;background-color:#262626;font-weight:500;box-sizing:border-box;background-clip:content-box;cursor:pointer;font-size:1em}.slider-option .ticks>span.hide-tick{display:none}.slider-option .ticks>span>span{position:absolute;width:var(--label-percent);top:1rem;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-align:center;display:flex;justify-content:center;gap:5px}.slider-option .ticks>span>span>span{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.slider-option .ticks>span>span biit-tooltip-icon{margin:3px}.slider-option .ticks>span:nth-child(2)>span{left:0;text-align:left;justify-content:start}.slider-option .ticks>span:last-child>span{right:0;text-align:right;justify-content:end}.slider-option .tooltip-slider{position:absolute;bottom:4.7em;transition:opacity .2s ease-in-out;pointer-events:none}.slider-option .tooltip-slider ::ng-deep span{font-size:1em;background:white;padding:.1em .2em;border:1px solid #262626;display:block;position:relative;min-width:max-content}\n"] }]
2083
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
2084
+ type: Input
2085
+ }], inverted: [{
2086
+ type: Input
2087
+ }], showTooltip: [{
2088
+ type: Input
2089
+ }], labelPercent: [{
2090
+ type: HostBinding,
2091
+ args: ['style.--label-percent']
2092
+ }], slider: [{
2093
+ type: ViewChild,
2094
+ args: ['rangerHor']
2095
+ }], tooltip: [{
2096
+ type: ViewChild,
2097
+ args: ['tooltip']
2098
+ }] } });
2099
+
2100
+ class BiitSliderOptionModule {
2101
+ }
2102
+ BiitSliderOptionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2103
+ BiitSliderOptionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionModule, declarations: [BiitSliderOptionComponent], imports: [CommonModule,
2104
+ FormsModule,
2105
+ BiitIconModule,
2106
+ BiitTooltipIconModule], exports: [BiitSliderOptionComponent] });
2107
+ BiitSliderOptionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionModule, imports: [CommonModule,
2108
+ FormsModule,
2109
+ BiitIconModule,
2110
+ BiitTooltipIconModule] });
2111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionModule, decorators: [{
2112
+ type: NgModule,
2113
+ args: [{
2114
+ declarations: [
2115
+ BiitSliderOptionComponent,
2116
+ ],
2117
+ imports: [
2118
+ CommonModule,
2119
+ FormsModule,
2120
+ BiitIconModule,
2121
+ BiitTooltipIconModule
2122
+ ],
2123
+ exports: [
2124
+ BiitSliderOptionComponent,
2125
+ ]
2126
+ }]
2127
+ }] });
2128
+
2129
+ class BiitSliderOptionVerticalComponent {
2130
+ get index() {
2131
+ return this.data.findIndex(i => i.value == this.value);
2132
+ }
2133
+ constructor(cdRef) {
2134
+ this.cdRef = cdRef;
2135
+ this.inverted = false;
2136
+ this.showDescription = true;
2137
+ this.showTooltip = true;
2138
+ this.disabled = false;
2139
+ this.tooltipBoxVisible = false;
2140
+ this.onChange = (_) => {
2141
+ };
2142
+ this.onTouch = () => {
2143
+ };
2144
+ }
2145
+ registerOnChange(fn) {
2146
+ this.onChange = fn;
2147
+ }
2148
+ registerOnTouched(fn) {
2149
+ this.onTouch = fn;
2150
+ }
2151
+ setDisabledState(disabled) {
2152
+ this.disabled = disabled;
2153
+ }
2154
+ writeValue(value) {
2155
+ this.value = value;
2156
+ }
2157
+ ngOnInit() {
2158
+ }
2159
+ ngAfterViewChecked() {
2160
+ this.progressScript();
2161
+ this.cdRef.detectChanges();
2162
+ }
2163
+ progressScript() {
2164
+ const slider = this.slider.nativeElement;
2165
+ const tooltip = this.tooltip.nativeElement;
2166
+ const progress = ((slider.value - slider.min) * 100) / (slider.max - slider.min);
2167
+ // Set slider bar background colors according to progress
2168
+ if (!this.inverted) {
2169
+ this.slider.nativeElement.style.background = `linear-gradient(to top, #F20D5E ${progress}%, #D7D7D7 ${progress}%)`;
2170
+ }
2171
+ else {
2172
+ this.slider.nativeElement.style.background = `linear-gradient(to bottom, #F20D5E ${progress}%, #D7D7D7 ${progress}%)`;
2173
+ }
2174
+ // Set tooltip text
2175
+ tooltip.innerHTML = `<span>${this.data[slider.value].value}</span>`;
2176
+ // Set slider tooltip position
2177
+ const tooltipPosition = (-parseFloat(getComputedStyle(document.documentElement).fontSize) * 0.5) - (progress * 0.16);
2178
+ tooltip.firstChild.style.left = 'calc(-6px + -50%)';
2179
+ if (!this.inverted) {
2180
+ tooltip.style.bottom = `calc(${progress}% + (${tooltipPosition}px) + 2rem)`;
2181
+ }
2182
+ else {
2183
+ tooltip.style.top = `calc(${progress}% + (${tooltipPosition}px) - 1.5rem)`;
2184
+ }
2185
+ }
2186
+ }
2187
+ BiitSliderOptionVerticalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionVerticalComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2188
+ BiitSliderOptionVerticalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitSliderOptionVerticalComponent, selector: "biit-slider-option-vertical", inputs: { data: "data", inverted: "inverted", showDescription: "showDescription", showTooltip: "showTooltip" }, providers: [
2189
+ {
2190
+ provide: NG_VALUE_ACCESSOR,
2191
+ useExisting: forwardRef(() => BiitSliderOptionVerticalComponent),
2192
+ multi: true
2193
+ }
2194
+ ], viewQueries: [{ propertyName: "slider", first: true, predicate: ["rangerVer"], descendants: true }, { propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0, template: "<div class=\"slider-vertical\">\n <input #rangerVer type=\"range\"\n orient=\"vertical\"\n class=\"vertical\"\n [class.inverted]=\"inverted\"\n [ngModel]=\"index\"\n (ngModelChange)=\"onChange(this.data[rangerVer.value].value);\"\n [min]=\"0\"\n [max]=\"data.length - 1\"\n [step]=\"1\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n\n <div class=\"ticks vertical\">\n <div #tooltip class=\"tooltip-slider\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <div *ngFor=\"let tick of $any(data); index as i; count as c\"\n class=\"tick\"\n [class.hide-tick]=\"!(!inverted ? data[i] : data[c-i-1]).label\"\n >\n <span></span>\n <div class=\"label\" [class.show-desc]=\"showDescription\"\n (click)=\"value = (!inverted ? data[i] : data[c-i-1]).value; onChange((!inverted ? data[i] : data[c-i-1]).value)\">\n <span>\n {{(!inverted ? data[i] : data[c-i-1]).label}}\n </span>\n <span class=\"description\" *ngIf=\"showDescription\">\n {{(!inverted ? data[i] : data[c-i-1]).description}}\n </span>\n <biit-tooltip-icon *ngIf=\"(!inverted ? data[i] : data[c-i-1]).description && !showDescription\"\n [text]=\"(!inverted ? data[i] : data[c-i-1]).description\"\n ></biit-tooltip-icon>\n </div>\n </div>\n </div>\n</div>\n", styles: [".slider-vertical{position:relative;flex:1;width:inherit;height:inherit;display:flex}.slider-vertical input[type=range]{font-size:1em;appearance:none;cursor:pointer;border:none;outline:none;background:#D7D7D7;height:inherit;width:.3em;writing-mode:vertical-lr;direction:rtl}.slider-vertical input[type=range].inverted{direction:ltr}.slider-vertical input[type=range]::-webkit-slider-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.slider-vertical input[type=range]::-webkit-slider-thumb:hover{background-color:#f20d5e}.slider-vertical input[type=range]:active::-webkit-slider-thumb{background-color:#f20d5e}.slider-vertical input[type=range]:focus::-webkit-slider-thumb{background-color:#f20d5e}.slider-vertical input[type=range]::-moz-range-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;border-radius:0;-moz-transition:.2s ease-in-out;transition:.2s ease-in-out}.slider-vertical input[type=range]::-moz-range-thumb:hover{background-color:#f20d5e}.slider-vertical input[type=range]:active::-moz-range-thumb{background-color:#f20d5e}.slider-vertical input[type=range]:focus::-moz-range-thumb{background-color:#f20d5e}.slider-vertical .ticks{display:flex;justify-content:space-between;padding:0 0 0 3px;margin-top:5px;position:relative}.slider-vertical .ticks .tick{display:flex;flex:3.5;align-items:center;padding-left:5px;gap:3px}.slider-vertical .ticks .tick:nth-child(2){align-items:end;flex:2}.slider-vertical .ticks .tick:last-child{align-items:start;flex:2}.slider-vertical .ticks .tick.hide-tick{display:none}.slider-vertical .ticks .tick .label{display:flex;font-weight:500;flex:1;cursor:pointer;gap:.5em}.slider-vertical .ticks .tick .label.show-desc{flex-direction:column}.slider-vertical .ticks .tick .label span{line-height:120%}.slider-vertical .ticks .tick .label .description{font-size:.75em;color:gray;line-height:120%;font-style:italic;font-weight:400}.slider-vertical .ticks .tick>span{display:flex;justify-content:center;width:14px;height:16px;padding:7px 2px;background-color:#262626;font-weight:500;box-sizing:border-box;background-clip:content-box;font-size:1em}.slider-vertical .ticks .tick>span>span{position:absolute;top:1rem;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-align:center;display:flex;justify-content:center;gap:5px}.slider-vertical .ticks .tick>span>span>span{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-align:center}.slider-vertical .ticks .tick>span>span biit-tooltip-icon{margin:3px}.slider-vertical .ticks .tick>span:nth-child(2)>span{left:0;text-align:left;justify-content:start}.slider-vertical .ticks .tick>span:last-child>span{right:0;text-align:right;justify-content:end}.slider-vertical .ticks.vertical{flex-direction:column-reverse;flex:1;height:inherit;margin:2px;padding:0}.slider-vertical .ticks.vertical>span{width:20px;height:14px;padding:6px}.slider-vertical .tooltip-slider{position:absolute;bottom:4.7em;transition:opacity .2s ease-in-out;pointer-events:none}.slider-vertical .tooltip-slider ::ng-deep span{font-size:1em;background:white;padding:.1em .2em;border:1px solid #262626;display:block;position:relative;min-width:max-content}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.BiitTooltipIconComponent, selector: "biit-tooltip-icon", inputs: ["text", "inline"] }] });
2195
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionVerticalComponent, decorators: [{
2196
+ type: Component,
2197
+ args: [{ selector: 'biit-slider-option-vertical', providers: [
2198
+ {
2199
+ provide: NG_VALUE_ACCESSOR,
2200
+ useExisting: forwardRef(() => BiitSliderOptionVerticalComponent),
2201
+ multi: true
2202
+ }
2203
+ ], template: "<div class=\"slider-vertical\">\n <input #rangerVer type=\"range\"\n orient=\"vertical\"\n class=\"vertical\"\n [class.inverted]=\"inverted\"\n [ngModel]=\"index\"\n (ngModelChange)=\"onChange(this.data[rangerVer.value].value);\"\n [min]=\"0\"\n [max]=\"data.length - 1\"\n [step]=\"1\"\n (input)=\"progressScript()\"\n (pointerdown)=\"tooltipBoxVisible = true\"\n (pointerup)=\"tooltipBoxVisible = false\"\n >\n\n <div class=\"ticks vertical\">\n <div #tooltip class=\"tooltip-slider\" [style.opacity]=\"tooltipBoxVisible && showTooltip ? '100%' : '0%'\"></div>\n <div *ngFor=\"let tick of $any(data); index as i; count as c\"\n class=\"tick\"\n [class.hide-tick]=\"!(!inverted ? data[i] : data[c-i-1]).label\"\n >\n <span></span>\n <div class=\"label\" [class.show-desc]=\"showDescription\"\n (click)=\"value = (!inverted ? data[i] : data[c-i-1]).value; onChange((!inverted ? data[i] : data[c-i-1]).value)\">\n <span>\n {{(!inverted ? data[i] : data[c-i-1]).label}}\n </span>\n <span class=\"description\" *ngIf=\"showDescription\">\n {{(!inverted ? data[i] : data[c-i-1]).description}}\n </span>\n <biit-tooltip-icon *ngIf=\"(!inverted ? data[i] : data[c-i-1]).description && !showDescription\"\n [text]=\"(!inverted ? data[i] : data[c-i-1]).description\"\n ></biit-tooltip-icon>\n </div>\n </div>\n </div>\n</div>\n", styles: [".slider-vertical{position:relative;flex:1;width:inherit;height:inherit;display:flex}.slider-vertical input[type=range]{font-size:1em;appearance:none;cursor:pointer;border:none;outline:none;background:#D7D7D7;height:inherit;width:.3em;writing-mode:vertical-lr;direction:rtl}.slider-vertical input[type=range].inverted{direction:ltr}.slider-vertical input[type=range]::-webkit-slider-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out}.slider-vertical input[type=range]::-webkit-slider-thumb:hover{background-color:#f20d5e}.slider-vertical input[type=range]:active::-webkit-slider-thumb{background-color:#f20d5e}.slider-vertical input[type=range]:focus::-webkit-slider-thumb{background-color:#f20d5e}.slider-vertical input[type=range]::-moz-range-thumb{appearance:none;box-sizing:border-box;height:.9em;width:.9em;background-color:#d7d7d7;border:.3em solid #262626;border-radius:0;-moz-transition:.2s ease-in-out;transition:.2s ease-in-out}.slider-vertical input[type=range]::-moz-range-thumb:hover{background-color:#f20d5e}.slider-vertical input[type=range]:active::-moz-range-thumb{background-color:#f20d5e}.slider-vertical input[type=range]:focus::-moz-range-thumb{background-color:#f20d5e}.slider-vertical .ticks{display:flex;justify-content:space-between;padding:0 0 0 3px;margin-top:5px;position:relative}.slider-vertical .ticks .tick{display:flex;flex:3.5;align-items:center;padding-left:5px;gap:3px}.slider-vertical .ticks .tick:nth-child(2){align-items:end;flex:2}.slider-vertical .ticks .tick:last-child{align-items:start;flex:2}.slider-vertical .ticks .tick.hide-tick{display:none}.slider-vertical .ticks .tick .label{display:flex;font-weight:500;flex:1;cursor:pointer;gap:.5em}.slider-vertical .ticks .tick .label.show-desc{flex-direction:column}.slider-vertical .ticks .tick .label span{line-height:120%}.slider-vertical .ticks .tick .label .description{font-size:.75em;color:gray;line-height:120%;font-style:italic;font-weight:400}.slider-vertical .ticks .tick>span{display:flex;justify-content:center;width:14px;height:16px;padding:7px 2px;background-color:#262626;font-weight:500;box-sizing:border-box;background-clip:content-box;font-size:1em}.slider-vertical .ticks .tick>span>span{position:absolute;top:1rem;-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-align:center;display:flex;justify-content:center;gap:5px}.slider-vertical .ticks .tick>span>span>span{-webkit-line-clamp:2;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-align:center}.slider-vertical .ticks .tick>span>span biit-tooltip-icon{margin:3px}.slider-vertical .ticks .tick>span:nth-child(2)>span{left:0;text-align:left;justify-content:start}.slider-vertical .ticks .tick>span:last-child>span{right:0;text-align:right;justify-content:end}.slider-vertical .ticks.vertical{flex-direction:column-reverse;flex:1;height:inherit;margin:2px;padding:0}.slider-vertical .ticks.vertical>span{width:20px;height:14px;padding:6px}.slider-vertical .tooltip-slider{position:absolute;bottom:4.7em;transition:opacity .2s ease-in-out;pointer-events:none}.slider-vertical .tooltip-slider ::ng-deep span{font-size:1em;background:white;padding:.1em .2em;border:1px solid #262626;display:block;position:relative;min-width:max-content}\n"] }]
2204
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { data: [{
2205
+ type: Input
2206
+ }], inverted: [{
2207
+ type: Input
2208
+ }], showDescription: [{
2209
+ type: Input
2210
+ }], showTooltip: [{
2211
+ type: Input
2212
+ }], slider: [{
2213
+ type: ViewChild,
2214
+ args: ['rangerVer']
2215
+ }], tooltip: [{
2216
+ type: ViewChild,
2217
+ args: ['tooltip']
2218
+ }] } });
2219
+
2220
+ class BiitSliderOptionVerticalModule {
2221
+ }
2222
+ BiitSliderOptionVerticalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionVerticalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2223
+ BiitSliderOptionVerticalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionVerticalModule, declarations: [BiitSliderOptionVerticalComponent], imports: [CommonModule,
2224
+ FormsModule,
2225
+ BiitIconModule,
2226
+ BiitTooltipIconModule], exports: [BiitSliderOptionVerticalComponent] });
2227
+ BiitSliderOptionVerticalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionVerticalModule, imports: [CommonModule,
2228
+ FormsModule,
2229
+ BiitIconModule,
2230
+ BiitTooltipIconModule] });
2231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitSliderOptionVerticalModule, decorators: [{
2232
+ type: NgModule,
2233
+ args: [{
2234
+ declarations: [
2235
+ BiitSliderOptionVerticalComponent,
2236
+ ],
2237
+ imports: [
2238
+ CommonModule,
2239
+ FormsModule,
2240
+ BiitIconModule,
2241
+ BiitTooltipIconModule
2242
+ ],
2243
+ exports: [
2244
+ BiitSliderOptionVerticalComponent,
2245
+ ]
2246
+ }]
2247
+ }] });
2248
+
2249
+ class BiitGroupComponent {
2250
+ constructor() {
2251
+ this.onPlusClick = new EventEmitter();
2252
+ this.onMinusClick = new EventEmitter();
2253
+ }
2254
+ set enablePlus(enabled) {
2255
+ this.isEnabledPlus = coerceBooleanProperty(enabled);
2256
+ }
2257
+ ;
2258
+ set enableMinus(enabled) {
2259
+ this.isEnabledMinus = coerceBooleanProperty(enabled);
2260
+ }
2261
+ ;
2262
+ }
2263
+ BiitGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2264
+ BiitGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BiitGroupComponent, selector: "biit-group", inputs: { legend: "legend", description: "description", enablePlus: "enablePlus", enableMinus: "enableMinus" }, outputs: { onPlusClick: "onPlusClick", onMinusClick: "onMinusClick" }, ngImport: i0, template: "<fieldset>\n <legend *ngIf=\"legend\">\n {{ legend }}\n </legend>\n\n <div class=\"grp-buttons\">\n <button biit-icon\n icon=\"plus\"\n *ngIf=\"isEnabledPlus\"\n (click)=\"onPlusClick.emit()\"\n ></button>\n <button biit-icon\n icon=\"minus\"\n *ngIf=\"isEnabledMinus\"\n (click)=\"onMinusClick.emit()\"\n ></button>\n </div>\n\n <ng-content></ng-content>\n</fieldset>\n<span *ngIf=\"description\"\n class=\"grp-description\">\n {{description}}\n</span>\n", styles: ["fieldset{position:relative;border:3px solid #262626;padding-inline-start:2.25em;padding-inline-end:2.25em;padding-block-start:1.75em;padding-block-end:2.75em}fieldset legend{padding:0 1.25em}fieldset button{right:0;top:-1.65em}fieldset .grp-buttons{position:absolute;right:0;top:-8px;display:flex}.grp-description{display:block;margin-top:.4rem;font-family:Cormorant Garamond,serif;font-size:.9rem;color:#262626;text-align:left}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.BiitIconButtonComponent, selector: "button[biit-icon]", inputs: ["icon", "checked"] }] });
2265
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitGroupComponent, decorators: [{
2266
+ type: Component,
2267
+ args: [{ selector: 'biit-group', template: "<fieldset>\n <legend *ngIf=\"legend\">\n {{ legend }}\n </legend>\n\n <div class=\"grp-buttons\">\n <button biit-icon\n icon=\"plus\"\n *ngIf=\"isEnabledPlus\"\n (click)=\"onPlusClick.emit()\"\n ></button>\n <button biit-icon\n icon=\"minus\"\n *ngIf=\"isEnabledMinus\"\n (click)=\"onMinusClick.emit()\"\n ></button>\n </div>\n\n <ng-content></ng-content>\n</fieldset>\n<span *ngIf=\"description\"\n class=\"grp-description\">\n {{description}}\n</span>\n", styles: ["fieldset{position:relative;border:3px solid #262626;padding-inline-start:2.25em;padding-inline-end:2.25em;padding-block-start:1.75em;padding-block-end:2.75em}fieldset legend{padding:0 1.25em}fieldset button{right:0;top:-1.65em}fieldset .grp-buttons{position:absolute;right:0;top:-8px;display:flex}.grp-description{display:block;margin-top:.4rem;font-family:Cormorant Garamond,serif;font-size:.9rem;color:#262626;text-align:left}\n"] }]
2268
+ }], propDecorators: { legend: [{
2269
+ type: Input
2270
+ }], description: [{
2271
+ type: Input
2272
+ }], enablePlus: [{
2273
+ type: Input
2274
+ }], enableMinus: [{
2275
+ type: Input
2276
+ }], onPlusClick: [{
2277
+ type: Output
2278
+ }], onMinusClick: [{
2279
+ type: Output
2280
+ }] } });
2281
+
2282
+ class BiitGroupModule {
2283
+ }
2284
+ BiitGroupModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2285
+ BiitGroupModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: BiitGroupModule, declarations: [BiitGroupComponent], imports: [CommonModule,
2286
+ FormsModule,
2287
+ BiitIconButtonModule], exports: [BiitGroupComponent] });
2288
+ BiitGroupModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitGroupModule, imports: [CommonModule,
2289
+ FormsModule,
2290
+ BiitIconButtonModule] });
2291
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BiitGroupModule, decorators: [{
2292
+ type: NgModule,
2293
+ args: [{
2294
+ declarations: [
2295
+ BiitGroupComponent
2296
+ ],
2297
+ imports: [
2298
+ CommonModule,
2299
+ FormsModule,
2300
+ BiitIconButtonModule
2301
+ ],
2302
+ exports: [
2303
+ BiitGroupComponent
2304
+ ]
2305
+ }]
2306
+ }] });
2307
+
2308
+ /*
2309
+ * Public API Surface of wizardry-theme/inputs
2310
+ */
2311
+
2312
+ /**
2313
+ * Generated bundle index. Do not edit.
2314
+ */
2315
+
2316
+ export { BiitCheckboxComponent, BiitCheckboxModule, BiitDatePickerComponent, BiitDatePickerModule, BiitDropdownComponent, BiitDropdownModule, BiitGroupComponent, BiitGroupModule, BiitInputTextComponent, BiitInputTextModule, BiitMultiselectComponent, BiitMultiselectModule, BiitMultiselectType, BiitRadioButtonComponent, BiitRadioButtonModule, BiitSliderComponent, BiitSliderModule, BiitSliderOptionComponent, BiitSliderOptionModule, BiitSliderOptionVerticalComponent, BiitSliderOptionVerticalModule, BiitSliderRangeComponent, BiitSliderRangeModule, BiitTernaryToggleComponent, BiitTernaryToggleModule, BiitTextareaComponent, BiitTextareaModule, BiitToggleButtonComponent, BiitToggleComponent, BiitToggleGroupComponent, BiitToggleGroupModule, BiitToggleModule, Type, View };
2317
+ //# sourceMappingURL=biit-solutions-wizardry-theme-inputs.mjs.map