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