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