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