@koobiq/components 18.39.0 → 19.1.0
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/accordion/accordion-content.d.ts +2 -2
- package/accordion/accordion-content.directive.d.ts +11 -0
- package/accordion/accordion-header.d.ts +2 -2
- package/accordion/accordion-header.directive.d.ts +7 -0
- package/accordion/accordion-item.d.ts +2 -2
- package/accordion/accordion-item.directive.d.ts +72 -0
- package/accordion/accordion-root.directive.d.ts +64 -0
- package/accordion/accordion-trigger.component.d.ts +2 -2
- package/accordion/accordion-trigger.directive.d.ts +13 -0
- package/accordion/accordion.component.d.ts +2 -4
- package/accordion/accordion.module.d.ts +7 -7
- package/accordion/public-api.d.ts +5 -0
- package/alert/_alert-theme.scss +4 -16
- package/alert/alert-tokens.scss +6 -12
- package/alert/alert.component.d.ts +5 -12
- package/alert/alert.module.d.ts +4 -4
- package/app-switcher/app-switcher.d.ts +8 -7
- package/autocomplete/autocomplete-origin.directive.d.ts +1 -1
- package/autocomplete/autocomplete-trigger.directive.d.ts +1 -1
- package/autocomplete/autocomplete.component.d.ts +1 -1
- package/autocomplete/autocomplete.module.d.ts +7 -7
- package/badge/badge.component.d.ts +3 -3
- package/badge/badge.module.d.ts +4 -4
- package/breadcrumbs/breadcrumbs.d.ts +3 -2
- package/breadcrumbs/public-api.d.ts +2 -0
- package/breadcrumbs/roving-focus-group.directive.d.ts +50 -0
- package/breadcrumbs/roving-focus-item.directive.d.ts +50 -0
- package/breadcrumbs/utils.d.ts +19 -0
- package/button/button.component.d.ts +2 -2
- package/button/button.module.d.ts +6 -6
- package/button-toggle/_button-toggle-theme.scss +30 -27
- package/button-toggle/button-toggle.component.d.ts +2 -2
- package/button-toggle/button-toggle.module.d.ts +4 -4
- package/button-toggle/button-toggle.scss +2 -2
- package/checkbox/checkbox-module.d.ts +4 -4
- package/checkbox/checkbox-required-validator.d.ts +1 -1
- package/checkbox/checkbox.d.ts +1 -1
- package/checkbox/checkbox.scss +5 -21
- package/code-block/code-block.scss +2 -2
- package/core/common-behaviors/index.d.ts +0 -1
- package/core/formatters/date/formatter.pipe.d.ts +13 -0
- package/core/formatters/index.d.ts +4 -4
- package/core/formatters/number/formatter.d.ts +3 -3
- package/core/forms/forms-module.d.ts +1 -1
- package/core/forms/forms.directive.d.ts +2 -2
- package/core/highlight/highlight.pipe.d.ts +1 -1
- package/core/highlight/index.d.ts +3 -3
- package/core/line/line.d.ts +1 -6
- package/core/locales/en-US.d.ts +8 -0
- package/core/locales/es-LA.d.ts +8 -0
- package/core/locales/locale-service.d.ts +40 -0
- package/core/locales/pt-BR.d.ts +8 -0
- package/core/locales/ru-RU.d.ts +8 -0
- package/core/locales/tk-TM.d.ts +8 -0
- package/core/locales/types.d.ts +21 -0
- package/core/option/_option-theme.scss +5 -2
- package/core/option/action.d.ts +1 -1
- package/core/option/optgroup.d.ts +1 -1
- package/core/option/option-module.d.ts +5 -5
- package/core/option/option.d.ts +5 -1
- package/core/pop-up/constants.d.ts +4 -0
- package/core/pop-up/pop-up-trigger.d.ts +5 -5
- package/core/pop-up/pop-up.d.ts +1 -1
- package/core/select/common.d.ts +1 -1
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
- package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +3 -3
- package/core/styles/common/_select.scss +1 -1
- package/core/styles/common/_visually-hidden.scss +1 -0
- package/core/styles/theming/_scrollbar-theme.scss +19 -12
- package/core/utils/utils.d.ts +3 -0
- package/datepicker/calendar-body.component.d.ts +1 -1
- package/datepicker/calendar-header.component.d.ts +1 -1
- package/datepicker/calendar.component.d.ts +1 -1
- package/datepicker/datepicker-input.directive.d.ts +2 -2
- package/datepicker/datepicker-module.d.ts +15 -15
- package/datepicker/datepicker-toggle.component.d.ts +2 -2
- package/datepicker/datepicker.component.d.ts +2 -2
- package/datepicker/month-view.component.d.ts +1 -1
- package/divider/divider.component.d.ts +5 -1
- package/divider/divider.module.d.ts +3 -3
- package/dl/dl.component.d.ts +3 -3
- package/dl/dl.module.d.ts +4 -4
- package/dropdown/dropdown-content.directive.d.ts +1 -1
- package/dropdown/dropdown-item.component.d.ts +1 -1
- package/dropdown/dropdown-trigger.directive.d.ts +1 -1
- package/dropdown/dropdown.component.d.ts +1 -1
- package/dropdown/dropdown.module.d.ts +8 -8
- package/dropdown/dropdown.scss +1 -0
- package/ellipsis-center/ellipsis-center.directive.d.ts +2 -2
- package/empty-state/empty-state.component.d.ts +5 -5
- package/empty-state/empty-state.module.d.ts +4 -4
- package/fesm2022/koobiq-components-accordion.mjs +459 -40
- package/fesm2022/koobiq-components-accordion.mjs.map +1 -1
- package/fesm2022/koobiq-components-actions-panel.mjs +18 -18
- package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-alert.mjs +28 -36
- package/fesm2022/koobiq-components-alert.mjs.map +1 -1
- package/fesm2022/koobiq-components-app-switcher.mjs +66 -66
- package/fesm2022/koobiq-components-app-switcher.mjs.map +1 -1
- package/fesm2022/koobiq-components-autocomplete.mjs +31 -25
- package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
- package/fesm2022/koobiq-components-badge.mjs +20 -21
- package/fesm2022/koobiq-components-badge.mjs.map +1 -1
- package/fesm2022/koobiq-components-breadcrumbs.mjs +339 -36
- package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/koobiq-components-button-toggle.mjs +25 -22
- package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-button.mjs +25 -26
- package/fesm2022/koobiq-components-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-checkbox.mjs +18 -16
- package/fesm2022/koobiq-components-checkbox.mjs.map +1 -1
- package/fesm2022/koobiq-components-clamped-text.mjs +9 -9
- package/fesm2022/koobiq-components-clamped-text.mjs.map +1 -1
- package/fesm2022/koobiq-components-code-block.mjs +15 -16
- package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
- package/fesm2022/koobiq-components-content-panel.mjs +55 -57
- package/fesm2022/koobiq-components-content-panel.mjs.map +1 -1
- package/fesm2022/koobiq-components-core.mjs +379 -367
- package/fesm2022/koobiq-components-core.mjs.map +1 -1
- package/fesm2022/koobiq-components-datepicker.mjs +107 -91
- package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-divider.mjs +16 -14
- package/fesm2022/koobiq-components-divider.mjs.map +1 -1
- package/fesm2022/koobiq-components-dl.mjs +19 -20
- package/fesm2022/koobiq-components-dl.mjs.map +1 -1
- package/fesm2022/koobiq-components-dropdown.mjs +47 -48
- package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-dynamic-translation.mjs +16 -19
- package/fesm2022/koobiq-components-dynamic-translation.mjs.map +1 -1
- package/fesm2022/koobiq-components-ellipsis-center.mjs +10 -10
- package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-empty-state.mjs +26 -27
- package/fesm2022/koobiq-components-empty-state.mjs.map +1 -1
- package/fesm2022/koobiq-components-file-upload.mjs +402 -152
- package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
- package/fesm2022/koobiq-components-filter-bar.mjs +293 -258
- package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-form-field.mjs +84 -92
- package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
- package/fesm2022/koobiq-components-icon.mjs +18 -18
- package/fesm2022/koobiq-components-icon.mjs.map +1 -1
- package/fesm2022/koobiq-components-inline-edit.mjs +33 -37
- package/fesm2022/koobiq-components-inline-edit.mjs.map +1 -1
- package/fesm2022/koobiq-components-input.mjs +31 -30
- package/fesm2022/koobiq-components-input.mjs.map +1 -1
- package/fesm2022/koobiq-components-link.mjs +11 -10
- package/fesm2022/koobiq-components-link.mjs.map +1 -1
- package/fesm2022/koobiq-components-list.mjs +47 -45
- package/fesm2022/koobiq-components-list.mjs.map +1 -1
- package/fesm2022/koobiq-components-loader-overlay.mjs +27 -28
- package/fesm2022/koobiq-components-loader-overlay.mjs.map +1 -1
- package/fesm2022/koobiq-components-markdown.mjs +14 -14
- package/fesm2022/koobiq-components-markdown.mjs.map +1 -1
- package/fesm2022/koobiq-components-modal.mjs +76 -64
- package/fesm2022/koobiq-components-modal.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar-ic.mjs +76 -54
- package/fesm2022/koobiq-components-navbar-ic.mjs.map +1 -1
- package/fesm2022/koobiq-components-navbar.mjs +77 -66
- package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-notification-center.mjs +31 -32
- package/fesm2022/koobiq-components-notification-center.mjs.map +1 -1
- package/fesm2022/koobiq-components-overflow-items.mjs +16 -19
- package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
- package/fesm2022/koobiq-components-popover.mjs +55 -46
- package/fesm2022/koobiq-components-popover.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-bar.mjs +18 -19
- package/fesm2022/koobiq-components-progress-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-progress-spinner.mjs +22 -23
- package/fesm2022/koobiq-components-progress-spinner.mjs.map +1 -1
- package/fesm2022/koobiq-components-radio.mjs +20 -16
- package/fesm2022/koobiq-components-radio.mjs.map +1 -1
- package/fesm2022/koobiq-components-resizer.mjs +10 -12
- package/fesm2022/koobiq-components-resizer.mjs.map +1 -1
- package/fesm2022/koobiq-components-risk-level.mjs +19 -12
- package/fesm2022/koobiq-components-risk-level.mjs.map +1 -1
- package/fesm2022/koobiq-components-scrollbar.mjs +17 -18
- package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
- package/fesm2022/koobiq-components-search-expandable.mjs +19 -19
- package/fesm2022/koobiq-components-search-expandable.mjs.map +1 -1
- package/fesm2022/koobiq-components-select.mjs +113 -74
- package/fesm2022/koobiq-components-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidebar.mjs +16 -23
- package/fesm2022/koobiq-components-sidebar.mjs.map +1 -1
- package/fesm2022/koobiq-components-sidepanel.mjs +61 -55
- package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
- package/fesm2022/koobiq-components-split-button.mjs +12 -12
- package/fesm2022/koobiq-components-split-button.mjs.map +1 -1
- package/fesm2022/koobiq-components-splitter.mjs +24 -25
- package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
- package/fesm2022/koobiq-components-table.mjs +17 -18
- package/fesm2022/koobiq-components-table.mjs.map +1 -1
- package/fesm2022/koobiq-components-tabs.mjs +85 -89
- package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
- package/fesm2022/koobiq-components-tags.mjs +43 -47
- package/fesm2022/koobiq-components-tags.mjs.map +1 -1
- package/fesm2022/koobiq-components-textarea.mjs +10 -11
- package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
- package/fesm2022/koobiq-components-time-range.mjs +38 -40
- package/fesm2022/koobiq-components-time-range.mjs.map +1 -1
- package/fesm2022/koobiq-components-timepicker.mjs +68 -18
- package/fesm2022/koobiq-components-timepicker.mjs.map +1 -1
- package/fesm2022/koobiq-components-timezone.mjs +68 -59
- package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
- package/fesm2022/koobiq-components-title.mjs +23 -11
- package/fesm2022/koobiq-components-title.mjs.map +1 -1
- package/fesm2022/koobiq-components-toast.mjs +23 -24
- package/fesm2022/koobiq-components-toast.mjs.map +1 -1
- package/fesm2022/koobiq-components-toggle.mjs +16 -14
- package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
- package/fesm2022/koobiq-components-tooltip.mjs +20 -23
- package/fesm2022/koobiq-components-tooltip.mjs.map +1 -1
- package/fesm2022/koobiq-components-top-bar.mjs +18 -20
- package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree-select.mjs +81 -70
- package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
- package/fesm2022/koobiq-components-tree.mjs +77 -66
- package/fesm2022/koobiq-components-tree.mjs.map +1 -1
- package/fesm2022/koobiq-components-username.mjs +31 -37
- package/fesm2022/koobiq-components-username.mjs.map +1 -1
- package/file-upload/file-upload.d.ts +33 -3
- package/file-upload/file-upload.module.d.ts +15 -15
- package/file-upload/multiple-file-upload.component.d.ts +25 -34
- package/file-upload/{file-drop.d.ts → primitives/file-drop.d.ts} +3 -3
- package/file-upload/primitives/file-picker.d.ts +82 -0
- package/file-upload/primitives/index.d.ts +2 -0
- package/file-upload/public-api.d.ts +2 -1
- package/file-upload/single-file-upload.component.d.ts +25 -18
- package/filter-bar/pipes/pipe-multi-select.d.ts +4 -1
- package/filter-bar/pipes/pipe-multi-tree-select.d.ts +5 -0
- package/icon/_icon-button-theme.scss +2 -1
- package/inline-edit/inline-edit.d.ts +2 -3
- package/input/_input-theme.scss +2 -1
- package/input/input-number-validators.d.ts +2 -2
- package/input/input-number.d.ts +1 -1
- package/input/input-password.d.ts +1 -1
- package/input/input.d.ts +2 -2
- package/input/input.module.d.ts +8 -8
- package/link/_link-theme.scss +3 -0
- package/link/link.component.d.ts +1 -1
- package/link/link.module.d.ts +3 -3
- package/list/_list-theme.scss +6 -0
- package/list/list-selection.component.d.ts +3 -3
- package/list/list.component.d.ts +2 -2
- package/list/list.module.d.ts +6 -6
- package/list/list.scss +1 -0
- package/loader-overlay/loader-overlay.component.d.ts +4 -4
- package/loader-overlay/loader-overlay.module.d.ts +5 -5
- package/loader-overlay/loader-overlay.scss +22 -31
- package/modal/css-unit.pipe.d.ts +1 -1
- package/modal/modal.component.d.ts +1 -1
- package/modal/modal.directive.d.ts +4 -4
- package/modal/modal.module.d.ts +10 -10
- package/modal/modal.scss +1 -1
- package/modal/modal.service.d.ts +1 -1
- package/navbar/_navbar-theme.scss +1 -0
- package/navbar/navbar-brand.component.d.ts +1 -1
- package/navbar/navbar-item.component.d.ts +7 -7
- package/navbar/navbar-toggle.component.d.ts +1 -1
- package/navbar/navbar-toggle.scss +1 -1
- package/navbar/navbar.component.d.ts +4 -4
- package/navbar/navbar.module.d.ts +10 -10
- package/navbar/vertical-navbar.component.d.ts +1 -1
- package/navbar/vertical-navbar.scss +5 -2
- package/navbar-ic/navbar-ic-header.d.ts +3 -0
- package/navbar-ic/navbar-ic-item.d.ts +18 -0
- package/navbar-ic/navbar-ic.d.ts +13 -7
- package/notification-center/notification-center.d.ts +5 -5
- package/overflow-items/overflow-items.d.ts +1 -1
- package/package.json +11 -142
- package/popover/_popover-theme.scss +2 -2
- package/popover/popover-confirm.component.d.ts +2 -2
- package/popover/popover.component.d.ts +9 -9
- package/popover/popover.module.d.ts +9 -9
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/light-theme.css +1 -1
- package/prebuilt-themes/theme.css +1 -1
- package/progress-bar/progress-bar.component.d.ts +3 -3
- package/progress-bar/progress-bar.module.d.ts +3 -3
- package/progress-spinner/_progress-spinner-theme.scss +14 -4
- package/progress-spinner/progress-spinner-tokens.scss +2 -0
- package/progress-spinner/progress-spinner.component.d.ts +3 -3
- package/progress-spinner/progress-spinner.module.d.ts +4 -4
- package/progress-spinner/progress-spinner.scss +1 -0
- package/radio/_radio-theme.scss +2 -1
- package/radio/radio-tokens.scss +1 -0
- package/radio/radio.component.d.ts +10 -5
- package/radio/radio.module.d.ts +3 -3
- package/risk-level/risk-level.component.d.ts +4 -1
- package/risk-level/risk-level.module.d.ts +7 -4
- package/schematics/migrations/icons-replacement/README.md +5 -1
- package/schematics/migrations/icons-replacement/index.js +1 -1
- package/schematics/migrations/new-icons-pack/README.md +52 -4
- package/schematics/migrations/new-icons-pack/data.js +1142 -1142
- package/schematics/migrations/new-icons-pack/index.js +18 -7
- package/schematics/migrations/new-icons-pack/migration.json +4570 -0
- package/schematics/migrations/new-icons-pack/replacement.json +18 -0
- package/schematics/migrations/new-icons-pack/schema.json +13 -0
- package/schematics/ng-add/index.js +6 -7
- package/scrollbar/_scrollbar-component-theme.scss +16 -14
- package/select/select-option.directive.d.ts +1 -1
- package/select/select.component.d.ts +6 -5
- package/select/select.module.d.ts +10 -10
- package/sidebar/sidebar.component.d.ts +3 -3
- package/sidebar/sidebar.module.d.ts +3 -3
- package/sidepanel/sidepanel-container.component.d.ts +1 -1
- package/sidepanel/sidepanel-directives.d.ts +5 -5
- package/sidepanel/sidepanel.module.d.ts +9 -9
- package/splitter/splitter.component.d.ts +4 -4
- package/splitter/splitter.module.d.ts +3 -3
- package/table/_table-theme.scss +1 -0
- package/table/table.component.d.ts +2 -2
- package/table/table.module.d.ts +4 -4
- package/tabs/paginated-tab-header.d.ts +1 -1
- package/tabs/tab-body.component.d.ts +2 -2
- package/tabs/tab-content.directive.d.ts +1 -1
- package/tabs/tab-group.component.d.ts +5 -5
- package/tabs/tab-header.component.d.ts +1 -1
- package/tabs/tab-label-wrapper.directive.d.ts +1 -1
- package/tabs/tab-label.directive.d.ts +1 -1
- package/tabs/tab.component.d.ts +3 -3
- package/tabs/tabs.module.d.ts +15 -15
- package/tags/tag-input.d.ts +1 -1
- package/tags/tag-list.component.d.ts +1 -1
- package/tags/tag.component.d.ts +4 -4
- package/tags/tag.module.d.ts +4 -4
- package/textarea/textarea.component.d.ts +1 -1
- package/textarea/textarea.module.d.ts +4 -4
- package/timepicker/timepicker.directive.d.ts +17 -7
- package/timepicker/timepicker.module.d.ts +5 -5
- package/timezone/cities-by-filter.pipe.d.ts +1 -1
- package/timezone/timezone-option.component.d.ts +1 -1
- package/timezone/timezone-option.directive.d.ts +1 -1
- package/timezone/timezone-select.component.d.ts +2 -2
- package/timezone/timezone.module.d.ts +15 -15
- package/timezone/utc-offset.pipe.d.ts +1 -1
- package/title/title.directive.d.ts +4 -1
- package/title/title.module.d.ts +3 -3
- package/toggle/toggle.component.d.ts +1 -1
- package/toggle/toggle.module.d.ts +3 -3
- package/tooltip/_tooltip-theme.scss +5 -6
- package/tooltip/tooltip.component.d.ts +3 -3
- package/tooltip/tooltip.scss +1 -0
- package/top-bar/top-bar.d.ts +1 -1
- package/tree/node.d.ts +1 -1
- package/tree/outlet.d.ts +1 -1
- package/tree/padding.directive.d.ts +1 -1
- package/tree/toggle.d.ts +3 -3
- package/tree/tree-base.d.ts +2 -2
- package/tree/tree-option.component.d.ts +1 -1
- package/tree/tree-option.scss +1 -1
- package/tree/tree-selection.component.d.ts +1 -1
- package/tree/tree.d.ts +1 -1
- package/tree/tree.module.d.ts +11 -11
- package/tree-select/tree-select.component.d.ts +2 -2
- package/tree-select/tree-select.module.d.ts +9 -9
- package/core/common-behaviors/focus-monitor.d.ts +0 -19
- package/esm2022/accordion/accordion-content.mjs +0 -19
- package/esm2022/accordion/accordion-header.mjs +0 -19
- package/esm2022/accordion/accordion-item.mjs +0 -25
- package/esm2022/accordion/accordion-trigger.component.mjs +0 -48
- package/esm2022/accordion/accordion.component.mjs +0 -41
- package/esm2022/accordion/accordion.module.mjs +0 -44
- package/esm2022/accordion/index.mjs +0 -2
- package/esm2022/accordion/koobiq-components-accordion.mjs +0 -5
- package/esm2022/accordion/public-api.mjs +0 -7
- package/esm2022/actions-panel/actions-panel-config.mjs +0 -55
- package/esm2022/actions-panel/actions-panel-container.mjs +0 -217
- package/esm2022/actions-panel/actions-panel-ref.mjs +0 -78
- package/esm2022/actions-panel/actions-panel.mjs +0 -133
- package/esm2022/actions-panel/index.mjs +0 -6
- package/esm2022/actions-panel/koobiq-components-actions-panel.mjs +0 -5
- package/esm2022/actions-panel/module.mjs +0 -21
- package/esm2022/alert/alert.component.mjs +0 -124
- package/esm2022/alert/alert.module.mjs +0 -40
- package/esm2022/alert/index.mjs +0 -2
- package/esm2022/alert/koobiq-components-alert.mjs +0 -5
- package/esm2022/alert/public-api.mjs +0 -3
- package/esm2022/app-switcher/app-switcher-animations.mjs +0 -18
- package/esm2022/app-switcher/app-switcher-dropdown-app.mjs +0 -75
- package/esm2022/app-switcher/app-switcher-dropdown-site.mjs +0 -60
- package/esm2022/app-switcher/app-switcher.mjs +0 -446
- package/esm2022/app-switcher/app-switcher.module.mjs +0 -45
- package/esm2022/app-switcher/index.mjs +0 -2
- package/esm2022/app-switcher/kbq-app-switcher-list-item.mjs +0 -84
- package/esm2022/app-switcher/koobiq-components-app-switcher.mjs +0 -5
- package/esm2022/app-switcher/public-api.mjs +0 -7
- package/esm2022/autocomplete/autocomplete-origin.directive.mjs +0 -21
- package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +0 -540
- package/esm2022/autocomplete/autocomplete.component.mjs +0 -178
- package/esm2022/autocomplete/autocomplete.module.mjs +0 -38
- package/esm2022/autocomplete/index.mjs +0 -2
- package/esm2022/autocomplete/koobiq-components-autocomplete.mjs +0 -5
- package/esm2022/autocomplete/public-api.mjs +0 -5
- package/esm2022/badge/badge.component.mjs +0 -124
- package/esm2022/badge/badge.module.mjs +0 -36
- package/esm2022/badge/index.mjs +0 -2
- package/esm2022/badge/koobiq-components-badge.mjs +0 -5
- package/esm2022/badge/public-api.mjs +0 -3
- package/esm2022/breadcrumbs/breadcrumbs.mjs +0 -268
- package/esm2022/breadcrumbs/breadcrumbs.module.mjs +0 -31
- package/esm2022/breadcrumbs/breadcrumbs.types.mjs +0 -2
- package/esm2022/breadcrumbs/index.mjs +0 -2
- package/esm2022/breadcrumbs/koobiq-components-breadcrumbs.mjs +0 -5
- package/esm2022/breadcrumbs/public-api.mjs +0 -4
- package/esm2022/button/button.component.mjs +0 -180
- package/esm2022/button/button.dropdown-trigger.directive.mjs +0 -28
- package/esm2022/button/button.module.mjs +0 -41
- package/esm2022/button/index.mjs +0 -2
- package/esm2022/button/koobiq-components-button.mjs +0 -5
- package/esm2022/button/public-api.mjs +0 -4
- package/esm2022/button-toggle/button-toggle.component.mjs +0 -384
- package/esm2022/button-toggle/button-toggle.module.mjs +0 -19
- package/esm2022/button-toggle/index.mjs +0 -2
- package/esm2022/button-toggle/koobiq-components-button-toggle.mjs +0 -5
- package/esm2022/button-toggle/public-api.mjs +0 -3
- package/esm2022/checkbox/checkbox-config.mjs +0 -6
- package/esm2022/checkbox/checkbox-module.mjs +0 -19
- package/esm2022/checkbox/checkbox-required-validator.mjs +0 -27
- package/esm2022/checkbox/checkbox.mjs +0 -295
- package/esm2022/checkbox/index.mjs +0 -2
- package/esm2022/checkbox/koobiq-components-checkbox.mjs +0 -5
- package/esm2022/checkbox/public-api.mjs +0 -5
- package/esm2022/clamped-text/clamped-text.mjs +0 -202
- package/esm2022/clamped-text/constants.mjs +0 -20
- package/esm2022/clamped-text/index.mjs +0 -4
- package/esm2022/clamped-text/koobiq-components-clamped-text.mjs +0 -5
- package/esm2022/clamped-text/module.mjs +0 -19
- package/esm2022/code-block/code-block-highlight.mjs +0 -418
- package/esm2022/code-block/code-block.mjs +0 -440
- package/esm2022/code-block/code-block.module.mjs +0 -19
- package/esm2022/code-block/index.mjs +0 -2
- package/esm2022/code-block/koobiq-components-code-block.mjs +0 -5
- package/esm2022/code-block/public-api.mjs +0 -5
- package/esm2022/code-block/types.mjs +0 -2
- package/esm2022/content-panel/content-panel.mjs +0 -432
- package/esm2022/content-panel/index.mjs +0 -3
- package/esm2022/content-panel/koobiq-components-content-panel.mjs +0 -5
- package/esm2022/content-panel/module.mjs +0 -42
- package/esm2022/core/animation/animation.mjs +0 -39
- package/esm2022/core/animation/fade-animations.mjs +0 -9
- package/esm2022/core/animation/index.mjs +0 -4
- package/esm2022/core/animation/select-animations.mjs +0 -45
- package/esm2022/core/common-behaviors/checkbox.mjs +0 -2
- package/esm2022/core/common-behaviors/clipboard.mjs +0 -31
- package/esm2022/core/common-behaviors/color.mjs +0 -89
- package/esm2022/core/common-behaviors/common-module.mjs +0 -76
- package/esm2022/core/common-behaviors/constructor.mjs +0 -2
- package/esm2022/core/common-behaviors/disabled.mjs +0 -19
- package/esm2022/core/common-behaviors/error-state.mjs +0 -50
- package/esm2022/core/common-behaviors/focus-monitor.mjs +0 -37
- package/esm2022/core/common-behaviors/hover.mjs +0 -34
- package/esm2022/core/common-behaviors/index.mjs +0 -14
- package/esm2022/core/common-behaviors/orientation.mjs +0 -2
- package/esm2022/core/common-behaviors/read-state.mjs +0 -33
- package/esm2022/core/common-behaviors/size.mjs +0 -2
- package/esm2022/core/common-behaviors/tabindex.mjs +0 -20
- package/esm2022/core/datetime/date-adapter.mjs +0 -14
- package/esm2022/core/datetime/date-formats.mjs +0 -3
- package/esm2022/core/datetime/index.mjs +0 -3
- package/esm2022/core/error/error-state-matcher.mjs +0 -56
- package/esm2022/core/form-field/field-sizing-content.mjs +0 -117
- package/esm2022/core/form-field/form-field-ref.mjs +0 -10
- package/esm2022/core/form-field/index.mjs +0 -3
- package/esm2022/core/formatters/date/formatter.mjs +0 -25
- package/esm2022/core/formatters/date/formatter.pipe.mjs +0 -380
- package/esm2022/core/formatters/filesize/config.mjs +0 -32
- package/esm2022/core/formatters/filesize/formatter.mjs +0 -43
- package/esm2022/core/formatters/filesize/index.mjs +0 -4
- package/esm2022/core/formatters/filesize/size.mjs +0 -65
- package/esm2022/core/formatters/index.mjs +0 -146
- package/esm2022/core/formatters/number/formatter.mjs +0 -347
- package/esm2022/core/forms/forms-module.mjs +0 -24
- package/esm2022/core/forms/forms.directive.mjs +0 -66
- package/esm2022/core/forms/index.mjs +0 -4
- package/esm2022/core/forms/validators.mjs +0 -184
- package/esm2022/core/highlight/highlight.pipe.mjs +0 -23
- package/esm2022/core/highlight/index.mjs +0 -19
- package/esm2022/core/index.mjs +0 -2
- package/esm2022/core/koobiq-components-core.mjs +0 -5
- package/esm2022/core/line/line.mjs +0 -70
- package/esm2022/core/locales/en-US.mjs +0 -210
- package/esm2022/core/locales/es-LA.mjs +0 -209
- package/esm2022/core/locales/formatters.mjs +0 -193
- package/esm2022/core/locales/index.mjs +0 -10
- package/esm2022/core/locales/locale-service.mjs +0 -173
- package/esm2022/core/locales/locale-service.module.mjs +0 -19
- package/esm2022/core/locales/pt-BR.mjs +0 -209
- package/esm2022/core/locales/ru-RU.mjs +0 -224
- package/esm2022/core/locales/tk-TM.mjs +0 -210
- package/esm2022/core/locales/types.mjs +0 -2
- package/esm2022/core/navbar/index.mjs +0 -2
- package/esm2022/core/navbar/rectangle-item.mjs +0 -40
- package/esm2022/core/option/action-container.mjs +0 -23
- package/esm2022/core/option/action.mjs +0 -107
- package/esm2022/core/option/index.mjs +0 -6
- package/esm2022/core/option/optgroup.mjs +0 -37
- package/esm2022/core/option/option-module.mjs +0 -20
- package/esm2022/core/option/option.mjs +0 -322
- package/esm2022/core/overlay/overlay-position-map.mjs +0 -251
- package/esm2022/core/pop-up/constants.mjs +0 -55
- package/esm2022/core/pop-up/focus-trap-strategy.mjs +0 -6
- package/esm2022/core/pop-up/index.mjs +0 -6
- package/esm2022/core/pop-up/pop-up-styles.mjs +0 -24
- package/esm2022/core/pop-up/pop-up-trigger.mjs +0 -343
- package/esm2022/core/pop-up/pop-up.mjs +0 -152
- package/esm2022/core/public-api.mjs +0 -24
- package/esm2022/core/select/common.mjs +0 -203
- package/esm2022/core/select/constants.mjs +0 -25
- package/esm2022/core/select/errors.mjs +0 -26
- package/esm2022/core/select/events.mjs +0 -2
- package/esm2022/core/select/index.mjs +0 -5
- package/esm2022/core/selection/constants.mjs +0 -6
- package/esm2022/core/selection/index.mjs +0 -4
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +0 -43
- package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +0 -18
- package/esm2022/core/services/measure-scrollbar.service.mjs +0 -42
- package/esm2022/core/services/theme.service.mjs +0 -80
- package/esm2022/core/title/index.mjs +0 -2
- package/esm2022/core/title/title-text-ref.mjs +0 -3
- package/esm2022/core/tokens/index.mjs +0 -2
- package/esm2022/core/tokens/window.mjs +0 -19
- package/esm2022/core/utils/dom.mjs +0 -8
- package/esm2022/core/utils/index.mjs +0 -3
- package/esm2022/core/utils/public-api.mjs +0 -2
- package/esm2022/core/utils/utils.mjs +0 -31
- package/esm2022/core/validation/index.mjs +0 -2
- package/esm2022/core/validation/validation.mjs +0 -27
- package/esm2022/core/version.mjs +0 -3
- package/esm2022/datepicker/calendar-body.component.mjs +0 -87
- package/esm2022/datepicker/calendar-header.component.mjs +0 -164
- package/esm2022/datepicker/calendar.component.mjs +0 -185
- package/esm2022/datepicker/datepicker-animations.mjs +0 -32
- package/esm2022/datepicker/datepicker-errors.mjs +0 -6
- package/esm2022/datepicker/datepicker-input.directive.mjs +0 -1119
- package/esm2022/datepicker/datepicker-intl.mjs +0 -40
- package/esm2022/datepicker/datepicker-module.mjs +0 -103
- package/esm2022/datepicker/datepicker-toggle.component.mjs +0 -170
- package/esm2022/datepicker/datepicker.component.mjs +0 -388
- package/esm2022/datepicker/index.mjs +0 -2
- package/esm2022/datepicker/koobiq-components-datepicker.mjs +0 -5
- package/esm2022/datepicker/month-view.component.mjs +0 -148
- package/esm2022/datepicker/public-api.mjs +0 -11
- package/esm2022/divider/divider.component.mjs +0 -49
- package/esm2022/divider/divider.module.mjs +0 -18
- package/esm2022/divider/index.mjs +0 -2
- package/esm2022/divider/koobiq-components-divider.mjs +0 -5
- package/esm2022/divider/public-api.mjs +0 -3
- package/esm2022/dl/dl.component.mjs +0 -81
- package/esm2022/dl/dl.module.mjs +0 -36
- package/esm2022/dl/index.mjs +0 -2
- package/esm2022/dl/koobiq-components-dl.mjs +0 -5
- package/esm2022/dl/public-api.mjs +0 -3
- package/esm2022/dropdown/dropdown-animations.mjs +0 -41
- package/esm2022/dropdown/dropdown-content.directive.mjs +0 -61
- package/esm2022/dropdown/dropdown-errors.mjs +0 -29
- package/esm2022/dropdown/dropdown-item.component.mjs +0 -150
- package/esm2022/dropdown/dropdown-trigger.directive.mjs +0 -513
- package/esm2022/dropdown/dropdown.component.mjs +0 -293
- package/esm2022/dropdown/dropdown.module.mjs +0 -51
- package/esm2022/dropdown/dropdown.types.mjs +0 -23
- package/esm2022/dropdown/index.mjs +0 -2
- package/esm2022/dropdown/koobiq-components-dropdown.mjs +0 -5
- package/esm2022/dropdown/public-api.mjs +0 -9
- package/esm2022/dynamic-translation/dynamic-translation.mjs +0 -175
- package/esm2022/dynamic-translation/index.mjs +0 -3
- package/esm2022/dynamic-translation/koobiq-components-dynamic-translation.mjs +0 -5
- package/esm2022/dynamic-translation/module.mjs +0 -25
- package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +0 -120
- package/esm2022/ellipsis-center/index.mjs +0 -2
- package/esm2022/ellipsis-center/koobiq-components-ellipsis-center.mjs +0 -5
- package/esm2022/ellipsis-center/public-api.mjs +0 -2
- package/esm2022/empty-state/empty-state.component.mjs +0 -109
- package/esm2022/empty-state/empty-state.module.mjs +0 -44
- package/esm2022/empty-state/index.mjs +0 -2
- package/esm2022/empty-state/koobiq-components-empty-state.mjs +0 -5
- package/esm2022/empty-state/public-api.mjs +0 -3
- package/esm2022/file-upload/file-drop.mjs +0 -87
- package/esm2022/file-upload/file-upload.mjs +0 -71
- package/esm2022/file-upload/file-upload.module.mjs +0 -79
- package/esm2022/file-upload/index.mjs +0 -2
- package/esm2022/file-upload/koobiq-components-file-upload.mjs +0 -5
- package/esm2022/file-upload/multiple-file-upload.component.mjs +0 -306
- package/esm2022/file-upload/public-api.mjs +0 -6
- package/esm2022/file-upload/single-file-upload.component.mjs +0 -257
- package/esm2022/filter-bar/filter-bar-button.mjs +0 -31
- package/esm2022/filter-bar/filter-bar.mjs +0 -213
- package/esm2022/filter-bar/filter-bar.module.mjs +0 -67
- package/esm2022/filter-bar/filter-bar.types.mjs +0 -72
- package/esm2022/filter-bar/filter-refresher.mjs +0 -34
- package/esm2022/filter-bar/filter-reset.mjs +0 -49
- package/esm2022/filter-bar/filter-search.mjs +0 -173
- package/esm2022/filter-bar/filters.mjs +0 -266
- package/esm2022/filter-bar/index.mjs +0 -2
- package/esm2022/filter-bar/koobiq-components-filter-bar.mjs +0 -5
- package/esm2022/filter-bar/pipe-add.mjs +0 -140
- package/esm2022/filter-bar/pipe.directive.mjs +0 -37
- package/esm2022/filter-bar/pipes/base-pipe.mjs +0 -146
- package/esm2022/filter-bar/pipes/pipe-button.mjs +0 -72
- package/esm2022/filter-bar/pipes/pipe-date.mjs +0 -206
- package/esm2022/filter-bar/pipes/pipe-datetime.mjs +0 -208
- package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +0 -188
- package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +0 -260
- package/esm2022/filter-bar/pipes/pipe-readonly.mjs +0 -68
- package/esm2022/filter-bar/pipes/pipe-select.mjs +0 -101
- package/esm2022/filter-bar/pipes/pipe-state.mjs +0 -53
- package/esm2022/filter-bar/pipes/pipe-text.mjs +0 -104
- package/esm2022/filter-bar/pipes/pipe-title.mjs +0 -102
- package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +0 -142
- package/esm2022/filter-bar/public-api.mjs +0 -22
- package/esm2022/form-field/cleaner.mjs +0 -28
- package/esm2022/form-field/error.mjs +0 -20
- package/esm2022/form-field/fieldset.mjs +0 -84
- package/esm2022/form-field/form-field-control.mjs +0 -4
- package/esm2022/form-field/form-field.mjs +0 -447
- package/esm2022/form-field/form-field.module.mjs +0 -87
- package/esm2022/form-field/hint.mjs +0 -36
- package/esm2022/form-field/index.mjs +0 -2
- package/esm2022/form-field/koobiq-components-form-field.mjs +0 -5
- package/esm2022/form-field/label.mjs +0 -19
- package/esm2022/form-field/password-hint.mjs +0 -165
- package/esm2022/form-field/password-toggle.mjs +0 -129
- package/esm2022/form-field/prefix.mjs +0 -19
- package/esm2022/form-field/public-api.mjs +0 -16
- package/esm2022/form-field/reactive-password-hint.mjs +0 -66
- package/esm2022/form-field/stepper.mjs +0 -144
- package/esm2022/form-field/suffix.mjs +0 -18
- package/esm2022/form-field/validate.directive.mjs +0 -190
- package/esm2022/icon/icon-button.component.mjs +0 -64
- package/esm2022/icon/icon-item.component.mjs +0 -31
- package/esm2022/icon/icon.component.mjs +0 -56
- package/esm2022/icon/icon.module.mjs +0 -27
- package/esm2022/icon/index.mjs +0 -2
- package/esm2022/icon/koobiq-components-icon.mjs +0 -5
- package/esm2022/icon/public-api.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/inline-edit/index.mjs +0 -3
- package/esm2022/inline-edit/inline-edit.mjs +0 -382
- package/esm2022/inline-edit/koobiq-components-inline-edit.mjs +0 -5
- package/esm2022/inline-edit/module.mjs +0 -25
- package/esm2022/input/index.mjs +0 -2
- package/esm2022/input/input-errors.mjs +0 -4
- package/esm2022/input/input-number-validators.mjs +0 -88
- package/esm2022/input/input-number.mjs +0 -386
- package/esm2022/input/input-password.mjs +0 -253
- package/esm2022/input/input-value-accessor.mjs +0 -3
- package/esm2022/input/input.mjs +0 -299
- package/esm2022/input/input.module.mjs +0 -58
- package/esm2022/input/koobiq-components-input.mjs +0 -5
- package/esm2022/input/public-api.mjs +0 -7
- package/esm2022/koobiq-components.mjs +0 -5
- package/esm2022/link/index.mjs +0 -2
- package/esm2022/link/koobiq-components-link.mjs +0 -5
- package/esm2022/link/link.component.mjs +0 -143
- package/esm2022/link/link.module.mjs +0 -20
- package/esm2022/link/public-api.mjs +0 -3
- package/esm2022/list/index.mjs +0 -2
- package/esm2022/list/koobiq-components-list.mjs +0 -5
- package/esm2022/list/list-selection.component.mjs +0 -745
- package/esm2022/list/list.component.mjs +0 -43
- package/esm2022/list/list.module.mjs +0 -60
- package/esm2022/list/public-api.mjs +0 -4
- package/esm2022/loader-overlay/index.mjs +0 -2
- package/esm2022/loader-overlay/koobiq-components-loader-overlay.mjs +0 -5
- package/esm2022/loader-overlay/loader-overlay.component.mjs +0 -110
- package/esm2022/loader-overlay/loader-overlay.module.mjs +0 -44
- package/esm2022/loader-overlay/public-api.mjs +0 -3
- package/esm2022/markdown/index.mjs +0 -2
- package/esm2022/markdown/koobiq-components-markdown.mjs +0 -5
- package/esm2022/markdown/markdown.component.mjs +0 -67
- package/esm2022/markdown/markdown.module.mjs +0 -21
- package/esm2022/markdown/markdown.service.mjs +0 -36
- package/esm2022/markdown/markdown.values.mjs +0 -35
- package/esm2022/markdown/public-api.mjs +0 -5
- package/esm2022/modal/css-unit.pipe.mjs +0 -17
- package/esm2022/modal/index.mjs +0 -2
- package/esm2022/modal/koobiq-components-modal.mjs +0 -5
- package/esm2022/modal/modal-control.service.mjs +0 -89
- package/esm2022/modal/modal-ref.class.mjs +0 -7
- package/esm2022/modal/modal-util.mjs +0 -22
- package/esm2022/modal/modal.component.mjs +0 -540
- package/esm2022/modal/modal.directive.mjs +0 -94
- package/esm2022/modal/modal.module.mjs +0 -78
- package/esm2022/modal/modal.service.mjs +0 -135
- package/esm2022/modal/modal.type.mjs +0 -7
- package/esm2022/modal/public-api.mjs +0 -7
- package/esm2022/navbar/index.mjs +0 -2
- package/esm2022/navbar/koobiq-components-navbar.mjs +0 -5
- package/esm2022/navbar/navbar-brand.component.mjs +0 -105
- package/esm2022/navbar/navbar-item.component.mjs +0 -428
- package/esm2022/navbar/navbar-toggle.component.mjs +0 -88
- package/esm2022/navbar/navbar.component.mjs +0 -251
- package/esm2022/navbar/navbar.module.mjs +0 -84
- package/esm2022/navbar/public-api.mjs +0 -7
- package/esm2022/navbar/vertical-navbar.component.mjs +0 -128
- package/esm2022/navbar-ic/index.mjs +0 -2
- package/esm2022/navbar-ic/koobiq-components-navbar-ic.mjs +0 -5
- package/esm2022/navbar-ic/navbar-ic-header.mjs +0 -74
- package/esm2022/navbar-ic/navbar-ic-item.mjs +0 -390
- package/esm2022/navbar-ic/navbar-ic.animation.mjs +0 -17
- package/esm2022/navbar-ic/navbar-ic.mjs +0 -310
- package/esm2022/navbar-ic/navbar-ic.module.mjs +0 -74
- package/esm2022/navbar-ic/public-api.mjs +0 -5
- package/esm2022/notification-center/index.mjs +0 -2
- package/esm2022/notification-center/koobiq-components-notification-center.mjs +0 -5
- package/esm2022/notification-center/notification-center-animations.mjs +0 -18
- package/esm2022/notification-center/notification-center.mjs +0 -329
- package/esm2022/notification-center/notification-center.module.mjs +0 -38
- package/esm2022/notification-center/notification-center.service.mjs +0 -127
- package/esm2022/notification-center/notification-item.mjs +0 -70
- package/esm2022/notification-center/public-api.mjs +0 -5
- package/esm2022/overflow-items/index.mjs +0 -3
- package/esm2022/overflow-items/koobiq-components-overflow-items.mjs +0 -5
- package/esm2022/overflow-items/module.mjs +0 -25
- package/esm2022/overflow-items/overflow-items.mjs +0 -290
- package/esm2022/popover/index.mjs +0 -2
- package/esm2022/popover/koobiq-components-popover.mjs +0 -5
- package/esm2022/popover/popover-animations.mjs +0 -16
- package/esm2022/popover/popover-confirm.component.mjs +0 -97
- package/esm2022/popover/popover.component.mjs +0 -410
- package/esm2022/popover/popover.module.mjs +0 -67
- package/esm2022/popover/public-api.mjs +0 -5
- package/esm2022/progress-bar/index.mjs +0 -2
- package/esm2022/progress-bar/koobiq-components-progress-bar.mjs +0 -5
- package/esm2022/progress-bar/progress-bar.component.mjs +0 -62
- package/esm2022/progress-bar/progress-bar.module.mjs +0 -32
- package/esm2022/progress-bar/public-api.mjs +0 -3
- package/esm2022/progress-spinner/index.mjs +0 -2
- package/esm2022/progress-spinner/koobiq-components-progress-spinner.mjs +0 -5
- package/esm2022/progress-spinner/progress-spinner.component.mjs +0 -78
- package/esm2022/progress-spinner/progress-spinner.module.mjs +0 -35
- package/esm2022/progress-spinner/public-api.mjs +0 -3
- package/esm2022/public-api.mjs +0 -2
- package/esm2022/radio/index.mjs +0 -2
- package/esm2022/radio/koobiq-components-radio.mjs +0 -5
- package/esm2022/radio/public-api.mjs +0 -3
- package/esm2022/radio/radio.component.mjs +0 -451
- package/esm2022/radio/radio.module.mjs +0 -18
- package/esm2022/resizer/index.mjs +0 -3
- package/esm2022/resizer/koobiq-components-resizer.mjs +0 -5
- package/esm2022/resizer/module.mjs +0 -17
- package/esm2022/resizer/resizer.mjs +0 -135
- package/esm2022/risk-level/index.mjs +0 -2
- package/esm2022/risk-level/koobiq-components-risk-level.mjs +0 -5
- package/esm2022/risk-level/public-api.mjs +0 -3
- package/esm2022/risk-level/risk-level.component.mjs +0 -40
- package/esm2022/risk-level/risk-level.module.mjs +0 -24
- package/esm2022/scrollbar/index.mjs +0 -2
- package/esm2022/scrollbar/koobiq-components-scrollbar.mjs +0 -5
- package/esm2022/scrollbar/public-api.mjs +0 -5
- package/esm2022/scrollbar/scrollbar.component.mjs +0 -133
- package/esm2022/scrollbar/scrollbar.directive.mjs +0 -105
- package/esm2022/scrollbar/scrollbar.module.mjs +0 -25
- package/esm2022/scrollbar/scrollbar.types.mjs +0 -14
- package/esm2022/search-expandable/index.mjs +0 -2
- package/esm2022/search-expandable/koobiq-components-search-expandable.mjs +0 -5
- package/esm2022/search-expandable/public-api.mjs +0 -3
- package/esm2022/search-expandable/search-expandable.mjs +0 -177
- package/esm2022/search-expandable/search-expandable.module.mjs +0 -18
- package/esm2022/select/index.mjs +0 -2
- package/esm2022/select/koobiq-components-select.mjs +0 -5
- package/esm2022/select/public-api.mjs +0 -4
- package/esm2022/select/select-option.directive.mjs +0 -69
- package/esm2022/select/select.component.mjs +0 -1154
- package/esm2022/select/select.module.mjs +0 -81
- package/esm2022/sidebar/index.mjs +0 -2
- package/esm2022/sidebar/koobiq-components-sidebar.mjs +0 -5
- package/esm2022/sidebar/public-api.mjs +0 -3
- package/esm2022/sidebar/sidebar-animations.mjs +0 -23
- package/esm2022/sidebar/sidebar.component.mjs +0 -169
- package/esm2022/sidebar/sidebar.module.mjs +0 -30
- package/esm2022/sidepanel/index.mjs +0 -2
- package/esm2022/sidepanel/koobiq-components-sidepanel.mjs +0 -5
- package/esm2022/sidepanel/public-api.mjs +0 -7
- package/esm2022/sidepanel/sidepanel-animations.mjs +0 -29
- package/esm2022/sidepanel/sidepanel-config.mjs +0 -33
- package/esm2022/sidepanel/sidepanel-container.component.mjs +0 -126
- package/esm2022/sidepanel/sidepanel-directives.mjs +0 -168
- package/esm2022/sidepanel/sidepanel-ref.mjs +0 -60
- package/esm2022/sidepanel/sidepanel.module.mjs +0 -73
- package/esm2022/sidepanel/sidepanel.service.mjs +0 -167
- package/esm2022/split-button/index.mjs +0 -2
- package/esm2022/split-button/koobiq-components-split-button.mjs +0 -5
- package/esm2022/split-button/public-api.mjs +0 -3
- package/esm2022/split-button/split-button.mjs +0 -133
- package/esm2022/split-button/split-button.module.mjs +0 -18
- package/esm2022/splitter/index.mjs +0 -2
- package/esm2022/splitter/koobiq-components-splitter.mjs +0 -5
- package/esm2022/splitter/public-api.mjs +0 -3
- package/esm2022/splitter/splitter.component.mjs +0 -492
- package/esm2022/splitter/splitter.module.mjs +0 -34
- package/esm2022/table/index.mjs +0 -2
- package/esm2022/table/koobiq-components-table.mjs +0 -5
- package/esm2022/table/public-api.mjs +0 -3
- package/esm2022/table/table.component.mjs +0 -36
- package/esm2022/table/table.module.mjs +0 -32
- package/esm2022/tabs/index.mjs +0 -2
- package/esm2022/tabs/koobiq-components-tabs.mjs +0 -5
- package/esm2022/tabs/paginated-tab-header.mjs +0 -490
- package/esm2022/tabs/public-api.mjs +0 -11
- package/esm2022/tabs/tab-body.component.mjs +0 -178
- package/esm2022/tabs/tab-content.directive.mjs +0 -15
- package/esm2022/tabs/tab-group.component.mjs +0 -384
- package/esm2022/tabs/tab-header.component.mjs +0 -60
- package/esm2022/tabs/tab-label-wrapper.directive.mjs +0 -86
- package/esm2022/tabs/tab-label.directive.mjs +0 -17
- package/esm2022/tabs/tab-nav-bar.mjs +0 -292
- package/esm2022/tabs/tab.component.mjs +0 -145
- package/esm2022/tabs/tabs-animations.mjs +0 -24
- package/esm2022/tabs/tabs.module.mjs +0 -95
- package/esm2022/tags/index.mjs +0 -2
- package/esm2022/tags/koobiq-components-tags.mjs +0 -5
- package/esm2022/tags/public-api.mjs +0 -6
- package/esm2022/tags/tag-default-options.mjs +0 -4
- package/esm2022/tags/tag-input.mjs +0 -281
- package/esm2022/tags/tag-list.component.mjs +0 -765
- package/esm2022/tags/tag-text-control.mjs +0 -2
- package/esm2022/tags/tag.component.mjs +0 -647
- package/esm2022/tags/tag.module.mjs +0 -67
- package/esm2022/textarea/index.mjs +0 -2
- package/esm2022/textarea/koobiq-components-textarea.mjs +0 -5
- package/esm2022/textarea/public-api.mjs +0 -3
- package/esm2022/textarea/textarea.component.mjs +0 -300
- package/esm2022/textarea/textarea.module.mjs +0 -20
- package/esm2022/time-range/constants.mjs +0 -42
- package/esm2022/time-range/index.mjs +0 -8
- package/esm2022/time-range/koobiq-components-time-range.mjs +0 -5
- package/esm2022/time-range/module.mjs +0 -36
- package/esm2022/time-range/time-range-editor.mjs +0 -224
- package/esm2022/time-range/time-range-title-as-form-field.mjs +0 -60
- package/esm2022/time-range/time-range-title.mjs +0 -112
- package/esm2022/time-range/time-range.mjs +0 -234
- package/esm2022/time-range/time-range.service.mjs +0 -126
- package/esm2022/time-range/types.mjs +0 -2
- package/esm2022/timepicker/index.mjs +0 -2
- package/esm2022/timepicker/koobiq-components-timepicker.mjs +0 -5
- package/esm2022/timepicker/public-api.mjs +0 -4
- package/esm2022/timepicker/timepicker.constants.mjs +0 -29
- package/esm2022/timepicker/timepicker.directive.mjs +0 -686
- package/esm2022/timepicker/timepicker.module.mjs +0 -29
- package/esm2022/timezone/cities-by-filter.pipe.mjs +0 -17
- package/esm2022/timezone/index.mjs +0 -2
- package/esm2022/timezone/koobiq-components-timezone.mjs +0 -5
- package/esm2022/timezone/public-api.mjs +0 -7
- package/esm2022/timezone/timezone-option.component.mjs +0 -50
- package/esm2022/timezone/timezone-option.directive.mjs +0 -54
- package/esm2022/timezone/timezone-select.component.mjs +0 -55
- package/esm2022/timezone/timezone.models.mjs +0 -2
- package/esm2022/timezone/timezone.module.mjs +0 -82
- package/esm2022/timezone/timezone.utils.mjs +0 -80
- package/esm2022/timezone/utc-offset.pipe.mjs +0 -17
- package/esm2022/title/index.mjs +0 -2
- package/esm2022/title/koobiq-components-title.mjs +0 -5
- package/esm2022/title/public-api.mjs +0 -3
- package/esm2022/title/title.directive.mjs +0 -108
- package/esm2022/title/title.module.mjs +0 -18
- package/esm2022/toast/index.mjs +0 -2
- package/esm2022/toast/koobiq-components-toast.mjs +0 -5
- package/esm2022/toast/public-api.mjs +0 -6
- package/esm2022/toast/toast-animations.mjs +0 -10
- package/esm2022/toast/toast-container.component.mjs +0 -57
- package/esm2022/toast/toast.component.mjs +0 -125
- package/esm2022/toast/toast.module.mjs +0 -26
- package/esm2022/toast/toast.service.mjs +0 -197
- package/esm2022/toast/toast.type.mjs +0 -39
- package/esm2022/toggle/index.mjs +0 -2
- package/esm2022/toggle/koobiq-components-toggle.mjs +0 -5
- package/esm2022/toggle/public-api.mjs +0 -3
- package/esm2022/toggle/toggle.component.mjs +0 -254
- package/esm2022/toggle/toggle.module.mjs +0 -18
- package/esm2022/tooltip/index.mjs +0 -2
- package/esm2022/tooltip/koobiq-components-tooltip.mjs +0 -5
- package/esm2022/tooltip/public-api.mjs +0 -3
- package/esm2022/tooltip/tooltip.animations.mjs +0 -19
- package/esm2022/tooltip/tooltip.component.mjs +0 -400
- package/esm2022/tooltip/tooltip.module.mjs +0 -35
- package/esm2022/top-bar/index.mjs +0 -2
- package/esm2022/top-bar/koobiq-components-top-bar.mjs +0 -5
- package/esm2022/top-bar/module.mjs +0 -25
- package/esm2022/top-bar/public-api.mjs +0 -3
- package/esm2022/top-bar/top-bar.mjs +0 -74
- package/esm2022/tree/control/base-tree-control.mjs +0 -59
- package/esm2022/tree/control/flat-tree-control.filters.mjs +0 -52
- package/esm2022/tree/control/flat-tree-control.mjs +0 -109
- package/esm2022/tree/control/nested-tree-control.mjs +0 -40
- package/esm2022/tree/control/tree-control.mjs +0 -2
- package/esm2022/tree/data-source/flat-data-source.mjs +0 -157
- package/esm2022/tree/data-source/nested-data-source.mjs +0 -28
- package/esm2022/tree/index.mjs +0 -2
- package/esm2022/tree/koobiq-components-tree.mjs +0 -5
- package/esm2022/tree/node.mjs +0 -31
- package/esm2022/tree/outlet.mjs +0 -15
- package/esm2022/tree/padding.directive.mjs +0 -108
- package/esm2022/tree/public-api.mjs +0 -17
- package/esm2022/tree/toggle.mjs +0 -93
- package/esm2022/tree/tree-base.mjs +0 -236
- package/esm2022/tree/tree-errors.mjs +0 -36
- package/esm2022/tree/tree-option.component.mjs +0 -303
- package/esm2022/tree/tree-selection.component.mjs +0 -568
- package/esm2022/tree/tree.mjs +0 -19
- package/esm2022/tree/tree.module.mjs +0 -64
- package/esm2022/tree-select/index.mjs +0 -2
- package/esm2022/tree-select/koobiq-components-tree-select.mjs +0 -5
- package/esm2022/tree-select/public-api.mjs +0 -3
- package/esm2022/tree-select/tree-select.component.mjs +0 -1034
- package/esm2022/tree-select/tree-select.module.mjs +0 -71
- package/esm2022/username/constants.mjs +0 -25
- package/esm2022/username/index.mjs +0 -6
- package/esm2022/username/koobiq-components-username.mjs +0 -5
- package/esm2022/username/module.mjs +0 -35
- package/esm2022/username/types.mjs +0 -32
- package/esm2022/username/username.mjs +0 -129
- package/esm2022/username/username.pipe.mjs +0 -92
|
@@ -1,380 +0,0 @@
|
|
|
1
|
-
import { inject, Pipe } from '@angular/core';
|
|
2
|
-
import { DateAdapter } from '../../datetime';
|
|
3
|
-
import { DateFormatter } from './formatter';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class BaseFormatterPipe {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.adapter = inject((DateAdapter));
|
|
8
|
-
this.formatter = inject((DateFormatter));
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export class AbsoluteDateFormatterPipe extends BaseFormatterPipe {
|
|
12
|
-
transform(value, currYear) {
|
|
13
|
-
const date = this.adapter.deserialize(value);
|
|
14
|
-
return date ? this.formatter.absoluteLongDate(date, currYear) : '';
|
|
15
|
-
}
|
|
16
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
17
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateFormatterPipe, isStandalone: true, name: "absoluteLongDate" }); }
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateFormatterPipe, decorators: [{
|
|
20
|
-
type: Pipe,
|
|
21
|
-
args: [{
|
|
22
|
-
standalone: true,
|
|
23
|
-
name: 'absoluteLongDate'
|
|
24
|
-
}]
|
|
25
|
-
}] });
|
|
26
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
27
|
-
export class AbsoluteDateFormatterImpurePipe extends AbsoluteDateFormatterPipe {
|
|
28
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
29
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, isStandalone: true, name: "absoluteLongDateImpurePipe", pure: false }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateFormatterImpurePipe, decorators: [{
|
|
32
|
-
type: Pipe,
|
|
33
|
-
args: [{
|
|
34
|
-
standalone: true,
|
|
35
|
-
name: 'absoluteLongDateImpurePipe',
|
|
36
|
-
pure: false
|
|
37
|
-
}]
|
|
38
|
-
}] });
|
|
39
|
-
export class AbsoluteDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
40
|
-
transform(value, options) {
|
|
41
|
-
const date = this.adapter.deserialize(value);
|
|
42
|
-
return date ? this.formatter.absoluteLongDateTime(date, options) : '';
|
|
43
|
-
}
|
|
44
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
45
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, isStandalone: true, name: "absoluteLongDateTime" }); }
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateTimeFormatterPipe, decorators: [{
|
|
48
|
-
type: Pipe,
|
|
49
|
-
args: [{
|
|
50
|
-
standalone: true,
|
|
51
|
-
name: 'absoluteLongDateTime'
|
|
52
|
-
}]
|
|
53
|
-
}] });
|
|
54
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
55
|
-
export class AbsoluteDateTimeFormatterImpurePipe extends AbsoluteDateTimeFormatterPipe {
|
|
56
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
57
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, isStandalone: true, name: "absoluteLongDateTimeImpurePipe", pure: false }); }
|
|
58
|
-
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateTimeFormatterImpurePipe, decorators: [{
|
|
60
|
-
type: Pipe,
|
|
61
|
-
args: [{
|
|
62
|
-
standalone: true,
|
|
63
|
-
name: 'absoluteLongDateTimeImpurePipe',
|
|
64
|
-
pure: false
|
|
65
|
-
}]
|
|
66
|
-
}] });
|
|
67
|
-
export class AbsoluteDateShortFormatterPipe extends BaseFormatterPipe {
|
|
68
|
-
transform(value, currYear) {
|
|
69
|
-
const date = this.adapter.deserialize(value);
|
|
70
|
-
return date ? this.formatter.absoluteShortDate(date, currYear) : '';
|
|
71
|
-
}
|
|
72
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateShortFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
73
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateShortFormatterPipe, isStandalone: true, name: "absoluteShortDate" }); }
|
|
74
|
-
}
|
|
75
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateShortFormatterPipe, decorators: [{
|
|
76
|
-
type: Pipe,
|
|
77
|
-
args: [{
|
|
78
|
-
standalone: true,
|
|
79
|
-
name: 'absoluteShortDate'
|
|
80
|
-
}]
|
|
81
|
-
}] });
|
|
82
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
83
|
-
export class AbsoluteDateShortFormatterImpurePipe extends AbsoluteDateShortFormatterPipe {
|
|
84
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
85
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, isStandalone: true, name: "absoluteShortDateImpurePipe", pure: false }); }
|
|
86
|
-
}
|
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteDateShortFormatterImpurePipe, decorators: [{
|
|
88
|
-
type: Pipe,
|
|
89
|
-
args: [{
|
|
90
|
-
standalone: true,
|
|
91
|
-
name: 'absoluteShortDateImpurePipe',
|
|
92
|
-
pure: false
|
|
93
|
-
}]
|
|
94
|
-
}] });
|
|
95
|
-
export class AbsoluteShortDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
96
|
-
transform(value, options) {
|
|
97
|
-
const date = this.adapter.deserialize(value);
|
|
98
|
-
return date ? this.formatter.absoluteShortDateTime(date, options) : '';
|
|
99
|
-
}
|
|
100
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
101
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, isStandalone: true, name: "absoluteShortDateTime" }); }
|
|
102
|
-
}
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteShortDateTimeFormatterPipe, decorators: [{
|
|
104
|
-
type: Pipe,
|
|
105
|
-
args: [{
|
|
106
|
-
standalone: true,
|
|
107
|
-
name: 'absoluteShortDateTime'
|
|
108
|
-
}]
|
|
109
|
-
}] });
|
|
110
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
111
|
-
export class AbsoluteShortDateTimeFormatterImpurePipe extends AbsoluteShortDateTimeFormatterPipe {
|
|
112
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
113
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, isStandalone: true, name: "absoluteShortDateTimeImpurePipe", pure: false }); }
|
|
114
|
-
}
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AbsoluteShortDateTimeFormatterImpurePipe, decorators: [{
|
|
116
|
-
type: Pipe,
|
|
117
|
-
args: [{
|
|
118
|
-
standalone: true,
|
|
119
|
-
name: 'absoluteShortDateTimeImpurePipe',
|
|
120
|
-
pure: false
|
|
121
|
-
}]
|
|
122
|
-
}] });
|
|
123
|
-
export class RelativeDateFormatterPipe extends BaseFormatterPipe {
|
|
124
|
-
transform(value) {
|
|
125
|
-
const date = this.adapter.deserialize(value);
|
|
126
|
-
return date ? this.formatter.relativeLongDate(date) : '';
|
|
127
|
-
}
|
|
128
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
129
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateFormatterPipe, isStandalone: true, name: "relativeLongDate" }); }
|
|
130
|
-
}
|
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateFormatterPipe, decorators: [{
|
|
132
|
-
type: Pipe,
|
|
133
|
-
args: [{
|
|
134
|
-
standalone: true,
|
|
135
|
-
name: 'relativeLongDate'
|
|
136
|
-
}]
|
|
137
|
-
}] });
|
|
138
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
139
|
-
export class RelativeDateFormatterImpurePipe extends RelativeDateFormatterPipe {
|
|
140
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
141
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateFormatterImpurePipe, isStandalone: true, name: "relativeLongDateImpurePipe", pure: false }); }
|
|
142
|
-
}
|
|
143
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateFormatterImpurePipe, decorators: [{
|
|
144
|
-
type: Pipe,
|
|
145
|
-
args: [{
|
|
146
|
-
standalone: true,
|
|
147
|
-
name: 'relativeLongDateImpurePipe',
|
|
148
|
-
pure: false
|
|
149
|
-
}]
|
|
150
|
-
}] });
|
|
151
|
-
export class RelativeDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
152
|
-
transform(value, options) {
|
|
153
|
-
const date = this.adapter.deserialize(value);
|
|
154
|
-
return date ? this.formatter.relativeLongDateTime(date, options) : '';
|
|
155
|
-
}
|
|
156
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
157
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateTimeFormatterPipe, isStandalone: true, name: "relativeLongDateTime" }); }
|
|
158
|
-
}
|
|
159
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateTimeFormatterPipe, decorators: [{
|
|
160
|
-
type: Pipe,
|
|
161
|
-
args: [{
|
|
162
|
-
standalone: true,
|
|
163
|
-
name: 'relativeLongDateTime'
|
|
164
|
-
}]
|
|
165
|
-
}] });
|
|
166
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
167
|
-
export class RelativeDateTimeFormatterImpurePipe extends RelativeDateTimeFormatterPipe {
|
|
168
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
169
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, isStandalone: true, name: "relativeLongDateTimeImpurePipe", pure: false }); }
|
|
170
|
-
}
|
|
171
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeDateTimeFormatterImpurePipe, decorators: [{
|
|
172
|
-
type: Pipe,
|
|
173
|
-
args: [{
|
|
174
|
-
standalone: true,
|
|
175
|
-
name: 'relativeLongDateTimeImpurePipe',
|
|
176
|
-
pure: false
|
|
177
|
-
}]
|
|
178
|
-
}] });
|
|
179
|
-
export class RelativeShortDateFormatterPipe extends BaseFormatterPipe {
|
|
180
|
-
transform(value) {
|
|
181
|
-
const date = this.adapter.deserialize(value);
|
|
182
|
-
return date ? this.formatter.relativeShortDate(date) : '';
|
|
183
|
-
}
|
|
184
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
185
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateFormatterPipe, isStandalone: true, name: "relativeShortDate" }); }
|
|
186
|
-
}
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateFormatterPipe, decorators: [{
|
|
188
|
-
type: Pipe,
|
|
189
|
-
args: [{
|
|
190
|
-
standalone: true,
|
|
191
|
-
name: 'relativeShortDate'
|
|
192
|
-
}]
|
|
193
|
-
}] });
|
|
194
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
195
|
-
export class RelativeShortDateFormatterImpurePipe extends RelativeShortDateFormatterPipe {
|
|
196
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
197
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, isStandalone: true, name: "relativeShortDateImpurePipe", pure: false }); }
|
|
198
|
-
}
|
|
199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateFormatterImpurePipe, decorators: [{
|
|
200
|
-
type: Pipe,
|
|
201
|
-
args: [{
|
|
202
|
-
standalone: true,
|
|
203
|
-
name: 'relativeShortDateImpurePipe',
|
|
204
|
-
pure: false
|
|
205
|
-
}]
|
|
206
|
-
}] });
|
|
207
|
-
export class RelativeShortDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
208
|
-
transform(value, options) {
|
|
209
|
-
const date = this.adapter.deserialize(value);
|
|
210
|
-
return date ? this.formatter.relativeShortDateTime(date, options) : '';
|
|
211
|
-
}
|
|
212
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
213
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, isStandalone: true, name: "relativeShortDateTime" }); }
|
|
214
|
-
}
|
|
215
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateTimeFormatterPipe, decorators: [{
|
|
216
|
-
type: Pipe,
|
|
217
|
-
args: [{
|
|
218
|
-
standalone: true,
|
|
219
|
-
name: 'relativeShortDateTime'
|
|
220
|
-
}]
|
|
221
|
-
}] });
|
|
222
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
223
|
-
export class RelativeShortDateTimeFormatterImpurePipe extends RelativeShortDateTimeFormatterPipe {
|
|
224
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
225
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, isStandalone: true, name: "relativeShortDateTimeImpurePipe", pure: false }); }
|
|
226
|
-
}
|
|
227
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RelativeShortDateTimeFormatterImpurePipe, decorators: [{
|
|
228
|
-
type: Pipe,
|
|
229
|
-
args: [{
|
|
230
|
-
standalone: true,
|
|
231
|
-
name: 'relativeShortDateTimeImpurePipe',
|
|
232
|
-
pure: false
|
|
233
|
-
}]
|
|
234
|
-
}] });
|
|
235
|
-
export class RangeDateFormatterPipe extends BaseFormatterPipe {
|
|
236
|
-
transform([value1, value2]) {
|
|
237
|
-
const date1 = this.adapter.deserialize(value1);
|
|
238
|
-
const date2 = this.adapter.deserialize(value2);
|
|
239
|
-
return this.formatter.rangeLongDate(date1, date2);
|
|
240
|
-
}
|
|
241
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
242
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RangeDateFormatterPipe, isStandalone: true, name: "rangeLongDate" }); }
|
|
243
|
-
}
|
|
244
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeDateFormatterPipe, decorators: [{
|
|
245
|
-
type: Pipe,
|
|
246
|
-
args: [{
|
|
247
|
-
standalone: true,
|
|
248
|
-
name: 'rangeLongDate'
|
|
249
|
-
}]
|
|
250
|
-
}] });
|
|
251
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
252
|
-
export class RangeDateFormatterImpurePipe extends RangeDateFormatterPipe {
|
|
253
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
254
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RangeDateFormatterImpurePipe, isStandalone: true, name: "rangeLongDateImpurePipe", pure: false }); }
|
|
255
|
-
}
|
|
256
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeDateFormatterImpurePipe, decorators: [{
|
|
257
|
-
type: Pipe,
|
|
258
|
-
args: [{
|
|
259
|
-
standalone: true,
|
|
260
|
-
name: 'rangeLongDateImpurePipe',
|
|
261
|
-
pure: false
|
|
262
|
-
}]
|
|
263
|
-
}] });
|
|
264
|
-
export class RangeShortDateFormatterPipe extends BaseFormatterPipe {
|
|
265
|
-
transform([value1, value2]) {
|
|
266
|
-
const date1 = this.adapter.deserialize(value1);
|
|
267
|
-
const date2 = this.adapter.deserialize(value2);
|
|
268
|
-
return this.formatter.rangeShortDate(date1, date2);
|
|
269
|
-
}
|
|
270
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
271
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateFormatterPipe, isStandalone: true, name: "rangeShortDate" }); }
|
|
272
|
-
}
|
|
273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateFormatterPipe, decorators: [{
|
|
274
|
-
type: Pipe,
|
|
275
|
-
args: [{
|
|
276
|
-
standalone: true,
|
|
277
|
-
name: 'rangeShortDate'
|
|
278
|
-
}]
|
|
279
|
-
}] });
|
|
280
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
281
|
-
export class RangeShortDateFormatterImpurePipe extends RangeShortDateFormatterPipe {
|
|
282
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
283
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateFormatterImpurePipe, isStandalone: true, name: "rangeShortDateImpurePipe", pure: false }); }
|
|
284
|
-
}
|
|
285
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateFormatterImpurePipe, decorators: [{
|
|
286
|
-
type: Pipe,
|
|
287
|
-
args: [{
|
|
288
|
-
standalone: true,
|
|
289
|
-
name: 'rangeShortDateImpurePipe',
|
|
290
|
-
pure: false
|
|
291
|
-
}]
|
|
292
|
-
}] });
|
|
293
|
-
export class RangeDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
294
|
-
transform([value1, value2], options) {
|
|
295
|
-
const date1 = this.adapter.deserialize(value1);
|
|
296
|
-
const date2 = this.adapter.deserialize(value2);
|
|
297
|
-
return this.formatter.rangeLongDateTime(date1, date2, options);
|
|
298
|
-
}
|
|
299
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
300
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RangeDateTimeFormatterPipe, isStandalone: true, name: "rangeLongDateTime" }); }
|
|
301
|
-
}
|
|
302
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeDateTimeFormatterPipe, decorators: [{
|
|
303
|
-
type: Pipe,
|
|
304
|
-
args: [{
|
|
305
|
-
standalone: true,
|
|
306
|
-
name: 'rangeLongDateTime'
|
|
307
|
-
}]
|
|
308
|
-
}] });
|
|
309
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
310
|
-
export class RangeDateTimeFormatterImpurePipe extends RangeDateTimeFormatterPipe {
|
|
311
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
312
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeLongDateTimeImpurePipe", pure: false }); }
|
|
313
|
-
}
|
|
314
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeDateTimeFormatterImpurePipe, decorators: [{
|
|
315
|
-
type: Pipe,
|
|
316
|
-
args: [{
|
|
317
|
-
standalone: true,
|
|
318
|
-
name: 'rangeLongDateTimeImpurePipe',
|
|
319
|
-
pure: false
|
|
320
|
-
}]
|
|
321
|
-
}] });
|
|
322
|
-
export class RangeMiddleDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
323
|
-
transform([value1, value2], options) {
|
|
324
|
-
const date1 = this.adapter.deserialize(value1);
|
|
325
|
-
const date2 = this.adapter.deserialize(value2);
|
|
326
|
-
return this.formatter.rangeMiddleDateTime(date1, date2, options);
|
|
327
|
-
}
|
|
328
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
329
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, isStandalone: true, name: "rangeMiddleDateTime" }); }
|
|
330
|
-
}
|
|
331
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeMiddleDateTimeFormatterPipe, decorators: [{
|
|
332
|
-
type: Pipe,
|
|
333
|
-
args: [{
|
|
334
|
-
standalone: true,
|
|
335
|
-
name: 'rangeMiddleDateTime'
|
|
336
|
-
}]
|
|
337
|
-
}] });
|
|
338
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
339
|
-
export class RangeMiddleDateTimeFormatterImpurePipe extends RangeMiddleDateTimeFormatterPipe {
|
|
340
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
341
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeMiddleDateTimeImpurePipe", pure: false }); }
|
|
342
|
-
}
|
|
343
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeMiddleDateTimeFormatterImpurePipe, decorators: [{
|
|
344
|
-
type: Pipe,
|
|
345
|
-
args: [{
|
|
346
|
-
standalone: true,
|
|
347
|
-
name: 'rangeMiddleDateTimeImpurePipe',
|
|
348
|
-
pure: false
|
|
349
|
-
}]
|
|
350
|
-
}] });
|
|
351
|
-
export class RangeShortDateTimeFormatterPipe extends BaseFormatterPipe {
|
|
352
|
-
transform([value1, value2], options) {
|
|
353
|
-
const date1 = this.adapter.deserialize(value1);
|
|
354
|
-
const date2 = this.adapter.deserialize(value2);
|
|
355
|
-
return this.formatter.rangeShortDateTime(date1, date2, options);
|
|
356
|
-
}
|
|
357
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateTimeFormatterPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
358
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateTimeFormatterPipe, isStandalone: true, name: "rangeShortDateTime" }); }
|
|
359
|
-
}
|
|
360
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateTimeFormatterPipe, decorators: [{
|
|
361
|
-
type: Pipe,
|
|
362
|
-
args: [{
|
|
363
|
-
standalone: true,
|
|
364
|
-
name: 'rangeShortDateTime'
|
|
365
|
-
}]
|
|
366
|
-
}] });
|
|
367
|
-
// eslint-disable-next-line @angular-eslint/use-pipe-transform-interface
|
|
368
|
-
export class RangeShortDateTimeFormatterImpurePipe extends RangeShortDateTimeFormatterPipe {
|
|
369
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
370
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, isStandalone: true, name: "rangeShortDateTimeImpurePipe", pure: false }); }
|
|
371
|
-
}
|
|
372
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RangeShortDateTimeFormatterImpurePipe, decorators: [{
|
|
373
|
-
type: Pipe,
|
|
374
|
-
args: [{
|
|
375
|
-
standalone: true,
|
|
376
|
-
name: 'rangeShortDateTimeImpurePipe',
|
|
377
|
-
pure: false
|
|
378
|
-
}]
|
|
379
|
-
}] });
|
|
380
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvZm9ybWF0dGVycy9kYXRlL2Zvcm1hdHRlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFNUMsTUFBTSxPQUFPLGlCQUFpQjtJQUE5QjtRQUN1QixZQUFPLEdBQW1CLE1BQU0sQ0FBQyxDQUFBLFdBQWMsQ0FBQSxDQUFDLENBQUM7UUFDakQsY0FBUyxHQUFxQixNQUFNLENBQUMsQ0FBQSxhQUFnQixDQUFBLENBQUMsQ0FBQztJQUM5RSxDQUFDO0NBQUE7QUFNRCxNQUFNLE9BQU8seUJBQTZCLFNBQVEsaUJBQW9CO0lBQ2xFLFNBQVMsQ0FBQyxLQUFpQixFQUFFLFFBQWtCO1FBQzNDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3ZFLENBQUM7a0lBTFEseUJBQXlCO2dJQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBSnJDLElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSxrQkFBa0I7aUJBQzNCOztBQWNELHdFQUF3RTtBQUN4RSxNQUFNLE9BQU8sK0JBQW1DLFNBQVEseUJBQTRCO2tJQUF2RSwrQkFBK0I7Z0lBQS9CLCtCQUErQjs7NEZB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QUFDLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBaUIsRUFBRSxPQUF5QjtRQUNqRSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsS0FBVSxFQUFFLEtBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM5RSxDQUFDO2tJQU5RLCtCQUErQjtnSUFBL0IsK0JBQStCOzs0RkFBL0IsK0JBQStCO2tCQUozQyxJQUFJO21CQUFDO29CQUNGLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUUsb0JBQW9CO2lCQUM3Qjs7QUFlRCx3RUFBd0U7QUFDeEUsTUFBTSxPQUFPLHFDQUF5QyxTQUFRLCtCQUFrQztrSUFBbkYscUNBQXFDO2dJQUFyQyxxQ0FBcUM7OzRGQUFyQyxxQ0FBcUM7a0JBTmpELElBQUk7bUJBQUM7b0JBQ0YsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRSw4QkFBOEI7b0JBQ3BDLElBQUksRUFBRSxLQUFLO2lCQUNkIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRlVGltZU9wdGlvbnMgfSBmcm9tICdAa29vYmlxL2RhdGUtZm9ybWF0dGVyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vZGF0ZXRpbWUnO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdHRlciB9IGZyb20gJy4vZm9ybWF0dGVyJztcblxuZXhwb3J0IGNsYXNzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWRhcHRlcjogRGF0ZUFkYXB0ZXI8RD4gPSBpbmplY3QoRGF0ZUFkYXB0ZXI8RD4pO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXI8RD4gPSBpbmplY3QoRGF0ZUZvcm1hdHRlcjxEPik7XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZUxvbmdEYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIGN1cnJZZWFyPzogYm9vbGVhbik6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVMb25nRGF0ZShkYXRlLCBjdXJyWWVhcikgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZUxvbmdEYXRlSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVMb25nRGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIEFic29sdXRlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLmFic29sdXRlTG9uZ0RhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVMb25nRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIEFic29sdXRlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ2Fic29sdXRlU2hvcnREYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZURhdGVTaG9ydEZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgY3VyclllYXI/OiBib29sZWFuKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5hYnNvbHV0ZVNob3J0RGF0ZShkYXRlLCBjdXJyWWVhcikgOiAnJztcbiAgICB9XG59XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZVNob3J0RGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgQWJzb2x1dGVEYXRlU2hvcnRGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVEYXRlU2hvcnRGb3JtYXR0ZXJQaXBlPEQ+IHt9XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdhYnNvbHV0ZVNob3J0RGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIEFic29sdXRlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybSh2YWx1ZTogRCB8IHN0cmluZywgb3B0aW9ucz86IERhdGVUaW1lT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUpO1xuXG4gICAgICAgIHJldHVybiBkYXRlID8gdGhpcy5mb3JtYXR0ZXIuYWJzb2x1dGVTaG9ydERhdGVUaW1lKGRhdGUsIG9wdGlvbnMpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAnYWJzb2x1dGVTaG9ydERhdGVUaW1lSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBBYnNvbHV0ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgQWJzb2x1dGVTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVMb25nRGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5yZWxhdGl2ZUxvbmdEYXRlKGRhdGUpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVMb25nRGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVEYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlRGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlTG9uZ0RhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBEIHwgc3RyaW5nLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGRhdGUgPyB0aGlzLmZvcm1hdHRlci5yZWxhdGl2ZUxvbmdEYXRlVGltZShkYXRlLCBvcHRpb25zKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlTG9uZ0RhdGVUaW1lSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZURhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IHt9XG5cbkBQaXBlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIG5hbWU6ICdyZWxhdGl2ZVNob3J0RGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVTaG9ydERhdGVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlU2hvcnREYXRlKGRhdGUpIDogJyc7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVTaG9ydERhdGVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJlbGF0aXZlU2hvcnREYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlU2hvcnREYXRlRm9ybWF0dGVyUGlwZTxEPiB7fVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmVsYXRpdmVTaG9ydERhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZVNob3J0RGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IEQgfCBzdHJpbmcsIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gZGF0ZSA/IHRoaXMuZm9ybWF0dGVyLnJlbGF0aXZlU2hvcnREYXRlVGltZShkYXRlLCBvcHRpb25zKSA6ICcnO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JlbGF0aXZlU2hvcnREYXRlVGltZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmVsYXRpdmVTaG9ydERhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJlbGF0aXZlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTG9uZ0RhdGUnXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlTG9uZ0RhdGUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmFuZ2VMb25nRGF0ZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmFuZ2VEYXRlRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJhbmdlRGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlclBpcGU8RD4gZXh0ZW5kcyBCYXNlRm9ybWF0dGVyUGlwZTxEPiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybShbdmFsdWUxLCB2YWx1ZTJdOiBEW10gfCBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGUxID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMSk7XG4gICAgICAgIGNvbnN0IGRhdGUyID0gdGhpcy5hZGFwdGVyLmRlc2VyaWFsaXplKHZhbHVlMik7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyLnJhbmdlU2hvcnREYXRlKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlSW1wdXJlUGlwZScsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3VzZS1waXBlLXRyYW5zZm9ybS1pbnRlcmZhY2VcbmV4cG9ydCBjbGFzcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlckltcHVyZVBpcGU8RD4gZXh0ZW5kcyBSYW5nZVNob3J0RGF0ZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTG9uZ0RhdGVUaW1lJ1xufSlcbmV4cG9ydCBjbGFzcyBSYW5nZURhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKFt2YWx1ZTEsIHZhbHVlMl06IERbXSB8IHN0cmluZ1tdLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZTEgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUxKTtcbiAgICAgICAgY29uc3QgZGF0ZTIgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIucmFuZ2VMb25nRGF0ZVRpbWUoZGF0ZTEgYXMgRCwgZGF0ZTIgYXMgRCwgb3B0aW9ucyk7XG4gICAgfVxufVxuXG5AUGlwZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBuYW1lOiAncmFuZ2VMb25nRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJhbmdlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgUmFuZ2VEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTWlkZGxlRGF0ZVRpbWUnXG59KVxuZXhwb3J0IGNsYXNzIFJhbmdlTWlkZGxlRGF0ZVRpbWVGb3JtYXR0ZXJQaXBlPEQ+IGV4dGVuZHMgQmFzZUZvcm1hdHRlclBpcGU8RD4gaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0oW3ZhbHVlMSwgdmFsdWUyXTogRFtdIHwgc3RyaW5nW10sIG9wdGlvbnM/OiBEYXRlVGltZU9wdGlvbnMpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlMSA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTEpO1xuICAgICAgICBjb25zdCBkYXRlMiA9IHRoaXMuYWRhcHRlci5kZXNlcmlhbGl6ZSh2YWx1ZTIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1hdHRlci5yYW5nZU1pZGRsZURhdGVUaW1lKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlTWlkZGxlRGF0ZVRpbWVJbXB1cmVQaXBlJyxcbiAgICBwdXJlOiBmYWxzZVxufSlcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvdXNlLXBpcGUtdHJhbnNmb3JtLWludGVyZmFjZVxuZXhwb3J0IGNsYXNzIFJhbmdlTWlkZGxlRGF0ZVRpbWVGb3JtYXR0ZXJJbXB1cmVQaXBlPEQ+IGV4dGVuZHMgUmFuZ2VNaWRkbGVEYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlVGltZSdcbn0pXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVUaW1lRm9ybWF0dGVyUGlwZTxEPiBleHRlbmRzIEJhc2VGb3JtYXR0ZXJQaXBlPEQ+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKFt2YWx1ZTEsIHZhbHVlMl06IERbXSB8IHN0cmluZ1tdLCBvcHRpb25zPzogRGF0ZVRpbWVPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZGF0ZTEgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUxKTtcbiAgICAgICAgY29uc3QgZGF0ZTIgPSB0aGlzLmFkYXB0ZXIuZGVzZXJpYWxpemUodmFsdWUyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXR0ZXIucmFuZ2VTaG9ydERhdGVUaW1lKGRhdGUxIGFzIEQsIGRhdGUyIGFzIEQsIG9wdGlvbnMpO1xuICAgIH1cbn1cblxuQFBpcGUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgbmFtZTogJ3JhbmdlU2hvcnREYXRlVGltZUltcHVyZVBpcGUnLFxuICAgIHB1cmU6IGZhbHNlXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC91c2UtcGlwZS10cmFuc2Zvcm0taW50ZXJmYWNlXG5leHBvcnQgY2xhc3MgUmFuZ2VTaG9ydERhdGVUaW1lRm9ybWF0dGVySW1wdXJlUGlwZTxEPiBleHRlbmRzIFJhbmdlU2hvcnREYXRlVGltZUZvcm1hdHRlclBpcGU8RD4ge31cbiJdfQ==
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import { enUSFormattersData } from '../../locales';
|
|
3
|
-
/**
|
|
4
|
-
* @deprecated Will be removed in next major release. Use `KbqMeasurementSystem` instead.
|
|
5
|
-
* @docs-private
|
|
6
|
-
*/
|
|
7
|
-
export var MeasurementSystem;
|
|
8
|
-
(function (MeasurementSystem) {
|
|
9
|
-
MeasurementSystem["SI"] = "SI";
|
|
10
|
-
MeasurementSystem["IEC"] = "IEC";
|
|
11
|
-
})(MeasurementSystem || (MeasurementSystem = {}));
|
|
12
|
-
/**
|
|
13
|
-
* Available unit systems for file size formatting.
|
|
14
|
-
* - SI (Metric): 1 KB = 1000 bytes
|
|
15
|
-
* - IEC (Binary): 1 KiB = 1024 bytes
|
|
16
|
-
*/
|
|
17
|
-
export var KbqMeasurementSystem;
|
|
18
|
-
(function (KbqMeasurementSystem) {
|
|
19
|
-
KbqMeasurementSystem["SI"] = "SI";
|
|
20
|
-
KbqMeasurementSystem["IEC"] = "IEC";
|
|
21
|
-
})(KbqMeasurementSystem || (KbqMeasurementSystem = {}));
|
|
22
|
-
export const KBQ_SIZE_UNITS_DEFAULT_CONFIG = enUSFormattersData.sizeUnits;
|
|
23
|
-
/**
|
|
24
|
-
* Configuration for converting sizes in different unit systems.
|
|
25
|
-
*/
|
|
26
|
-
export const KBQ_SIZE_UNITS_CONFIG = new InjectionToken('KbqSizeUnitsConfig');
|
|
27
|
-
/** Utility provider for `KBQ_SIZE_UNITS_CONFIG`. */
|
|
28
|
-
export const kbqFilesizeFormatterConfigurationProvider = (configuration) => ({
|
|
29
|
-
provide: KBQ_SIZE_UNITS_CONFIG,
|
|
30
|
-
useValue: { ...KBQ_SIZE_UNITS_DEFAULT_CONFIG, ...configuration }
|
|
31
|
-
});
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL2Zvcm1hdHRlcnMvZmlsZXNpemUvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5EOzs7R0FHRztBQUNILE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsOEJBQVMsQ0FBQTtJQUNULGdDQUFXLENBQUE7QUFDZixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzVCLGlDQUFTLENBQUE7SUFDVCxtQ0FBVyxDQUFBO0FBQ2YsQ0FBQyxFQUhXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFHL0I7QUErQ0QsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQXVCLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztBQUU5Rjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFxQixvQkFBb0IsQ0FBQyxDQUFDO0FBRWxHLG9EQUFvRDtBQUNwRCxNQUFNLENBQUMsTUFBTSx5Q0FBeUMsR0FBRyxDQUFDLGFBQTBDLEVBQVksRUFBRSxDQUFDLENBQUM7SUFDaEgsT0FBTyxFQUFFLHFCQUFxQjtJQUM5QixRQUFRLEVBQUUsRUFBRSxHQUFHLDZCQUE2QixFQUFFLEdBQUcsYUFBYSxFQUFFO0NBQ25FLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZW5VU0Zvcm1hdHRlcnNEYXRhIH0gZnJvbSAnLi4vLi4vbG9jYWxlcyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgcmVsZWFzZS4gVXNlIGBLYnFNZWFzdXJlbWVudFN5c3RlbWAgaW5zdGVhZC5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGVudW0gTWVhc3VyZW1lbnRTeXN0ZW0ge1xuICAgIFNJID0gJ1NJJyxcbiAgICBJRUMgPSAnSUVDJ1xufVxuXG4vKipcbiAqIEF2YWlsYWJsZSB1bml0IHN5c3RlbXMgZm9yIGZpbGUgc2l6ZSBmb3JtYXR0aW5nLlxuICogLSBTSSAoTWV0cmljKTogMSBLQiA9IDEwMDAgYnl0ZXNcbiAqIC0gSUVDIChCaW5hcnkpOiAxIEtpQiA9IDEwMjQgYnl0ZXNcbiAqL1xuZXhwb3J0IGVudW0gS2JxTWVhc3VyZW1lbnRTeXN0ZW0ge1xuICAgIFNJID0gJ1NJJyxcbiAgICBJRUMgPSAnSUVDJ1xufVxuXG4vKiogVW5pdCBzeXN0ZW1zIGFzIHVuaW9uIHR5cGUgKi9cbmV4cG9ydCB0eXBlIEticU1lYXN1cmVtZW50U3lzdGVtVHlwZSA9IGtleW9mIHR5cGVvZiBLYnFNZWFzdXJlbWVudFN5c3RlbTtcblxuZXhwb3J0IGludGVyZmFjZSBLYnFVbml0U3lzdGVtIHtcbiAgICBhYmJyZXZpYXRpb25zOiBzdHJpbmdbXTtcbiAgICBiYXNlOiBudW1iZXI7XG4gICAgcG93ZXI6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gbmV4dCBtYWpvciByZWxlYXNlLiBVc2UgYEticVNpemVVbml0c0NvbmZpZ2AgaW5zdGVhZC5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaXplVW5pdHNDb25maWcge1xuICAgIGRlZmF1bHRVbml0U3lzdGVtOiBzdHJpbmc7XG4gICAgZGVmYXVsdFByZWNpc2lvbjogbnVtYmVyO1xuICAgIHVuaXRTeXN0ZW1zOiB7XG4gICAgICAgIFtNZWFzdXJlbWVudFN5c3RlbS5TSV06IEticVVuaXRTeXN0ZW07XG4gICAgICAgIFtNZWFzdXJlbWVudFN5c3RlbS5JRUNdOiBLYnFVbml0U3lzdGVtO1xuICAgIH07XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgZmlsZSBzaXplIGZvcm1hdHRpbmcgb3B0aW9ucy5cbiAqIERlZmluZXMgdGhlIGRlZmF1bHQgdW5pdCBzeXN0ZW0sIHByZWNpc2lvbiwgYW5kIGF2YWlsYWJsZSB1bml0IHN5c3RlbXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2JxU2l6ZVVuaXRzQ29uZmlnIHtcbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IHVuaXQgc3lzdGVtIHRvIHVzZSAoZS5nLiwgJ1NJJyBvciAnSUVDJykuXG4gICAgICogQHNlZSBLYnFNZWFzdXJlbWVudFN5c3RlbVxuICAgICAqL1xuICAgIGRlZmF1bHRVbml0U3lzdGVtOiBLYnFNZWFzdXJlbWVudFN5c3RlbVR5cGU7XG4gICAgLyoqXG4gICAgICogRGVmYXVsdCBudW1iZXIgb2YgZGVjaW1hbCBwbGFjZXMgdG8gZGlzcGxheSBpbiBmb3JtYXR0ZWQgb3V0cHV0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYDJgIOKGkiBcIjEuMjMgS0JcIlxuICAgICAqL1xuICAgIGRlZmF1bHRQcmVjaXNpb246IG51bWJlcjtcbiAgICAvKiogQHNlZSBLYnFNZWFzdXJlbWVudFN5c3RlbSAqL1xuICAgIHVuaXRTeXN0ZW1zOiB7XG4gICAgICAgIFtLYnFNZWFzdXJlbWVudFN5c3RlbS5TSV06IEticVVuaXRTeXN0ZW07XG4gICAgICAgIFtLYnFNZWFzdXJlbWVudFN5c3RlbS5JRUNdOiBLYnFVbml0U3lzdGVtO1xuICAgIH07XG59XG5cbmV4cG9ydCBjb25zdCBLQlFfU0laRV9VTklUU19ERUZBVUxUX0NPTkZJRzogS2JxU2l6ZVVuaXRzQ29uZmlnID0gZW5VU0Zvcm1hdHRlcnNEYXRhLnNpemVVbml0cztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBjb252ZXJ0aW5nIHNpemVzIGluIGRpZmZlcmVudCB1bml0IHN5c3RlbXMuXG4gKi9cbmV4cG9ydCBjb25zdCBLQlFfU0laRV9VTklUU19DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48S2JxU2l6ZVVuaXRzQ29uZmlnPignS2JxU2l6ZVVuaXRzQ29uZmlnJyk7XG5cbi8qKiBVdGlsaXR5IHByb3ZpZGVyIGZvciBgS0JRX1NJWkVfVU5JVFNfQ09ORklHYC4gKi9cbmV4cG9ydCBjb25zdCBrYnFGaWxlc2l6ZUZvcm1hdHRlckNvbmZpZ3VyYXRpb25Qcm92aWRlciA9IChjb25maWd1cmF0aW9uOiBQYXJ0aWFsPEticVNpemVVbml0c0NvbmZpZz4pOiBQcm92aWRlciA9PiAoe1xuICAgIHByb3ZpZGU6IEtCUV9TSVpFX1VOSVRTX0NPTkZJRyxcbiAgICB1c2VWYWx1ZTogeyAuLi5LQlFfU0laRV9VTklUU19ERUZBVUxUX0NPTkZJRywgLi4uY29uZmlndXJhdGlvbiB9XG59KTtcbiJdfQ==
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { inject, Pipe } from '@angular/core';
|
|
2
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
-
import { KBQ_DEFAULT_LOCALE_ID, KBQ_LOCALE_SERVICE } from '../../locales';
|
|
4
|
-
import { KbqDecimalPipe } from '../number/formatter';
|
|
5
|
-
import { KBQ_SIZE_UNITS_CONFIG, KBQ_SIZE_UNITS_DEFAULT_CONFIG } from './config';
|
|
6
|
-
import { getFormattedSizeParts } from './size';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
export class KbqDataSizePipe {
|
|
9
|
-
constructor() {
|
|
10
|
-
/** Injects the external configuration for size units, if available. */
|
|
11
|
-
this.externalConfig = inject(KBQ_SIZE_UNITS_CONFIG, { optional: true });
|
|
12
|
-
this.localeService = inject(KBQ_LOCALE_SERVICE, { optional: true });
|
|
13
|
-
this.numberPipe = inject(KbqDecimalPipe, { optional: true });
|
|
14
|
-
this.nonBreakingSpace = '\u00a0';
|
|
15
|
-
this.updateLocaleParams = () => {
|
|
16
|
-
this.config = this.externalConfig || this.localeService?.getParams('sizeUnits');
|
|
17
|
-
};
|
|
18
|
-
this.localeService?.changes.pipe(takeUntilDestroyed()).subscribe(this.updateLocaleParams);
|
|
19
|
-
if (!this.localeService) {
|
|
20
|
-
this.config = this.externalConfig || KBQ_SIZE_UNITS_DEFAULT_CONFIG;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
/** Transforms bytes into localized size string */
|
|
24
|
-
transform(source, precision = this.config.defaultPrecision, unitSystemName = this.config.defaultUnitSystem, locale = this.localeService?.id || KBQ_DEFAULT_LOCALE_ID) {
|
|
25
|
-
const resolvedUnitSystems = this.localeService
|
|
26
|
-
? this.localeService.locales[locale].sizeUnits.unitSystems
|
|
27
|
-
: this.config.unitSystems;
|
|
28
|
-
const { value, unit } = getFormattedSizeParts(source, resolvedUnitSystems[unitSystemName]);
|
|
29
|
-
const formattedValue = this.numberPipe?.transform(value, `1.0-${precision}`, locale) || value;
|
|
30
|
-
return formattedValue ? `${formattedValue}${this.nonBreakingSpace}${unit}` : '';
|
|
31
|
-
}
|
|
32
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqDataSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
33
|
-
/** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: KbqDataSizePipe, isStandalone: true, name: "kbqDataSize", pure: false }); }
|
|
34
|
-
}
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KbqDataSizePipe, decorators: [{
|
|
36
|
-
type: Pipe,
|
|
37
|
-
args: [{
|
|
38
|
-
name: 'kbqDataSize',
|
|
39
|
-
standalone: true,
|
|
40
|
-
pure: false
|
|
41
|
-
}]
|
|
42
|
-
}], ctorParameters: () => [] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy9jb3JlL2Zvcm1hdHRlcnMvZmlsZXNpemUvZm9ybWF0dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsNkJBQTZCLEVBS2hDLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7QUFPL0MsTUFBTSxPQUFPLGVBQWU7SUFTeEI7UUFSQSx1RUFBdUU7UUFDOUQsbUJBQWMsR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUUzRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELGVBQVUsR0FBRyxNQUFNLENBQUMsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEQscUJBQWdCLEdBQUcsUUFBUSxDQUFDO1FBNkJyQyx1QkFBa0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BGLENBQUMsQ0FBQztRQTNCRSxJQUFJLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUUxRixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsSUFBSSw2QkFBNkIsQ0FBQztRQUN2RSxDQUFDO0lBQ0wsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxTQUFTLENBQ0wsTUFBYyxFQUNkLFlBQW9CLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLEVBQ2hELGlCQUEyQyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUN4RSxTQUFpQixJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsSUFBSSxxQkFBcUI7UUFFaEUsTUFBTSxtQkFBbUIsR0FBZ0QsSUFBSSxDQUFDLGFBQWE7WUFDdkYsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXO1lBQzFELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUU5QixNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBRTNGLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLEtBQUssRUFBRSxPQUFPLFNBQVMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQztRQUU5RixPQUFPLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDcEYsQ0FBQztrSUFqQ1EsZUFBZTtnSUFBZixlQUFlOzs0RkFBZixlQUFlO2tCQUwzQixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxhQUFhO29CQUNuQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFLEtBQUs7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEtCUV9ERUZBVUxUX0xPQ0FMRV9JRCwgS0JRX0xPQ0FMRV9TRVJWSUNFIH0gZnJvbSAnLi4vLi4vbG9jYWxlcyc7XG5pbXBvcnQgeyBLYnFEZWNpbWFsUGlwZSB9IGZyb20gJy4uL251bWJlci9mb3JtYXR0ZXInO1xuaW1wb3J0IHtcbiAgICBLQlFfU0laRV9VTklUU19DT05GSUcsXG4gICAgS0JRX1NJWkVfVU5JVFNfREVGQVVMVF9DT05GSUcsXG4gICAgS2JxTWVhc3VyZW1lbnRTeXN0ZW0sXG4gICAgS2JxTWVhc3VyZW1lbnRTeXN0ZW1UeXBlLFxuICAgIEticVNpemVVbml0c0NvbmZpZyxcbiAgICBLYnFVbml0U3lzdGVtXG59IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IGdldEZvcm1hdHRlZFNpemVQYXJ0cyB9IGZyb20gJy4vc2l6ZSc7XG5cbkBQaXBlKHtcbiAgICBuYW1lOiAna2JxRGF0YVNpemUnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHVyZTogZmFsc2Vcbn0pXG5leHBvcnQgY2xhc3MgS2JxRGF0YVNpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgLyoqIEluamVjdHMgdGhlIGV4dGVybmFsIGNvbmZpZ3VyYXRpb24gZm9yIHNpemUgdW5pdHMsIGlmIGF2YWlsYWJsZS4gKi9cbiAgICByZWFkb25seSBleHRlcm5hbENvbmZpZyA9IGluamVjdChLQlFfU0laRV9VTklUU19DT05GSUcsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvY2FsZVNlcnZpY2UgPSBpbmplY3QoS0JRX0xPQ0FMRV9TRVJWSUNFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbnVtYmVyUGlwZSA9IGluamVjdChLYnFEZWNpbWFsUGlwZSwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5vbkJyZWFraW5nU3BhY2UgPSAnXFx1MDBhMCc7XG4gICAgcHJpdmF0ZSBjb25maWc6IEticVNpemVVbml0c0NvbmZpZztcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLmxvY2FsZVNlcnZpY2U/LmNoYW5nZXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSkuc3Vic2NyaWJlKHRoaXMudXBkYXRlTG9jYWxlUGFyYW1zKTtcblxuICAgICAgICBpZiAoIXRoaXMubG9jYWxlU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5jb25maWcgPSB0aGlzLmV4dGVybmFsQ29uZmlnIHx8IEtCUV9TSVpFX1VOSVRTX0RFRkFVTFRfQ09ORklHO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFRyYW5zZm9ybXMgYnl0ZXMgaW50byBsb2NhbGl6ZWQgc2l6ZSBzdHJpbmcgKi9cbiAgICB0cmFuc2Zvcm0oXG4gICAgICAgIHNvdXJjZTogbnVtYmVyLFxuICAgICAgICBwcmVjaXNpb246IG51bWJlciA9IHRoaXMuY29uZmlnLmRlZmF1bHRQcmVjaXNpb24sXG4gICAgICAgIHVuaXRTeXN0ZW1OYW1lOiBLYnFNZWFzdXJlbWVudFN5c3RlbVR5cGUgPSB0aGlzLmNvbmZpZy5kZWZhdWx0VW5pdFN5c3RlbSxcbiAgICAgICAgbG9jYWxlOiBzdHJpbmcgPSB0aGlzLmxvY2FsZVNlcnZpY2U/LmlkIHx8IEtCUV9ERUZBVUxUX0xPQ0FMRV9JRFxuICAgICk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkVW5pdFN5c3RlbXM6IFJlY29yZDxLYnFNZWFzdXJlbWVudFN5c3RlbSwgS2JxVW5pdFN5c3RlbT4gPSB0aGlzLmxvY2FsZVNlcnZpY2VcbiAgICAgICAgICAgID8gdGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsZXNbbG9jYWxlXS5zaXplVW5pdHMudW5pdFN5c3RlbXNcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcudW5pdFN5c3RlbXM7XG5cbiAgICAgICAgY29uc3QgeyB2YWx1ZSwgdW5pdCB9ID0gZ2V0Rm9ybWF0dGVkU2l6ZVBhcnRzKHNvdXJjZSwgcmVzb2x2ZWRVbml0U3lzdGVtc1t1bml0U3lzdGVtTmFtZV0pO1xuXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID0gdGhpcy5udW1iZXJQaXBlPy50cmFuc2Zvcm0odmFsdWUsIGAxLjAtJHtwcmVjaXNpb259YCwgbG9jYWxlKSB8fCB2YWx1ZTtcblxuICAgICAgICByZXR1cm4gZm9ybWF0dGVkVmFsdWUgPyBgJHtmb3JtYXR0ZWRWYWx1ZX0ke3RoaXMubm9uQnJlYWtpbmdTcGFjZX0ke3VuaXR9YCA6ICcnO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTG9jYWxlUGFyYW1zID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IHRoaXMuZXh0ZXJuYWxDb25maWcgfHwgdGhpcy5sb2NhbGVTZXJ2aWNlPy5nZXRQYXJhbXMoJ3NpemVVbml0cycpO1xuICAgIH07XG59XG4iXX0=
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from './config';
|
|
2
|
-
export * from './formatter';
|
|
3
|
-
export * from './size';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL2NvcmUvZm9ybWF0dGVycy9maWxlc2l6ZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWF0dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc2l6ZSc7XG4iXX0=
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
export const KBQ_INVALID_VALUE_ERROR = 'Argument "value" must be a finite number!';
|
|
2
|
-
/**
|
|
3
|
-
* @deprecated Will be removed in next major release. Use `getFormattedSizeParts` instead.
|
|
4
|
-
* @docs-private
|
|
5
|
-
*/
|
|
6
|
-
export const formatDataSize = (value, precision, system) => {
|
|
7
|
-
const { result, unit } = getHumanizedBytes(value, system);
|
|
8
|
-
let volume;
|
|
9
|
-
if (system.abbreviations[0] === unit) {
|
|
10
|
-
volume = result.toString();
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
volume = result.toFixed(precision).replace(/\./g, ',');
|
|
14
|
-
}
|
|
15
|
-
return {
|
|
16
|
-
value: volume,
|
|
17
|
-
unit
|
|
18
|
-
};
|
|
19
|
-
};
|
|
20
|
-
export function getFormattedSizeParts(value, _precision, system) {
|
|
21
|
-
let resolvedSystem = null;
|
|
22
|
-
if (arguments.length === 2 && typeof _precision === 'object') {
|
|
23
|
-
resolvedSystem = _precision;
|
|
24
|
-
}
|
|
25
|
-
if (arguments.length === 3 && typeof _precision === 'number' && system) {
|
|
26
|
-
resolvedSystem = system;
|
|
27
|
-
}
|
|
28
|
-
if (!resolvedSystem) {
|
|
29
|
-
throw new Error('Unexpected arguments size');
|
|
30
|
-
}
|
|
31
|
-
const { result, unit } = getHumanizedBytes(value, resolvedSystem);
|
|
32
|
-
return {
|
|
33
|
-
value: result.toString(),
|
|
34
|
-
unit
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Converts bytes to Kb, Mb, Gb
|
|
39
|
-
*
|
|
40
|
-
* @param value the number of bytes
|
|
41
|
-
* @param system the measurement system
|
|
42
|
-
* @param threshold the lower counting threshold
|
|
43
|
-
*/
|
|
44
|
-
export const getHumanizedBytes = (value, system, threshold) => {
|
|
45
|
-
if (!Number.isFinite(value)) {
|
|
46
|
-
throw new Error(KBQ_INVALID_VALUE_ERROR);
|
|
47
|
-
}
|
|
48
|
-
const calculatedThreshold = Number.isFinite(threshold) ? threshold : Math.pow(system.base, system.power);
|
|
49
|
-
const orderOfMagnitude = Math.pow(system.base, system.power);
|
|
50
|
-
let result = value;
|
|
51
|
-
let step = 0;
|
|
52
|
-
const len = system.abbreviations.length - 1;
|
|
53
|
-
while (step < len) {
|
|
54
|
-
if (calculatedThreshold !== undefined && result < calculatedThreshold) {
|
|
55
|
-
break;
|
|
56
|
-
}
|
|
57
|
-
step++;
|
|
58
|
-
result = value / Math.pow(orderOfMagnitude, step);
|
|
59
|
-
}
|
|
60
|
-
return {
|
|
61
|
-
result,
|
|
62
|
-
unit: system.abbreviations[step]
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvY29yZS9mb3JtYXR0ZXJzL2ZpbGVzaXplL3NpemUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsMkNBQTJDLENBQUM7QUFFbkY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzFCLEtBQWEsRUFDYixTQUFpQixFQUNqQixNQUFxQixFQUNVLEVBQUU7SUFDakMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUQsSUFBSSxNQUFjLENBQUM7SUFFbkIsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ25DLE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDL0IsQ0FBQztTQUFNLENBQUM7UUFDSixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxPQUFPO1FBQ0gsS0FBSyxFQUFFLE1BQU07UUFDYixJQUFJO0tBQ1AsQ0FBQztBQUNOLENBQUMsQ0FBQztBQStCRixNQUFNLFVBQVUscUJBQXFCLENBQ2pDLEtBQWEsRUFDYixVQUFrQyxFQUNsQyxNQUFzQjtJQUV0QixJQUFJLGNBQWMsR0FBeUIsSUFBSSxDQUFDO0lBRWhELElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDM0QsY0FBYyxHQUFHLFVBQWtDLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3JFLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBRWxFLE9BQU87UUFDSCxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUN4QixJQUFJO0tBQ1AsQ0FBQztBQUNOLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUM3QixLQUFhLEVBQ2IsTUFBcUIsRUFDckIsU0FBa0IsRUFDYyxFQUFFO0lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RyxNQUFNLGdCQUFnQixHQUFXLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFckUsSUFBSSxNQUFNLEdBQVcsS0FBSyxDQUFDO0lBQzNCLElBQUksSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNiLE1BQU0sR0FBRyxHQUFXLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUVwRCxPQUFPLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLG1CQUFtQixLQUFLLFNBQVMsSUFBSSxNQUFNLEdBQUcsbUJBQW1CLEVBQUUsQ0FBQztZQUNwRSxNQUFNO1FBQ1YsQ0FBQztRQUVELElBQUksRUFBRSxDQUFDO1FBQ1AsTUFBTSxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxPQUFPO1FBQ0gsTUFBTTtRQUNOLElBQUksRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztLQUNuQyxDQUFDO0FBQ04sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgS2JxVW5pdFN5c3RlbSB9IGZyb20gJy4vY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IEtCUV9JTlZBTElEX1ZBTFVFX0VSUk9SID0gJ0FyZ3VtZW50IFwidmFsdWVcIiBtdXN0IGJlIGEgZmluaXRlIG51bWJlciEnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiBuZXh0IG1ham9yIHJlbGVhc2UuIFVzZSBgZ2V0Rm9ybWF0dGVkU2l6ZVBhcnRzYCBpbnN0ZWFkLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0RGF0YVNpemUgPSAoXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBwcmVjaXNpb246IG51bWJlcixcbiAgICBzeXN0ZW06IEticVVuaXRTeXN0ZW1cbik6IHsgdmFsdWU6IHN0cmluZzsgdW5pdDogc3RyaW5nIH0gPT4ge1xuICAgIGNvbnN0IHsgcmVzdWx0LCB1bml0IH0gPSBnZXRIdW1hbml6ZWRCeXRlcyh2YWx1ZSwgc3lzdGVtKTtcbiAgICBsZXQgdm9sdW1lOiBzdHJpbmc7XG5cbiAgICBpZiAoc3lzdGVtLmFiYnJldmlhdGlvbnNbMF0gPT09IHVuaXQpIHtcbiAgICAgICAgdm9sdW1lID0gcmVzdWx0LnRvU3RyaW5nKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgdm9sdW1lID0gcmVzdWx0LnRvRml4ZWQocHJlY2lzaW9uKS5yZXBsYWNlKC9cXC4vZywgJywnKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB2YWx1ZTogdm9sdW1lLFxuICAgICAgICB1bml0XG4gICAgfTtcbn07XG5cbi8qKlxuICogQ29udmVydHMgYSBieXRlIHZhbHVlIGludG8gbG9jYWxlLWluZGVwZW5kZW50IGZpbGUgc2l6ZSBwYXJ0czogbnVtZXJpYyB2YWx1ZSBhbmQgdW5pdCBhYmJyZXZpYXRpb24uXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gc2l6ZSBpbiBieXRlcy5cbiAqIEBwYXJhbSBzeXN0ZW0gLSB1bml0IHN5c3RlbSBkZWZpbmluZyBhYmJyZXZpYXRpb25zIGFuZCBiYXNlIHNjYWxpbmcgKFNJL0lFQykuXG4gKiBAcmV0dXJucyBPYmplY3Qgd2l0aCB0aGUgZm9ybWF0dGVkIHNpemUgaW5mby5cbiAqXG4gKiBAZXhhbXBsZVxuICogZ2V0Rm9ybWF0dGVkU2l6ZVBhcnRzKDE1MDAsICdTSScpOyAvLyB7IHZhbHVlOiBcIjEuNTBcIiwgdW5pdDogXCJLQlwiIH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvcm1hdHRlZFNpemVQYXJ0cyh2YWx1ZTogbnVtYmVyLCBzeXN0ZW06IEticVVuaXRTeXN0ZW0pOiB7IHZhbHVlOiBzdHJpbmc7IHVuaXQ6IHN0cmluZyB9O1xuLyoqXG4gKiBDb252ZXJ0cyBhIGJ5dGUgdmFsdWUgaW50byBsb2NhbGUtaW5kZXBlbmRlbnQgZmlsZSBzaXplIHBhcnRzOiBudW1lcmljIHZhbHVlIGFuZCB1bml0IGFiYnJldmlhdGlvbi5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBzaXplIGluIGJ5dGVzLlxuICogQHBhcmFtIF9wcmVjaXNpb24gcGFyYW0gaXMgZGVwcmVjYXRlZCwgdXNlIGBJbnRsLk51bWJlckZvcm1hdGAgcm91bmRpbmcgb3B0aW9ucyBpbnN0ZWFkLlxuICogQHBhcmFtIHN5c3RlbSAtIHVuaXQgc3lzdGVtIGRlZmluaW5nIGFiYnJldmlhdGlvbnMgYW5kIGJhc2Ugc2NhbGluZyAoU0kvSUVDKS5cbiAqIEByZXR1cm5zIE9iamVjdCB3aXRoIHRoZSBmb3JtYXR0ZWQgc2l6ZSBpbmZvLlxuICogQGRlcHJlY2F0ZWQgYF9wcmVjaXNpb25gIC0gdGhpcyBwYXJhbSB3aWxsIGJlIHJlbW92ZSBpbiBuZXh0IG1ham9yIHZlcnNpb24uXG4gKiBAVE9ETyByZW1vdmUgZGVwcmVjYXRlZCAoI0RTLTM4NDkpLlxuICpcbiAqIEBleGFtcGxlXG4gKiBnZXRGb3JtYXR0ZWRTaXplUGFydHMoMTUwMCwgMiwgJ1NJJyk7IC8vIHsgdmFsdWU6IFwiMS41MFwiLCB1bml0OiBcIktCXCIgfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Rm9ybWF0dGVkU2l6ZVBhcnRzKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgX3ByZWNpc2lvbjogbnVtYmVyLFxuICAgIHN5c3RlbTogS2JxVW5pdFN5c3RlbVxuKTogeyB2YWx1ZTogc3RyaW5nOyB1bml0OiBzdHJpbmcgfTtcbmV4cG9ydCBmdW5jdGlvbiBnZXRGb3JtYXR0ZWRTaXplUGFydHMoXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBfcHJlY2lzaW9uOiBudW1iZXIgfCBLYnFVbml0U3lzdGVtLFxuICAgIHN5c3RlbT86IEticVVuaXRTeXN0ZW1cbik6IHsgdmFsdWU6IHN0cmluZzsgdW5pdDogc3RyaW5nIH0ge1xuICAgIGxldCByZXNvbHZlZFN5c3RlbTogS2JxVW5pdFN5c3RlbSB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIgJiYgdHlwZW9mIF9wcmVjaXNpb24gPT09ICdvYmplY3QnKSB7XG4gICAgICAgIHJlc29sdmVkU3lzdGVtID0gX3ByZWNpc2lvbiBzYXRpc2ZpZXMgS2JxVW5pdFN5c3RlbTtcbiAgICB9XG5cbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMyAmJiB0eXBlb2YgX3ByZWNpc2lvbiA9PT0gJ251bWJlcicgJiYgc3lzdGVtKSB7XG4gICAgICAgIHJlc29sdmVkU3lzdGVtID0gc3lzdGVtO1xuICAgIH1cblxuICAgIGlmICghcmVzb2x2ZWRTeXN0ZW0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmV4cGVjdGVkIGFyZ3VtZW50cyBzaXplJyk7XG4gICAgfVxuXG4gICAgY29uc3QgeyByZXN1bHQsIHVuaXQgfSA9IGdldEh1bWFuaXplZEJ5dGVzKHZhbHVlLCByZXNvbHZlZFN5c3RlbSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgICB2YWx1ZTogcmVzdWx0LnRvU3RyaW5nKCksXG4gICAgICAgIHVuaXRcbiAgICB9O1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGJ5dGVzIHRvIEtiLCBNYiwgR2JcbiAqXG4gKiBAcGFyYW0gdmFsdWUgdGhlIG51bWJlciBvZiBieXRlc1xuICogQHBhcmFtIHN5c3RlbSB0aGUgbWVhc3VyZW1lbnQgc3lzdGVtXG4gKiBAcGFyYW0gdGhyZXNob2xkIHRoZSBsb3dlciBjb3VudGluZyB0aHJlc2hvbGRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEh1bWFuaXplZEJ5dGVzID0gKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgc3lzdGVtOiBLYnFVbml0U3lzdGVtLFxuICAgIHRocmVzaG9sZD86IG51bWJlclxuKTogeyByZXN1bHQ6IG51bWJlcjsgdW5pdDogc3RyaW5nIH0gPT4ge1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoS0JRX0lOVkFMSURfVkFMVUVfRVJST1IpO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbGN1bGF0ZWRUaHJlc2hvbGQgPSBOdW1iZXIuaXNGaW5pdGUodGhyZXNob2xkKSA/IHRocmVzaG9sZCA6IE1hdGgucG93KHN5c3RlbS5iYXNlLCBzeXN0ZW0ucG93ZXIpO1xuICAgIGNvbnN0IG9yZGVyT2ZNYWduaXR1ZGU6IG51bWJlciA9IE1hdGgucG93KHN5c3RlbS5iYXNlLCBzeXN0ZW0ucG93ZXIpO1xuXG4gICAgbGV0IHJlc3VsdDogbnVtYmVyID0gdmFsdWU7XG4gICAgbGV0IHN0ZXAgPSAwO1xuICAgIGNvbnN0IGxlbjogbnVtYmVyID0gc3lzdGVtLmFiYnJldmlhdGlvbnMubGVuZ3RoIC0gMTtcblxuICAgIHdoaWxlIChzdGVwIDwgbGVuKSB7XG4gICAgICAgIGlmIChjYWxjdWxhdGVkVGhyZXNob2xkICE9PSB1bmRlZmluZWQgJiYgcmVzdWx0IDwgY2FsY3VsYXRlZFRocmVzaG9sZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBzdGVwKys7XG4gICAgICAgIHJlc3VsdCA9IHZhbHVlIC8gTWF0aC5wb3cob3JkZXJPZk1hZ25pdHVkZSwgc3RlcCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVzdWx0LFxuICAgICAgICB1bml0OiBzeXN0ZW0uYWJicmV2aWF0aW9uc1tzdGVwXVxuICAgIH07XG59O1xuIl19
|