@rivet-health/design-system 40.44.0 → 40.44.2
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/{esm2020 → esm2022}/lib/accessibility/sr-only/sr-only.component.mjs +4 -4
- package/esm2022/lib/download/download.service.mjs +47 -0
- package/{esm2020 → esm2022}/lib/format/pipes/common.mjs +5 -5
- package/{esm2020 → esm2022}/lib/format/pipes/date.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/format/pipes/days.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/format/pipes/dollars.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/format/pipes/number.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/format/pipes/percentage.pipe.mjs +4 -4
- package/esm2022/lib/format/pipes/sentence-case.pipe.mjs +61 -0
- package/esm2022/lib/format/pipes/small-currency.pipe.mjs +24 -0
- package/esm2022/lib/format/pipes/small-number.pipe.mjs +29 -0
- package/esm2022/lib/format/svg-text-truncate/svg-text-truncate.directive.mjs +62 -0
- package/esm2022/lib/format/truncate/truncate.component.mjs +51 -0
- package/esm2022/lib/icon/dom-cache.mjs +32 -0
- package/esm2022/lib/icon/icon.component.mjs +86 -0
- package/{esm2020 → esm2022}/lib/icon/icons.mjs +1 -1
- package/{esm2020 → esm2022}/lib/input/alphabetic-field/alphabetic-field.component.mjs +4 -4
- package/esm2022/lib/input/auto-focus/auto-focus.directive.mjs +48 -0
- package/esm2022/lib/input/button/button.component.mjs +139 -0
- package/esm2022/lib/input/button-group/button-group.component.mjs +39 -0
- package/{esm2020 → esm2022}/lib/input/calendar/calendar.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/input/card-checkbox/card-checkbox.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/input/checkbox/checkbox.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/input/currency-field/currency-field.component.mjs +4 -4
- package/esm2022/lib/input/date/date.component.mjs +279 -0
- package/esm2022/lib/input/date-range/date-range.component.mjs +477 -0
- package/esm2022/lib/input/filter-chip/filter-chip.component.mjs +47 -0
- package/{esm2020 → esm2022}/lib/input/filter-dropdown/filter-dropdown.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/input/input-label/input-label.component.mjs +4 -4
- package/esm2022/lib/input/mentions-input/mentions-input.component.mjs +745 -0
- package/esm2022/lib/input/number-field/number-field.component.mjs +125 -0
- package/{esm2020 → esm2022}/lib/input/percentage-field/percentage-field.component.mjs +4 -4
- package/esm2022/lib/input/phone-field/phone-field.component.mjs +74 -0
- package/{esm2020 → esm2022}/lib/input/radio/radio.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/input/search/search.component.mjs +4 -4
- package/esm2022/lib/input/search-select/search-select.component.mjs +189 -0
- package/esm2022/lib/input/select/select/select.component.mjs +178 -0
- package/{esm2020 → esm2022}/lib/input/select/select-node/select-node.component.mjs +4 -4
- package/esm2022/lib/input/select/state.mjs +882 -0
- package/{esm2020 → esm2022}/lib/input/simple-select/option-group.pipe.mjs +4 -4
- package/esm2022/lib/input/simple-select/simple-select.component.mjs +178 -0
- package/esm2022/lib/input/switch-checkbox/switch-checkbox.component.mjs +33 -0
- package/esm2022/lib/input/text-field/text-field.component.mjs +115 -0
- package/{esm2020 → esm2022}/lib/input/textarea-field/textarea-field.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/input/validation-message/validation-message.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/layout/card/card-actions.component.mjs +4 -4
- package/esm2022/lib/layout/card/card-content.component.mjs +64 -0
- package/esm2022/lib/layout/card/card-header.component.mjs +201 -0
- package/{esm2020 → esm2022}/lib/layout/card/card-link.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/card/card-media.component.mjs +4 -4
- package/esm2022/lib/layout/card/card.component.mjs +291 -0
- package/{esm2020 → esm2022}/lib/layout/setting-row/setting-row.component.mjs +4 -4
- package/esm2022/lib/load/loading/loading.component.mjs +43 -0
- package/{esm2020 → esm2022}/lib/load/loading-cover/loading-cover.component.mjs +4 -4
- package/esm2022/lib/navigation/editable-heading/editable-heading.component.mjs +243 -0
- package/{esm2020 → esm2022}/lib/navigation/link/link.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/navigation/page-header/page-header.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/simple-tabs/simple-tab/simple-tab.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/simple-tabs/simple-tabs/simple-tabs.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/tabs/tab/tab.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/tabs/tabs/tabs.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/views/all-views-modal/all-views-modal.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/navigation/views/edit-view/edit-view.component.mjs +9 -9
- package/esm2022/lib/navigation/views/permission-picker/permission-picker.component.mjs +151 -0
- package/esm2022/lib/navigation/views/state.mjs +456 -0
- package/{esm2020 → esm2022}/lib/navigation/views/view-menu/view-menu.component.mjs +5 -5
- package/esm2022/lib/navigation/views/views/views.component.mjs +90 -0
- package/{esm2020 → esm2022}/lib/notification/badge/badge.component.mjs +4 -4
- package/esm2022/lib/notification/banner/banner-action.component.mjs +48 -0
- package/esm2022/lib/notification/banner/banner.component.mjs +61 -0
- package/esm2022/lib/notification/map-indicator/map-indicator.component.mjs +50 -0
- package/esm2022/lib/notification/map-indicator/map-indicators.mjs +15 -0
- package/{esm2020 → esm2022}/lib/notification/notification-badge/notification-badge.component.mjs +4 -4
- package/esm2022/lib/overlay/callout/callout.component.mjs +130 -0
- package/esm2022/lib/overlay/callout/callout.helpers.mjs +113 -0
- package/{esm2020 → esm2022}/lib/overlay/callout/help/help.component.mjs +4 -4
- package/esm2022/lib/overlay/callout/lock-scroll.directive.mjs +69 -0
- package/{esm2020 → esm2022}/lib/overlay/callout/menu/menu-item/menu-item.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/overlay/callout/menu/menu.component.mjs +4 -4
- package/esm2022/lib/overlay/callout/tooltip/locked-tooltip.directive.mjs +30 -0
- package/{esm2020 → esm2022}/lib/overlay/callout/tooltip/tooltip.component.mjs +4 -4
- package/esm2022/lib/overlay/callout/tooltip/tooltip.directive.mjs +138 -0
- package/esm2022/lib/overlay/modal/dialog/dialog.component.mjs +47 -0
- package/{esm2020 → esm2022}/lib/overlay/modal/dialog-stack.service.mjs +4 -4
- package/esm2022/lib/overlay/modal/form-dialog/form-dialog.component.mjs +146 -0
- package/esm2022/lib/overlay/modal/modal.component.mjs +31 -0
- package/{esm2020 → esm2022}/lib/overlay/modal/side-sheet/side-sheet.component.mjs +4 -4
- package/esm2022/lib/overlay/overlay-outlet.component.mjs +98 -0
- package/{esm2020 → esm2022}/lib/overlay/overlay.directive.mjs +5 -5
- package/{esm2020 → esm2022}/lib/overlay/overlay.service.mjs +5 -5
- package/{esm2020 → esm2022}/lib/overlay/toast/toast-action.component.mjs +4 -4
- package/esm2022/lib/overlay/toast/toast.component.mjs +41 -0
- package/{esm2020 → esm2022}/lib/riv.module.mjs +227 -227
- package/esm2022/lib/size/size.directive.mjs +33 -0
- package/esm2022/lib/table/simple-table/coordinate-helper.mjs +61 -0
- package/esm2022/lib/table/simple-table/simple-table-cell.component.mjs +36 -0
- package/esm2022/lib/table/simple-table/simple-table-header-cell.component.mjs +37 -0
- package/{esm2020 → esm2022}/lib/table/simple-table/simple-table-row.component.mjs +4 -4
- package/esm2022/lib/table/simple-table/simple-table.component.mjs +104 -0
- package/esm2022/lib/table/table/clipboard.mjs +182 -0
- package/esm2022/lib/table/table/state-helpers/collapse-helpers.mjs +116 -0
- package/esm2022/lib/table/table/state-helpers/column-helpers.mjs +383 -0
- package/{esm2020 → esm2022}/lib/table/table/state-helpers/display-helpers.mjs +1 -1
- package/esm2022/lib/table/table/state-helpers/nesting-helpers.mjs +123 -0
- package/esm2022/lib/table/table/state-helpers/order-helpers.mjs +164 -0
- package/esm2022/lib/table/table/state-helpers/pagination-helpers.mjs +139 -0
- package/esm2022/lib/table/table/state-helpers/result-helpers.mjs +70 -0
- package/esm2022/lib/table/table/state-helpers/search-helpers.mjs +72 -0
- package/esm2022/lib/table/table/state-helpers/selection-helpers.mjs +180 -0
- package/esm2022/lib/table/table/state.mjs +1035 -0
- package/esm2022/lib/table/table/table/table.component.mjs +367 -0
- package/{esm2020 → esm2022}/lib/table/table/table-collapse-all/table-collapse-all.component.mjs +5 -5
- package/esm2022/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.mjs +227 -0
- package/esm2022/lib/table/table/table-column-settings/table-column-settings.component.mjs +134 -0
- package/esm2022/lib/table/table/table-csv-export/table-csv-export.component.mjs +35 -0
- package/{esm2020 → esm2022}/lib/table/table/table-header-resize-handle/table-header-resize-handle.component.mjs +6 -6
- package/esm2022/lib/table/table/table-search/table-search.component.mjs +71 -0
- package/{esm2020 → esm2022}/lib/table/table/table-search-columns/table-search-columns.component.mjs +4 -4
- package/esm2022/lib/visibility/visibility.directive.mjs +34 -0
- package/esm2022/lib/visualization/chart/chart-scaling.mjs +380 -0
- package/esm2022/lib/visualization/chart/chart.component.mjs +626 -0
- package/esm2022/lib/visualization/chart/chart.mjs +3768 -0
- package/{esm2020 → esm2022}/lib/visualization/data-table/data-table-cell.component.mjs +5 -5
- package/{esm2020 → esm2022}/lib/visualization/data-table/data-table-header-cell.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/data-table/data-table-row.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/data-table/data-table.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/donut/donut.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/funnel-chart/funnel-chart.component.mjs +5 -5
- package/esm2022/lib/visualization/funnel-chart/funnel-chart.helpers.mjs +33 -0
- package/{esm2020 → esm2022}/lib/visualization/highlight/highlight.component.mjs +4 -4
- package/esm2022/lib/visualization/highlight/highlight.helpers.mjs +20 -0
- package/esm2022/lib/visualization/intervals.mjs +63 -0
- package/{esm2020 → esm2022}/lib/visualization/issue/issue.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/legend-item/legend-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/metric/metric.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/mini-pie/mini-pie.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/visualization/progress/progress.component.mjs +5 -5
- package/esm2022/lib/visualization/stacked-column/stacked-column.component.mjs +377 -0
- package/esm2022/lib/visualization/stacked-column/stacked-column.helpers.mjs +18 -0
- package/esm2022/lib/visualization/stacked-row/stacked-row.component.mjs +270 -0
- package/esm2022/lib/visualization/stacked-row/stacked-row.helpers.mjs +74 -0
- package/esm2022/lib/visualization/time-series/time-series.component.mjs +374 -0
- package/esm2022/lib/visualization/time-series/time-series.helpers.mjs +15 -0
- package/esm2022/lib/visualization/trend/trend.component.mjs +51 -0
- package/{esm2020 → esm2022}/lib/visualization/zero-state/zero-state.component.mjs +4 -4
- package/{fesm2020 → fesm2022}/rivet-health-design-system.mjs +670 -670
- package/{fesm2020 → fesm2022}/rivet-health-design-system.mjs.map +1 -1
- package/lib/format/svg-text-truncate/svg-text-truncate.directive.d.ts +1 -1
- package/lib/format/truncate/truncate.component.d.ts +1 -1
- package/lib/icon/icon.component.d.ts +1 -1
- package/lib/input/auto-focus/auto-focus.directive.d.ts +1 -1
- package/lib/input/button/button.component.d.ts +1 -1
- package/lib/input/calendar/calendar.component.d.ts +1 -1
- package/lib/input/checkbox/checkbox.component.d.ts +1 -1
- package/lib/input/currency-field/currency-field.component.d.ts +1 -1
- package/lib/input/date/date.component.d.ts +1 -1
- package/lib/input/date-range/date-range.component.d.ts +1 -1
- package/lib/input/filter-chip/filter-chip.component.d.ts +1 -1
- package/lib/input/filter-dropdown/filter-dropdown.component.d.ts +1 -1
- package/lib/input/input-label/input-label.component.d.ts +1 -1
- package/lib/input/mentions-input/mentions-input.component.d.ts +1 -1
- package/lib/input/number-field/number-field.component.d.ts +1 -1
- package/lib/input/percentage-field/percentage-field.component.d.ts +1 -1
- package/lib/input/phone-field/phone-field.component.d.ts +1 -1
- package/lib/input/radio/radio.component.d.ts +1 -1
- package/lib/input/search/search.component.d.ts +1 -1
- package/lib/input/search-select/search-select.component.d.ts +1 -1
- package/lib/input/select/select/select.component.d.ts +1 -1
- package/lib/input/select/select-node/select-node.component.d.ts +1 -1
- package/lib/input/simple-select/simple-select.component.d.ts +1 -1
- package/lib/input/switch-checkbox/switch-checkbox.component.d.ts +1 -1
- package/lib/input/text-field/text-field.component.d.ts +1 -1
- package/lib/input/textarea-field/textarea-field.component.d.ts +1 -1
- package/lib/input/validation-message/validation-message.component.d.ts +1 -1
- package/lib/layout/card/card-actions.component.d.ts +1 -1
- package/lib/layout/card/card-content.component.d.ts +1 -1
- package/lib/layout/card/card-header.component.d.ts +1 -1
- package/lib/layout/card/card-link.component.d.ts +1 -1
- package/lib/layout/card/card-media.component.d.ts +1 -1
- package/lib/layout/card/card.component.d.ts +1 -1
- package/lib/layout/setting-row/setting-row.component.d.ts +1 -1
- package/lib/load/loading/loading.component.d.ts +1 -1
- package/lib/load/loading-cover/loading-cover.component.d.ts +1 -1
- package/lib/navigation/editable-heading/editable-heading.component.d.ts +1 -1
- package/lib/navigation/link/link.component.d.ts +1 -1
- package/lib/navigation/page-header/page-header.component.d.ts +1 -1
- package/lib/navigation/simple-tabs/simple-tab/simple-tab.component.d.ts +1 -1
- package/lib/navigation/tabs/tab/tab.component.d.ts +1 -1
- package/lib/navigation/views/all-views-modal/all-views-modal.component.d.ts +1 -1
- package/lib/navigation/views/edit-view/edit-view.component.d.ts +1 -1
- package/lib/navigation/views/permission-picker/permission-picker.component.d.ts +3 -3
- package/lib/navigation/views/view-menu/view-menu.component.d.ts +1 -1
- package/lib/navigation/views/views/views.component.d.ts +1 -1
- package/lib/notification/badge/badge.component.d.ts +1 -1
- package/lib/notification/banner/banner-action.component.d.ts +1 -1
- package/lib/notification/banner/banner.component.d.ts +1 -1
- package/lib/notification/map-indicator/map-indicator.component.d.ts +1 -1
- package/lib/notification/notification-badge/notification-badge.component.d.ts +1 -1
- package/lib/overlay/callout/callout.component.d.ts +1 -1
- package/lib/overlay/callout/help/help.component.d.ts +1 -1
- package/lib/overlay/callout/lock-scroll.directive.d.ts +1 -1
- package/lib/overlay/callout/menu/menu-item/menu-item.component.d.ts +1 -1
- package/lib/overlay/callout/menu/menu.component.d.ts +1 -1
- package/lib/overlay/callout/tooltip/locked-tooltip.directive.d.ts +1 -1
- package/lib/overlay/callout/tooltip/tooltip.component.d.ts +1 -1
- package/lib/overlay/callout/tooltip/tooltip.directive.d.ts +1 -1
- package/lib/overlay/modal/dialog/dialog.component.d.ts +1 -1
- package/lib/overlay/modal/form-dialog/form-dialog.component.d.ts +1 -1
- package/lib/overlay/modal/modal.component.d.ts +1 -1
- package/lib/overlay/modal/side-sheet/side-sheet.component.d.ts +1 -1
- package/lib/overlay/toast/toast.component.d.ts +1 -1
- package/lib/table/simple-table/simple-table-header-cell.component.d.ts +1 -1
- package/lib/table/simple-table/simple-table-row.component.d.ts +1 -1
- package/lib/table/table/table/table.component.d.ts +1 -1
- package/lib/table/table/table-collapse-all/table-collapse-all.component.d.ts +1 -1
- package/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.d.ts +1 -1
- package/lib/table/table/table-column-settings/table-column-settings.component.d.ts +1 -1
- package/lib/table/table/table-csv-export/table-csv-export.component.d.ts +1 -1
- package/lib/table/table/table-search/table-search.component.d.ts +1 -1
- package/lib/table/table/table-search-columns/table-search-columns.component.d.ts +1 -1
- package/lib/visualization/chart/chart.component.d.ts +1 -1
- package/lib/visualization/data-table/data-table-row.component.d.ts +1 -1
- package/lib/visualization/donut/donut.component.d.ts +1 -1
- package/lib/visualization/funnel-chart/funnel-chart.component.d.ts +1 -1
- package/lib/visualization/highlight/highlight.component.d.ts +1 -1
- package/lib/visualization/issue/issue.component.d.ts +1 -1
- package/lib/visualization/legend-item/legend-item.component.d.ts +1 -1
- package/lib/visualization/metric/metric.component.d.ts +1 -1
- package/lib/visualization/mini-pie/mini-pie.component.d.ts +1 -1
- package/lib/visualization/progress/progress.component.d.ts +1 -1
- package/lib/visualization/stacked-column/stacked-column.component.d.ts +3 -3
- package/lib/visualization/stacked-row/stacked-row.component.d.ts +1 -1
- package/lib/visualization/time-series/time-series.component.d.ts +3 -3
- package/lib/visualization/trend/trend.component.d.ts +1 -1
- package/lib/visualization/zero-state/zero-state.component.d.ts +1 -1
- package/package.json +5 -11
- package/esm2020/lib/download/download.service.mjs +0 -47
- package/esm2020/lib/format/pipes/sentence-case.pipe.mjs +0 -61
- package/esm2020/lib/format/pipes/small-currency.pipe.mjs +0 -24
- package/esm2020/lib/format/pipes/small-number.pipe.mjs +0 -29
- package/esm2020/lib/format/svg-text-truncate/svg-text-truncate.directive.mjs +0 -62
- package/esm2020/lib/format/truncate/truncate.component.mjs +0 -51
- package/esm2020/lib/icon/dom-cache.mjs +0 -32
- package/esm2020/lib/icon/icon.component.mjs +0 -86
- package/esm2020/lib/input/auto-focus/auto-focus.directive.mjs +0 -48
- package/esm2020/lib/input/button/button.component.mjs +0 -139
- package/esm2020/lib/input/button-group/button-group.component.mjs +0 -39
- package/esm2020/lib/input/date/date.component.mjs +0 -279
- package/esm2020/lib/input/date-range/date-range.component.mjs +0 -477
- package/esm2020/lib/input/filter-chip/filter-chip.component.mjs +0 -47
- package/esm2020/lib/input/mentions-input/mentions-input.component.mjs +0 -745
- package/esm2020/lib/input/number-field/number-field.component.mjs +0 -125
- package/esm2020/lib/input/phone-field/phone-field.component.mjs +0 -74
- package/esm2020/lib/input/search-select/search-select.component.mjs +0 -189
- package/esm2020/lib/input/select/select/select.component.mjs +0 -178
- package/esm2020/lib/input/select/state.mjs +0 -882
- package/esm2020/lib/input/simple-select/simple-select.component.mjs +0 -178
- package/esm2020/lib/input/switch-checkbox/switch-checkbox.component.mjs +0 -33
- package/esm2020/lib/input/text-field/text-field.component.mjs +0 -115
- package/esm2020/lib/layout/card/card-content.component.mjs +0 -64
- package/esm2020/lib/layout/card/card-header.component.mjs +0 -201
- package/esm2020/lib/layout/card/card.component.mjs +0 -291
- package/esm2020/lib/load/loading/loading.component.mjs +0 -43
- package/esm2020/lib/navigation/editable-heading/editable-heading.component.mjs +0 -243
- package/esm2020/lib/navigation/views/permission-picker/permission-picker.component.mjs +0 -151
- package/esm2020/lib/navigation/views/state.mjs +0 -456
- package/esm2020/lib/navigation/views/views/views.component.mjs +0 -90
- package/esm2020/lib/notification/banner/banner-action.component.mjs +0 -48
- package/esm2020/lib/notification/banner/banner.component.mjs +0 -61
- package/esm2020/lib/notification/map-indicator/map-indicator.component.mjs +0 -50
- package/esm2020/lib/notification/map-indicator/map-indicators.mjs +0 -15
- package/esm2020/lib/overlay/callout/callout.component.mjs +0 -130
- package/esm2020/lib/overlay/callout/callout.helpers.mjs +0 -113
- package/esm2020/lib/overlay/callout/lock-scroll.directive.mjs +0 -69
- package/esm2020/lib/overlay/callout/tooltip/locked-tooltip.directive.mjs +0 -30
- package/esm2020/lib/overlay/callout/tooltip/tooltip.directive.mjs +0 -138
- package/esm2020/lib/overlay/modal/dialog/dialog.component.mjs +0 -47
- package/esm2020/lib/overlay/modal/form-dialog/form-dialog.component.mjs +0 -146
- package/esm2020/lib/overlay/modal/modal.component.mjs +0 -31
- package/esm2020/lib/overlay/overlay-outlet.component.mjs +0 -98
- package/esm2020/lib/overlay/toast/toast.component.mjs +0 -41
- package/esm2020/lib/size/size.directive.mjs +0 -33
- package/esm2020/lib/table/simple-table/coordinate-helper.mjs +0 -61
- package/esm2020/lib/table/simple-table/simple-table-cell.component.mjs +0 -36
- package/esm2020/lib/table/simple-table/simple-table-header-cell.component.mjs +0 -37
- package/esm2020/lib/table/simple-table/simple-table.component.mjs +0 -104
- package/esm2020/lib/table/table/clipboard.mjs +0 -182
- package/esm2020/lib/table/table/state-helpers/collapse-helpers.mjs +0 -116
- package/esm2020/lib/table/table/state-helpers/column-helpers.mjs +0 -383
- package/esm2020/lib/table/table/state-helpers/nesting-helpers.mjs +0 -123
- package/esm2020/lib/table/table/state-helpers/order-helpers.mjs +0 -164
- package/esm2020/lib/table/table/state-helpers/pagination-helpers.mjs +0 -139
- package/esm2020/lib/table/table/state-helpers/result-helpers.mjs +0 -70
- package/esm2020/lib/table/table/state-helpers/search-helpers.mjs +0 -72
- package/esm2020/lib/table/table/state-helpers/selection-helpers.mjs +0 -180
- package/esm2020/lib/table/table/state.mjs +0 -1035
- package/esm2020/lib/table/table/table/table.component.mjs +0 -367
- package/esm2020/lib/table/table/table-column-settings/table-column-settings-side-sheet.component.mjs +0 -227
- package/esm2020/lib/table/table/table-column-settings/table-column-settings.component.mjs +0 -134
- package/esm2020/lib/table/table/table-csv-export/table-csv-export.component.mjs +0 -35
- package/esm2020/lib/table/table/table-search/table-search.component.mjs +0 -71
- package/esm2020/lib/visibility/visibility.directive.mjs +0 -34
- package/esm2020/lib/visualization/chart/chart-scaling.mjs +0 -380
- package/esm2020/lib/visualization/chart/chart.component.mjs +0 -626
- package/esm2020/lib/visualization/chart/chart.mjs +0 -3768
- package/esm2020/lib/visualization/funnel-chart/funnel-chart.helpers.mjs +0 -33
- package/esm2020/lib/visualization/highlight/highlight.helpers.mjs +0 -20
- package/esm2020/lib/visualization/intervals.mjs +0 -63
- package/esm2020/lib/visualization/stacked-column/stacked-column.component.mjs +0 -377
- package/esm2020/lib/visualization/stacked-column/stacked-column.helpers.mjs +0 -18
- package/esm2020/lib/visualization/stacked-row/stacked-row.component.mjs +0 -270
- package/esm2020/lib/visualization/stacked-row/stacked-row.helpers.mjs +0 -74
- package/esm2020/lib/visualization/time-series/time-series.component.mjs +0 -374
- package/esm2020/lib/visualization/time-series/time-series.helpers.mjs +0 -15
- package/esm2020/lib/visualization/trend/trend.component.mjs +0 -51
- package/fesm2015/rivet-health-design-system.mjs +0 -18370
- package/fesm2015/rivet-health-design-system.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/overlay/callout/select-callout-defaults.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/util/local-storage.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/rivet-health-design-system.mjs +0 -0
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostBinding, Input, Optional, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../button-group/button-group.component";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "../../icon/icon.component";
|
|
6
|
-
import * as i4 from "../../load/loading/loading.component";
|
|
7
|
-
export class ButtonComponent {
|
|
8
|
-
constructor(el, renderer, group) {
|
|
9
|
-
this.el = el;
|
|
10
|
-
this.renderer = renderer;
|
|
11
|
-
this.group = group;
|
|
12
|
-
this.size = 'medium';
|
|
13
|
-
this.variant = 'basic';
|
|
14
|
-
this.iconPosition = 'first';
|
|
15
|
-
this.disableNativeElement = false;
|
|
16
|
-
this.lockNativeElement = false;
|
|
17
|
-
}
|
|
18
|
-
get classes() {
|
|
19
|
-
return Object.entries({
|
|
20
|
-
disabled: this.disabled || this.locked,
|
|
21
|
-
full: this.full,
|
|
22
|
-
loading: this.loading,
|
|
23
|
-
[this.variant]: true,
|
|
24
|
-
[this.size]: true,
|
|
25
|
-
stacked: this.iconPosition === 'stacked',
|
|
26
|
-
grouped: !!this.group,
|
|
27
|
-
first: !!this.group?.isFirst(this.el),
|
|
28
|
-
last: !!this.group?.isLast(this.el),
|
|
29
|
-
current: !!this.current,
|
|
30
|
-
})
|
|
31
|
-
.filter(([_, v]) => v)
|
|
32
|
-
.map(([k]) => k)
|
|
33
|
-
.join(' ');
|
|
34
|
-
}
|
|
35
|
-
get ariaDisabled() {
|
|
36
|
-
return this.disabled || this.locked ? 'true' : null;
|
|
37
|
-
}
|
|
38
|
-
getLoadingVariant() {
|
|
39
|
-
switch (this.variant) {
|
|
40
|
-
case 'basic':
|
|
41
|
-
case 'caution':
|
|
42
|
-
case 'ghost':
|
|
43
|
-
case 'stateful':
|
|
44
|
-
return 'dark';
|
|
45
|
-
case 'danger':
|
|
46
|
-
case 'primary':
|
|
47
|
-
return this.disabled ? 'dark' : 'light';
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
getIconSize() {
|
|
51
|
-
switch (this.size) {
|
|
52
|
-
case 'xsmall':
|
|
53
|
-
case 'small':
|
|
54
|
-
return 16;
|
|
55
|
-
case 'medium':
|
|
56
|
-
return 20;
|
|
57
|
-
case 'large':
|
|
58
|
-
case 'xlarge':
|
|
59
|
-
return 24;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
ngOnChanges(changes) {
|
|
63
|
-
const accessChange = !!changes['disabled'] || !!changes['locked'];
|
|
64
|
-
if (accessChange) {
|
|
65
|
-
if (changes['disabled']) {
|
|
66
|
-
this.disableNativeElement = changes['disabled'].currentValue;
|
|
67
|
-
}
|
|
68
|
-
if (changes['locked']) {
|
|
69
|
-
this.lockNativeElement = changes['locked'].currentValue;
|
|
70
|
-
}
|
|
71
|
-
if ('disabled' in this.el.nativeElement) {
|
|
72
|
-
if (this.disableNativeElement || this.lockNativeElement) {
|
|
73
|
-
this.renderer.setAttribute(this.el.nativeElement, 'disabled', 'true');
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this.renderer.removeAttribute(this.el.nativeElement, 'disabled');
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
const currentOrVariantChange = !!changes['current'] || !!changes['variant'];
|
|
81
|
-
if (currentOrVariantChange) {
|
|
82
|
-
if (this.current !== undefined && this.variant !== 'stateful') {
|
|
83
|
-
// eslint-disable-next-line no-console
|
|
84
|
-
console.warn(`ButtonComponent: The 'current' input is only valid when variant is 'stateful'. Variant: '${this.variant}'`);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.ButtonGroupComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
-
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ButtonComponent, selector: "[rivButton]", inputs: { locked: "locked", disabled: "disabled", loading: "loading", full: "full", size: "size", variant: "variant", icon: "icon", iconPosition: "iconPosition", current: "current" }, host: { properties: { "class": "this.classes", "attr.aria-disabled": "this.ariaDisabled" } }, usesOnChanges: true, ngImport: i0, template: "<riv-icon\n *ngIf=\"icon && (iconPosition === 'first' || iconPosition === 'stacked')\"\n [name]=\"locked ? 'Lock' : icon\"\n [size]=\"getIconSize()\"\n></riv-icon>\n<span><ng-content></ng-content></span>\n<riv-icon\n *ngIf=\"locked && !icon\"\n [name]=\"'Lock'\"\n [size]=\"getIconSize()\"\n></riv-icon>\n<riv-icon\n *ngIf=\"icon && iconPosition === 'last'\"\n [name]=\"locked ? 'Lock' : icon\"\n [size]=\"getIconSize()\"\n></riv-icon>\n<riv-loading\n *ngIf=\"loading\"\n [size]=\"16\"\n [variant]=\"getLoadingVariant()\"\n></riv-loading>\n", styles: [":host{border-radius:var(--border-radius-small);transition:background-color var(--short-transition);display:inline-flex;align-items:center;cursor:pointer;text-decoration:none}:host:disabled,:host.disabled{cursor:default}:host.grouped:not(.first){border-bottom-left-radius:0;border-top-left-radius:0;border-left-width:calc(var(--border-width) / 2)}:host.grouped:not(.last){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:calc(var(--border-width) / 2)}:host.basic{color:var(--purp-80);background-color:var(--gray-10);border:var(--border-width) solid var(--border-light)}:host.basic:hover{background-color:var(--gray-20)}:host.basic:active{background-color:var(--gray-30)}:host.basic:disabled,:host.basic.disabled{border-color:transparent;background-color:var(--gray-10);color:var(--type-light-disabled)}:host.primary{color:var(--white-90);background-color:var(--purp-60);border:var(--border-width) solid var(--border-dark-blend)}:host.primary:hover{background-color:var(--purp-70)}:host.primary:active{background-color:var(--purp-80)}:host.primary:disabled,:host.primary.disabled{border-color:transparent;background-color:var(--purp-10);color:var(--type-light-disabled)}:host.ghost{color:var(--purp-80);background-color:transparent;border:var(--border-width) solid transparent}:host.ghost:hover{background-color:var(--gray-30)}:host.ghost:active{background-color:var(--gray-40)}:host.ghost:disabled,:host.ghost.disabled{color:var(--type-light-disabled);background-color:transparent}:host.caution{color:var(--type-light-caution);background-color:var(--surface-light-caution);border:var(--border-width) solid transparent}:host.caution:hover{background-color:var(--black-20)}:host.caution:active{background-color:var(--black-40)}:host.caution:disabled,:host.caution.disabled{border-color:transparent;background-color:var(--arnge-10);color:var(--type-light-disabled)}:host.danger{color:var(--white-100);background-color:var(--fyre-50);border:var(--border-width) solid var(--border-dark-blend)}:host.danger:hover{background-color:var(--fyre-70)}:host.danger:active{background-color:var(--fyre-90)}:host.danger:disabled,:host.danger.disabled{border-color:transparent;background-color:var(--fyre-10);color:var(--type-light-disabled)}:host.stateful{color:var(--type-light-low-contrast);background-color:var(--gray-10);border:var(--border-width) solid var(--border-light)}:host.stateful.current{color:var(--type-light-link);background-color:var(--white-100)}:host.stateful:hover{background-color:var(--gray-20)}:host.stateful.current:hover{color:var(--type-light-link-hover);background-color:var(--white-100)}:host.stateful:active{background-color:var(--gray-30)}:host.stateful.current:active{color:var(--type-light-link-active);background-color:var(--white-100)}:host.stateful:disabled,:host.stateful.disabled{border-color:transparent;background-color:var(--gray-10);color:var(--type-light-disabled)}:host.stateful.current:disabled,:host.stateful.current.disabled{border-color:transparent;background-color:var(--white-90);color:var(--type-light-disabled)}:host.xsmall{font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-0);padding:calc(var(--base-grid-size) * 1.5) calc(var(--base-grid-size) * 2)}:host.xsmall:not(.stacked) riv-icon{margin:calc(var(--base-grid-size) / -2) calc(var(--base-grid-size) * -1)}:host.xsmall:not(.stacked) riv-icon:has(+ span:not(:empty)){margin-right:var(--base-grid-size)}:host.xsmall:not(.stacked) span:not(:empty)+riv-icon{margin-left:var(--base-grid-size)}:host.small{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 1.5) calc(var(--base-grid-size) * 3)}:host.small:not(.stacked) riv-icon{margin:0 calc(var(--base-grid-size) * -1.5)}:host.small:not(.stacked) riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 1.5)}:host.small:not(.stacked) span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 1.5)}:host.medium{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 2) calc(var(--base-grid-size) * 3)}:host.medium:not(.stacked) riv-icon{margin:calc(var(--base-grid-size) * -.5) calc(var(--base-grid-size) * -1.5)}:host.medium:not(.stacked) riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size))}:host.medium:not(.stacked) span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 2)}:host.large{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 3) calc(var(--base-grid-size) * 5)}:host.large:not(.stacked) riv-icon{margin:calc(var(--base-grid-size) * -1) calc(var(--base-grid-size) * -3)}:host.large:not(.stacked) riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 3)}:host.large:not(.stacked) span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 3)}:host.xlarge{font-size:var(--type-3-font-size);line-height:var(--type-3-line-height-0);padding:calc(var(--base-grid-size) * 4) calc(var(--base-grid-size) * 6)}:host.xlarge:not(.stacked) riv-icon{margin:calc(var(--base-grid-size) * -1) calc(var(--base-grid-size) * -3)}:host.xlarge:not(.stacked) riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 3)}:host.xlarge:not(.stacked) span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 3)}:host.full{width:100%;justify-content:center}:host.loading{position:relative}:host.loading span{opacity:0}:host.loading riv-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:host.stacked{display:flex;flex-direction:column}:host.stacked.xsmall riv-icon,:host.stacked.small riv-icon{margin-bottom:calc(var(--base-grid-size) * 1)}:host.stacked.medium riv-icon,:host.stacked.large riv-icon,:host.stacked.xlarge riv-icon{margin-bottom:calc(var(--base-grid-size) * 2)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i4.LoadingComponent, selector: "riv-loading", inputs: ["size", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
92
|
-
type: Component,
|
|
93
|
-
args: [{ selector: '[rivButton]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<riv-icon\n *ngIf=\"icon && (iconPosition === 'first' || iconPosition === 'stacked')\"\n [name]=\"locked ? 'Lock' : icon\"\n [size]=\"getIconSize()\"\n></riv-icon>\n<span><ng-content></ng-content></span>\n<riv-icon\n *ngIf=\"locked && !icon\"\n [name]=\"'Lock'\"\n [size]=\"getIconSize()\"\n></riv-icon>\n<riv-icon\n *ngIf=\"icon && iconPosition === 'last'\"\n [name]=\"locked ? 'Lock' : icon\"\n [size]=\"getIconSize()\"\n></riv-icon>\n<riv-loading\n *ngIf=\"loading\"\n [size]=\"16\"\n [variant]=\"getLoadingVariant()\"\n></riv-loading>\n", styles: [":host{border-radius:var(--border-radius-small);transition:background-color var(--short-transition);display:inline-flex;align-items:center;cursor:pointer;text-decoration:none}:host:disabled,:host.disabled{cursor:default}:host.grouped:not(.first){border-bottom-left-radius:0;border-top-left-radius:0;border-left-width:calc(var(--border-width) / 2)}:host.grouped:not(.last){border-top-right-radius:0;border-bottom-right-radius:0;border-right-width:calc(var(--border-width) / 2)}:host.basic{color:var(--purp-80);background-color:var(--gray-10);border:var(--border-width) solid var(--border-light)}:host.basic:hover{background-color:var(--gray-20)}:host.basic:active{background-color:var(--gray-30)}:host.basic:disabled,:host.basic.disabled{border-color:transparent;background-color:var(--gray-10);color:var(--type-light-disabled)}:host.primary{color:var(--white-90);background-color:var(--purp-60);border:var(--border-width) solid var(--border-dark-blend)}:host.primary:hover{background-color:var(--purp-70)}:host.primary:active{background-color:var(--purp-80)}:host.primary:disabled,:host.primary.disabled{border-color:transparent;background-color:var(--purp-10);color:var(--type-light-disabled)}:host.ghost{color:var(--purp-80);background-color:transparent;border:var(--border-width) solid transparent}:host.ghost:hover{background-color:var(--gray-30)}:host.ghost:active{background-color:var(--gray-40)}:host.ghost:disabled,:host.ghost.disabled{color:var(--type-light-disabled);background-color:transparent}:host.caution{color:var(--type-light-caution);background-color:var(--surface-light-caution);border:var(--border-width) solid transparent}:host.caution:hover{background-color:var(--black-20)}:host.caution:active{background-color:var(--black-40)}:host.caution:disabled,:host.caution.disabled{border-color:transparent;background-color:var(--arnge-10);color:var(--type-light-disabled)}:host.danger{color:var(--white-100);background-color:var(--fyre-50);border:var(--border-width) solid var(--border-dark-blend)}:host.danger:hover{background-color:var(--fyre-70)}:host.danger:active{background-color:var(--fyre-90)}:host.danger:disabled,:host.danger.disabled{border-color:transparent;background-color:var(--fyre-10);color:var(--type-light-disabled)}:host.stateful{color:var(--type-light-low-contrast);background-color:var(--gray-10);border:var(--border-width) solid var(--border-light)}:host.stateful.current{color:var(--type-light-link);background-color:var(--white-100)}:host.stateful:hover{background-color:var(--gray-20)}:host.stateful.current:hover{color:var(--type-light-link-hover);background-color:var(--white-100)}:host.stateful:active{background-color:var(--gray-30)}:host.stateful.current:active{color:var(--type-light-link-active);background-color:var(--white-100)}:host.stateful:disabled,:host.stateful.disabled{border-color:transparent;background-color:var(--gray-10);color:var(--type-light-disabled)}:host.stateful.current:disabled,:host.stateful.current.disabled{border-color:transparent;background-color:var(--white-90);color:var(--type-light-disabled)}:host.xsmall{font-size:var(--type-1-font-size);line-height:var(--type-1-line-height-0);padding:calc(var(--base-grid-size) * 1.5) calc(var(--base-grid-size) * 2)}:host.xsmall:not(.stacked) riv-icon{margin:calc(var(--base-grid-size) / -2) calc(var(--base-grid-size) * -1)}:host.xsmall:not(.stacked) riv-icon:has(+ span:not(:empty)){margin-right:var(--base-grid-size)}:host.xsmall:not(.stacked) span:not(:empty)+riv-icon{margin-left:var(--base-grid-size)}:host.small{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 1.5) calc(var(--base-grid-size) * 3)}:host.small:not(.stacked) riv-icon{margin:0 calc(var(--base-grid-size) * -1.5)}:host.small:not(.stacked) riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 1.5)}:host.small:not(.stacked) span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 1.5)}:host.medium{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 2) calc(var(--base-grid-size) * 3)}:host.medium:not(.stacked) riv-icon{margin:calc(var(--base-grid-size) * -.5) calc(var(--base-grid-size) * -1.5)}:host.medium:not(.stacked) riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size))}:host.medium:not(.stacked) span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 2)}:host.large{font-size:var(--type-2-font-size);line-height:var(--type-2-line-height-0);padding:calc(var(--base-grid-size) * 3) calc(var(--base-grid-size) * 5)}:host.large:not(.stacked) riv-icon{margin:calc(var(--base-grid-size) * -1) calc(var(--base-grid-size) * -3)}:host.large:not(.stacked) riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 3)}:host.large:not(.stacked) span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 3)}:host.xlarge{font-size:var(--type-3-font-size);line-height:var(--type-3-line-height-0);padding:calc(var(--base-grid-size) * 4) calc(var(--base-grid-size) * 6)}:host.xlarge:not(.stacked) riv-icon{margin:calc(var(--base-grid-size) * -1) calc(var(--base-grid-size) * -3)}:host.xlarge:not(.stacked) riv-icon:has(+ span:not(:empty)){margin-right:calc(var(--base-grid-size) * 3)}:host.xlarge:not(.stacked) span:not(:empty)+riv-icon{margin-left:calc(var(--base-grid-size) * 3)}:host.full{width:100%;justify-content:center}:host.loading{position:relative}:host.loading span{opacity:0}:host.loading riv-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}:host.stacked{display:flex;flex-direction:column}:host.stacked.xsmall riv-icon,:host.stacked.small riv-icon{margin-bottom:calc(var(--base-grid-size) * 1)}:host.stacked.medium riv-icon,:host.stacked.large riv-icon,:host.stacked.xlarge riv-icon{margin-bottom:calc(var(--base-grid-size) * 2)}\n"] }]
|
|
94
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.ButtonGroupComponent, decorators: [{
|
|
95
|
-
type: Optional
|
|
96
|
-
}] }]; }, propDecorators: { locked: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}], disabled: [{
|
|
99
|
-
type: Input
|
|
100
|
-
}], loading: [{
|
|
101
|
-
type: Input
|
|
102
|
-
}], full: [{
|
|
103
|
-
type: Input
|
|
104
|
-
}], size: [{
|
|
105
|
-
type: Input
|
|
106
|
-
}], variant: [{
|
|
107
|
-
type: Input
|
|
108
|
-
}], icon: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], iconPosition: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}], current: [{
|
|
113
|
-
type: Input
|
|
114
|
-
}], classes: [{
|
|
115
|
-
type: HostBinding,
|
|
116
|
-
args: ['class']
|
|
117
|
-
}], ariaDisabled: [{
|
|
118
|
-
type: HostBinding,
|
|
119
|
-
args: ['attr.aria-disabled']
|
|
120
|
-
}] } });
|
|
121
|
-
(function (ButtonComponent) {
|
|
122
|
-
ButtonComponent.Sizes = [
|
|
123
|
-
'xsmall',
|
|
124
|
-
'small',
|
|
125
|
-
'medium',
|
|
126
|
-
'large',
|
|
127
|
-
'xlarge',
|
|
128
|
-
];
|
|
129
|
-
ButtonComponent.Variants = [
|
|
130
|
-
'basic',
|
|
131
|
-
'ghost',
|
|
132
|
-
'primary',
|
|
133
|
-
'danger',
|
|
134
|
-
'caution',
|
|
135
|
-
'stateful',
|
|
136
|
-
];
|
|
137
|
-
ButtonComponent.IconPositions = ['first', 'last', 'stacked'];
|
|
138
|
-
})(ButtonComponent || (ButtonComponent = {}));
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFFVCxXQUFXLEVBQ1gsS0FBSyxFQUVMLFFBQVEsR0FHVCxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBV3ZCLE1BQU0sT0FBTyxlQUFlO0lBQzFCLFlBQ21CLEVBQWMsRUFDZCxRQUFtQixFQUNQLEtBQTJCO1FBRnZDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDZCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ1AsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFnQjFELFNBQUksR0FBeUIsUUFBUSxDQUFDO1FBR3RDLFlBQU8sR0FBNEIsT0FBTyxDQUFDO1FBTTNDLGlCQUFZLEdBQWlDLE9BQU8sQ0FBQztRQXVEN0MseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBQ3RDLHNCQUFpQixHQUFZLEtBQUssQ0FBQztJQWhGeEMsQ0FBQztJQTZCSixJQUNJLE9BQU87UUFDVCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE1BQU07WUFDdEMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUk7WUFDcEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSTtZQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFT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QUFTLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUU7Z0JBQzdELHNDQUFzQztnQkFDdEMsT0FBTyxDQUFDLElBQUksQ0FDViw0RkFBNEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUM1RyxDQUFDO2FBQ0g7U0FDRjtJQUNILENBQUM7OzZHQW5IVSxlQUFlO2lHQUFmLGVBQWUsOFZDckI1QiwwaUJBcUJBOzRGREFhLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNOzswQkFNNUMsUUFBUTs0Q0FJWCxNQUFNO3NCQURMLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJRixPQUFPO3NCQURWLFdBQVc7dUJBQUMsT0FBTztnQkFvQmhCLFlBQVk7c0JBRGYsV0FBVzt1QkFBQyxvQkFBb0I7O0FBaUVuQyxXQUFpQixlQUFlO0lBQ2pCLHFCQUFLLEdBQUc7UUFDbkIsUUFBUTtRQUNSLE9BQU87UUFDUCxRQUFRO1FBQ1IsT0FBTztRQUNQLFFBQVE7S0FDQSxDQUFDO0lBR0Usd0JBQVEsR0FBRztRQUN0QixPQUFPO1FBQ1AsT0FBTztRQUNQLFNBQVM7UUFDVCxRQUFRO1FBQ1IsU0FBUztRQUNULFVBQVU7S0FDRixDQUFDO0lBR0UsNkJBQWEsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFVLENBQUM7QUFFckUsQ0FBQyxFQXRCZ0IsZUFBZSxLQUFmLGVBQWUsUUFzQi9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9wdGlvbmFsLFxuICBSZW5kZXJlcjIsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xvYWQvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3JpdkJ1dHRvbl0nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5jc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgcmVhZG9ubHkgZ3JvdXA6IEJ1dHRvbkdyb3VwQ29tcG9uZW50LFxuICApIHt9XG5cbiAgQElucHV0KClcbiAgbG9ja2VkPzogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgbG9hZGluZz86IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgZnVsbD86IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgc2l6ZTogQnV0dG9uQ29tcG9uZW50LlNpemUgPSAnbWVkaXVtJztcblxuICBASW5wdXQoKVxuICB2YXJpYW50OiBCdXR0b25Db21wb25lbnQuVmFyaWFudCA9ICdiYXNpYyc7XG5cbiAgQElucHV0KClcbiAgaWNvbj86IEljb25Db21wb25lbnQuTmFtZTtcblxuICBASW5wdXQoKVxuICBpY29uUG9zaXRpb246IEJ1dHRvbkNvbXBvbmVudC5JY29uUG9zaXRpb24gPSAnZmlyc3QnO1xuXG4gIEBJbnB1dCgpXG4gIGN1cnJlbnQ/OiBib29sZWFuO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBnZXQgY2xhc3NlcygpIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoe1xuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5sb2NrZWQsXG4gICAgICBmdWxsOiB0aGlzLmZ1bGwsXG4gICAgICBsb2FkaW5nOiB0aGlzLmxvYWRpbmcsXG4gICAgICBbdGhpcy52YXJpYW50XTogdHJ1ZSxcbiAgICAgIFt0aGlzLnNpemVdOiB0cnVlLFxuICAgICAgc3RhY2tlZDogdGhpcy5pY29uUG9zaXRpb24gPT09ICdzdGFja2VkJyxcbiAgICAgIGdyb3VwZWQ6ICEhdGhpcy5ncm91cCxcbiAgICAgIGZpcnN0OiAhIXRoaXMuZ3JvdXA/LmlzRmlyc3QodGhpcy5lbCksXG4gICAgICBsYXN0OiAhIXRoaXMuZ3JvdXA/LmlzTGFzdCh0aGlzLmVsKSxcbiAgICAgIGN1cnJlbnQ6ICEhdGhpcy5jdXJyZW50LFxuICAgIH0pXG4gICAgICAuZmlsdGVyKChbXywgdl0pID0+IHYpXG4gICAgICAubWFwKChba10pID0+IGspXG4gICAgICAuam9pbignICcpO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKVxuICBnZXQgYXJpYURpc2FibGVkKCk6ICd0cnVlJyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmRpc2FibGVkIHx8IHRoaXMubG9ja2VkID8gJ3RydWUnIDogbnVsbDtcbiAgfVxuXG4gIGdldExvYWRpbmdWYXJpYW50KCk6IExvYWRpbmdDb21wb25lbnQuVmFyaWFudCB7XG4gICAgc3dpdGNoICh0aGlzLnZhcmlhbnQpIHtcbiAgICAgIGNhc2UgJ2Jhc2ljJzpcbiAgICAgIGNhc2UgJ2NhdXRpb24nOlxuICAgICAgY2FzZSAnZ2hvc3QnOlxuICAgICAgY2FzZSAnc3RhdGVmdWwnOlxuICAgICAgICByZXR1cm4gJ2RhcmsnO1xuICAgICAgY2FzZSAnZGFuZ2VyJzpcbiAgICAgIGNhc2UgJ3ByaW1hcnknOlxuICAgICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZCA/ICdkYXJrJyA6ICdsaWdodCc7XG4gICAgfVxuICB9XG5cbiAgZ2V0SWNvblNpemUoKTogSWNvbkNvbXBvbmVudC5TaXplIHtcbiAgICBzd2l0Y2ggKHRoaXMuc2l6ZSkge1xuICAgICAgY2FzZSAneHNtYWxsJzpcbiAgICAgIGNhc2UgJ3NtYWxsJzpcbiAgICAgICAgcmV0dXJuIDE2O1xuICAgICAgY2FzZSAnbWVkaXVtJzpcbiAgICAgICAgcmV0dXJuIDIwO1xuICAgICAgY2FzZSAnbGFyZ2UnOlxuICAgICAgY2FzZSAneGxhcmdlJzpcbiAgICAgICAgcmV0dXJuIDI0O1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZU5hdGl2ZUVsZW1lbnQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBsb2NrTmF0aXZlRWxlbWVudDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBjb25zdCBhY2Nlc3NDaGFuZ2U6IGJvb2xlYW4gPSAhIWNoYW5nZXNbJ2Rpc2FibGVkJ10gfHwgISFjaGFuZ2VzWydsb2NrZWQnXTtcbiAgICBpZiAoYWNjZXNzQ2hhbmdlKSB7XG4gICAgICBpZiAoY2hhbmdlc1snZGlzYWJsZWQnXSkge1xuICAgICAgICB0aGlzLmRpc2FibGVOYXRpdmVFbGVtZW50ID0gY2hhbmdlc1snZGlzYWJsZWQnXS5jdXJyZW50VmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAoY2hhbmdlc1snbG9ja2VkJ10pIHtcbiAgICAgICAgdGhpcy5sb2NrTmF0aXZlRWxlbWVudCA9IGNoYW5nZXNbJ2xvY2tlZCddLmN1cnJlbnRWYWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmICgnZGlzYWJsZWQnIGluIHRoaXMuZWwubmF0aXZlRWxlbWVudCkge1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlTmF0aXZlRWxlbWVudCB8fCB0aGlzLmxvY2tOYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnZGlzYWJsZWQnLCAndHJ1ZScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ2Rpc2FibGVkJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50T3JWYXJpYW50Q2hhbmdlOiBib29sZWFuID1cbiAgICAgICEhY2hhbmdlc1snY3VycmVudCddIHx8ICEhY2hhbmdlc1sndmFyaWFudCddO1xuICAgIGlmIChjdXJyZW50T3JWYXJpYW50Q2hhbmdlKSB7XG4gICAgICBpZiAodGhpcy5jdXJyZW50ICE9PSB1bmRlZmluZWQgJiYgdGhpcy52YXJpYW50ICE9PSAnc3RhdGVmdWwnKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICBgQnV0dG9uQ29tcG9uZW50OiBUaGUgJ2N1cnJlbnQnIGlucHV0IGlzIG9ubHkgdmFsaWQgd2hlbiB2YXJpYW50IGlzICdzdGF0ZWZ1bCcuIFZhcmlhbnQ6ICcke3RoaXMudmFyaWFudH0nYCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBCdXR0b25Db21wb25lbnQge1xuICBleHBvcnQgY29uc3QgU2l6ZXMgPSBbXG4gICAgJ3hzbWFsbCcsXG4gICAgJ3NtYWxsJyxcbiAgICAnbWVkaXVtJyxcbiAgICAnbGFyZ2UnLFxuICAgICd4bGFyZ2UnLFxuICBdIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBTaXplID0gKHR5cGVvZiBTaXplcylbbnVtYmVyXTtcblxuICBleHBvcnQgY29uc3QgVmFyaWFudHMgPSBbXG4gICAgJ2Jhc2ljJyxcbiAgICAnZ2hvc3QnLFxuICAgICdwcmltYXJ5JyxcbiAgICAnZGFuZ2VyJyxcbiAgICAnY2F1dGlvbicsXG4gICAgJ3N0YXRlZnVsJyxcbiAgXSBhcyBjb25zdDtcbiAgZXhwb3J0IHR5cGUgVmFyaWFudCA9ICh0eXBlb2YgVmFyaWFudHMpW251bWJlcl07XG5cbiAgZXhwb3J0IGNvbnN0IEljb25Qb3NpdGlvbnMgPSBbJ2ZpcnN0JywgJ2xhc3QnLCAnc3RhY2tlZCddIGFzIGNvbnN0O1xuICBleHBvcnQgdHlwZSBJY29uUG9zaXRpb24gPSAodHlwZW9mIEljb25Qb3NpdGlvbnMpW251bWJlcl07XG59XG4iLCI8cml2LWljb25cbiAgKm5nSWY9XCJpY29uICYmIChpY29uUG9zaXRpb24gPT09ICdmaXJzdCcgfHwgaWNvblBvc2l0aW9uID09PSAnc3RhY2tlZCcpXCJcbiAgW25hbWVdPVwibG9ja2VkID8gJ0xvY2snIDogaWNvblwiXG4gIFtzaXplXT1cImdldEljb25TaXplKClcIlxuPjwvcml2LWljb24+XG48c3Bhbj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuPHJpdi1pY29uXG4gICpuZ0lmPVwibG9ja2VkICYmICFpY29uXCJcbiAgW25hbWVdPVwiJ0xvY2snXCJcbiAgW3NpemVdPVwiZ2V0SWNvblNpemUoKVwiXG4+PC9yaXYtaWNvbj5cbjxyaXYtaWNvblxuICAqbmdJZj1cImljb24gJiYgaWNvblBvc2l0aW9uID09PSAnbGFzdCdcIlxuICBbbmFtZV09XCJsb2NrZWQgPyAnTG9jaycgOiBpY29uXCJcbiAgW3NpemVdPVwiZ2V0SWNvblNpemUoKVwiXG4+PC9yaXYtaWNvbj5cbjxyaXYtbG9hZGluZ1xuICAqbmdJZj1cImxvYWRpbmdcIlxuICBbc2l6ZV09XCIxNlwiXG4gIFt2YXJpYW50XT1cImdldExvYWRpbmdWYXJpYW50KClcIlxuPjwvcml2LWxvYWRpbmc+XG4iXX0=
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class ButtonGroupComponent {
|
|
4
|
-
constructor(el) {
|
|
5
|
-
this.el = el;
|
|
6
|
-
}
|
|
7
|
-
isFirst(btn) {
|
|
8
|
-
const child = this.getDirectChildOfGroup(btn);
|
|
9
|
-
return this.el.nativeElement.firstElementChild === child;
|
|
10
|
-
}
|
|
11
|
-
isLast(btn) {
|
|
12
|
-
const child = this.getDirectChildOfGroup(btn);
|
|
13
|
-
return this.el.nativeElement.lastElementChild === child;
|
|
14
|
-
}
|
|
15
|
-
/*
|
|
16
|
-
rivButton may not always be a *direct* descendant of the button group (like
|
|
17
|
-
in cases where a custom rivButton trigger is used for a riv-select as part
|
|
18
|
-
of a button group), so we traverse the tree until we get up to the direct
|
|
19
|
-
child of the group for calculating whether or not the button is first or
|
|
20
|
-
last (or neither), for proper styling.
|
|
21
|
-
*/
|
|
22
|
-
getDirectChildOfGroup(btn) {
|
|
23
|
-
const buttonElement = btn.nativeElement;
|
|
24
|
-
const hostElement = this.el.nativeElement;
|
|
25
|
-
let possibleChild = buttonElement;
|
|
26
|
-
while (possibleChild.parentElement &&
|
|
27
|
-
possibleChild.parentElement !== hostElement) {
|
|
28
|
-
possibleChild = possibleChild.parentElement;
|
|
29
|
-
}
|
|
30
|
-
return possibleChild;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
ButtonGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
-
ButtonGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ButtonGroupComponent, selector: "riv-button-group", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:flex}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
35
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ButtonGroupComponent, decorators: [{
|
|
36
|
-
type: Component,
|
|
37
|
-
args: [{ selector: 'riv-button-group', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [":host{display:flex}\n"] }]
|
|
38
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jpdi9zcmMvbGliL2lucHV0L2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQVEvRSxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQTZCLEVBQTJCO1FBQTNCLE9BQUUsR0FBRixFQUFFLENBQXlCO0lBQUcsQ0FBQztJQUVyRCxPQUFPLENBQUMsR0FBNEI7UUFDekMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEtBQUssS0FBSyxDQUFDO0lBQzNELENBQUM7SUFFTSxNQUFNLENBQUMsR0FBNEI7UUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEtBQUssS0FBSyxDQUFDO0lBQzFELENBQUM7SUFFRDs7Ozs7O01BTUU7SUFDTSxxQkFBcUIsQ0FDM0IsR0FBNEI7UUFFNUIsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQztRQUN4QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUUxQyxJQUFJLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbEMsT0FDRSxhQUFhLENBQUMsYUFBYTtZQUMzQixhQUFhLENBQUMsYUFBYSxLQUFLLFdBQVcsRUFDM0M7WUFDQSxhQUFhLEdBQUcsYUFBYSxDQUFDLGFBQWEsQ0FBQztTQUM3QztRQUVELE9BQU8sYUFBYSxDQUFDO0lBQ3ZCLENBQUM7O2tIQW5DVSxvQkFBb0I7c0dBQXBCLG9CQUFvQix3RENSakMsNkJBQ0E7NEZET2Esb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdyaXYtYnV0dG9uLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2J1dHRvbi1ncm91cC5jb21wb25lbnQuY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Hcm91cENvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWw6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7fVxuXG4gIHB1YmxpYyBpc0ZpcnN0KGJ0bjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGlsZCA9IHRoaXMuZ2V0RGlyZWN0Q2hpbGRPZkdyb3VwKGJ0bik7XG4gICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCA9PT0gY2hpbGQ7XG4gIH1cblxuICBwdWJsaWMgaXNMYXN0KGJ0bjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pOiBib29sZWFuIHtcbiAgICBjb25zdCBjaGlsZCA9IHRoaXMuZ2V0RGlyZWN0Q2hpbGRPZkdyb3VwKGJ0bik7XG4gICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5sYXN0RWxlbWVudENoaWxkID09PSBjaGlsZDtcbiAgfVxuXG4gIC8qXG4gICAgcml2QnV0dG9uIG1heSBub3QgYWx3YXlzIGJlIGEgKmRpcmVjdCogZGVzY2VuZGFudCBvZiB0aGUgYnV0dG9uIGdyb3VwIChsaWtlXG4gICAgaW4gY2FzZXMgd2hlcmUgYSBjdXN0b20gcml2QnV0dG9uIHRyaWdnZXIgaXMgdXNlZCBmb3IgYSByaXYtc2VsZWN0IGFzIHBhcnRcbiAgICBvZiBhIGJ1dHRvbiBncm91cCksIHNvIHdlIHRyYXZlcnNlIHRoZSB0cmVlIHVudGlsIHdlIGdldCB1cCB0byB0aGUgZGlyZWN0XG4gICAgY2hpbGQgb2YgdGhlIGdyb3VwIGZvciBjYWxjdWxhdGluZyB3aGV0aGVyIG9yIG5vdCB0aGUgYnV0dG9uIGlzIGZpcnN0IG9yXG4gICAgbGFzdCAob3IgbmVpdGhlciksIGZvciBwcm9wZXIgc3R5bGluZy5cbiAgKi9cbiAgcHJpdmF0ZSBnZXREaXJlY3RDaGlsZE9mR3JvdXAoXG4gICAgYnRuOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBjb25zdCBidXR0b25FbGVtZW50ID0gYnRuLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgaG9zdEVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICBsZXQgcG9zc2libGVDaGlsZCA9IGJ1dHRvbkVsZW1lbnQ7XG4gICAgd2hpbGUgKFxuICAgICAgcG9zc2libGVDaGlsZC5wYXJlbnRFbGVtZW50ICYmXG4gICAgICBwb3NzaWJsZUNoaWxkLnBhcmVudEVsZW1lbnQgIT09IGhvc3RFbGVtZW50XG4gICAgKSB7XG4gICAgICBwb3NzaWJsZUNoaWxkID0gcG9zc2libGVDaGlsZC5wYXJlbnRFbGVtZW50O1xuICAgIH1cblxuICAgIHJldHVybiBwb3NzaWJsZUNoaWxkO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
|
|
@@ -1,279 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ContentChild, EventEmitter, HostListener, Input, Output, } from '@angular/core';
|
|
2
|
-
import { timeDay, timeMonth } from 'd3-time';
|
|
3
|
-
import { uniqueId } from 'lodash';
|
|
4
|
-
import { BehaviorSubject } from 'rxjs';
|
|
5
|
-
import { DatePipe } from '../../format/pipes/date.pipe';
|
|
6
|
-
import { CalendarComponent } from '../calendar/calendar.component';
|
|
7
|
-
import { InputLabelComponent } from '../input-label/input-label.component';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/common";
|
|
10
|
-
import * as i2 from "../button/button.component";
|
|
11
|
-
import * as i3 from "../calendar/calendar.component";
|
|
12
|
-
import * as i4 from "../../overlay/callout/callout.component";
|
|
13
|
-
import * as i5 from "../../icon/icon.component";
|
|
14
|
-
import * as i6 from "../input-label/input-label.component";
|
|
15
|
-
import * as i7 from "../../overlay/overlay.directive";
|
|
16
|
-
export class DateComponent extends InputLabelComponent {
|
|
17
|
-
set value(v) {
|
|
18
|
-
if (this._value?.getTime() === v?.getTime())
|
|
19
|
-
return;
|
|
20
|
-
this._value = v;
|
|
21
|
-
// Skip text sync while typing so we don't stomp the user's in-progress input.
|
|
22
|
-
if (!this.hasFocus)
|
|
23
|
-
this.syncInputText();
|
|
24
|
-
if (v)
|
|
25
|
-
this.setActiveMonth(v);
|
|
26
|
-
this.cdr.markForCheck();
|
|
27
|
-
}
|
|
28
|
-
get value() {
|
|
29
|
-
return this._value;
|
|
30
|
-
}
|
|
31
|
-
set open(v) {
|
|
32
|
-
this.open$.next(v);
|
|
33
|
-
}
|
|
34
|
-
get open() {
|
|
35
|
-
return this.open$.getValue();
|
|
36
|
-
}
|
|
37
|
-
constructor(cdr, host) {
|
|
38
|
-
super();
|
|
39
|
-
this.cdr = cdr;
|
|
40
|
-
this.host = host;
|
|
41
|
-
this.min = CalendarComponent.defaultMin;
|
|
42
|
-
this.max = CalendarComponent.defaultMax;
|
|
43
|
-
this.placeholder = 'Select date';
|
|
44
|
-
this.disabled = false;
|
|
45
|
-
this.size = 'medium';
|
|
46
|
-
this.showClearButton = true;
|
|
47
|
-
this.showTodayButton = true;
|
|
48
|
-
this.activeYearMonth = timeMonth.floor(new Date());
|
|
49
|
-
this.open$ = new BehaviorSubject(false);
|
|
50
|
-
/**
|
|
51
|
-
* Id the combobox `aria-controls` points at, worn by the lazily rendered
|
|
52
|
-
* calendar popup. Generated per instance so multiple pickers on one page
|
|
53
|
-
* never collide.
|
|
54
|
-
*/
|
|
55
|
-
this.calendarId = uniqueId('riv-date-calendar-');
|
|
56
|
-
this.valueChange = new EventEmitter();
|
|
57
|
-
this.inputText = '';
|
|
58
|
-
this.hasFocus = false;
|
|
59
|
-
this.datePipe = new DatePipe();
|
|
60
|
-
}
|
|
61
|
-
ngOnChanges(changes) {
|
|
62
|
-
if (changes['rollingTodayLabel'] && !this.hasFocus)
|
|
63
|
-
this.syncInputText();
|
|
64
|
-
}
|
|
65
|
-
// The callout renders with isModal=false (no full-viewport scrim) and can't
|
|
66
|
-
// self-close on outside clicks. Any overlay layer — including sibling
|
|
67
|
-
// overlays like the month/year selects — counts as "inside" the picker.
|
|
68
|
-
onDocumentMouseDown(target) {
|
|
69
|
-
if (!this.open$.getValue() || !(target instanceof Element))
|
|
70
|
-
return;
|
|
71
|
-
if (this.host.nativeElement.contains(target))
|
|
72
|
-
return;
|
|
73
|
-
if (target.closest('.callout, .scrim, .overlay-container'))
|
|
74
|
-
return;
|
|
75
|
-
this.open$.next(false);
|
|
76
|
-
this.cdr.markForCheck();
|
|
77
|
-
}
|
|
78
|
-
clearValue() {
|
|
79
|
-
this.commit(undefined);
|
|
80
|
-
this.open$.next(false);
|
|
81
|
-
}
|
|
82
|
-
selectToday() {
|
|
83
|
-
if (!this.isTodaySelectable)
|
|
84
|
-
return;
|
|
85
|
-
this.commit(this.isRolling ? undefined : timeDay.floor(new Date()));
|
|
86
|
-
this.open$.next(false);
|
|
87
|
-
}
|
|
88
|
-
get isTodaySelectable() {
|
|
89
|
-
return DateComponent.isValidDate(timeDay.floor(new Date()), this.min, this.max);
|
|
90
|
-
}
|
|
91
|
-
get selectedCalendarValue() {
|
|
92
|
-
return (this.previewValue ??
|
|
93
|
-
this._value ??
|
|
94
|
-
(this.isRolling ? timeDay.floor(new Date()) : undefined));
|
|
95
|
-
}
|
|
96
|
-
onInputChange(value) {
|
|
97
|
-
this.inputText = value;
|
|
98
|
-
const parsed = this.parseInput(value);
|
|
99
|
-
this.previewValue = parsed;
|
|
100
|
-
if (parsed)
|
|
101
|
-
this.setActiveMonth(parsed);
|
|
102
|
-
this.cdr.markForCheck();
|
|
103
|
-
}
|
|
104
|
-
onInputBlur(event) {
|
|
105
|
-
this.hasFocus = false;
|
|
106
|
-
const parsed = this.parseInput(this.inputText);
|
|
107
|
-
if (parsed) {
|
|
108
|
-
this.commit(parsed);
|
|
109
|
-
}
|
|
110
|
-
else if (!this.inputText.trim() || this.isRollingText(this.inputText)) {
|
|
111
|
-
this.commit(undefined);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
// Invalid text — revert to whatever the committed value was.
|
|
115
|
-
this.syncInputText();
|
|
116
|
-
}
|
|
117
|
-
this.previewValue = undefined;
|
|
118
|
-
// Close on keyboard-driven focus changes (Tab out). Stay open if focus
|
|
119
|
-
// moved into a nested overlay (e.g. the calendar's month/year select).
|
|
120
|
-
// Mouse clicks inside the calendar preventDefault mousedown so this
|
|
121
|
-
// handler never runs for them.
|
|
122
|
-
const nextTarget = event?.relatedTarget;
|
|
123
|
-
const stayOpen = nextTarget instanceof Element &&
|
|
124
|
-
(this.host.nativeElement.contains(nextTarget) ||
|
|
125
|
-
!!nextTarget.closest('.callout, .scrim, .overlay-container'));
|
|
126
|
-
if (!stayOpen)
|
|
127
|
-
this.open$.next(false);
|
|
128
|
-
this.cdr.markForCheck();
|
|
129
|
-
}
|
|
130
|
-
onDateSelect(date) {
|
|
131
|
-
this.commit(timeDay.floor(date));
|
|
132
|
-
this.open$.next(false);
|
|
133
|
-
}
|
|
134
|
-
onInputFocus() {
|
|
135
|
-
this.hasFocus = true;
|
|
136
|
-
this.open$.next(true);
|
|
137
|
-
}
|
|
138
|
-
toggleCalendar() {
|
|
139
|
-
this.open$.next(!this.open$.getValue());
|
|
140
|
-
}
|
|
141
|
-
get isRolling() {
|
|
142
|
-
return this.rollingTodayLabel != null;
|
|
143
|
-
}
|
|
144
|
-
isRollingText(text) {
|
|
145
|
-
return (this.rollingTodayLabel != null &&
|
|
146
|
-
text.trim().toLowerCase() === this.rollingTodayLabel.toLowerCase());
|
|
147
|
-
}
|
|
148
|
-
syncInputText() {
|
|
149
|
-
this.inputText = this._value
|
|
150
|
-
? this.formatValue(this._value)
|
|
151
|
-
: this.rollingTodayLabel ?? '';
|
|
152
|
-
}
|
|
153
|
-
formatValue(date) {
|
|
154
|
-
return this.datePipe.transform(date);
|
|
155
|
-
}
|
|
156
|
-
parseInput(text) {
|
|
157
|
-
const parsed = DateComponent.parseDate(text);
|
|
158
|
-
return parsed && DateComponent.isValidDate(parsed, this.min, this.max)
|
|
159
|
-
? timeDay.floor(parsed)
|
|
160
|
-
: undefined;
|
|
161
|
-
}
|
|
162
|
-
setActiveMonth(date) {
|
|
163
|
-
const month = timeMonth.floor(date);
|
|
164
|
-
if (month.getTime() !== this.activeYearMonth.getTime()) {
|
|
165
|
-
this.activeYearMonth = month;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
commit(next) {
|
|
169
|
-
const unchanged = next?.getTime() === this._value?.getTime();
|
|
170
|
-
this._value = next;
|
|
171
|
-
this.syncInputText();
|
|
172
|
-
this.previewValue = undefined;
|
|
173
|
-
if (next)
|
|
174
|
-
this.setActiveMonth(next);
|
|
175
|
-
if (!unchanged)
|
|
176
|
-
this.valueChange.emit(next);
|
|
177
|
-
this.cdr.markForCheck();
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
DateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
181
|
-
DateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateComponent, selector: "riv-date", inputs: { min: "min", max: "max", value: "value", placeholder: "placeholder", disabled: "disabled", size: "size", showClearButton: "showClearButton", showTodayButton: "showTodayButton", rollingTodayLabel: "rollingTodayLabel", open: "open" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:mousedown": "onDocumentMouseDown($event.target)" } }, queries: [{ propertyName: "headerTemplate", first: true, predicate: ["header"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <div\n #trigger\n class=\"trigger\"\n [class.xsmall]=\"size === 'xsmall'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.xlarge]=\"size === 'xlarge'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n [class.disabled]=\"disabled\"\n >\n <input\n #input\n class=\"value\"\n [placeholder]=\"placeholder\"\n [value]=\"inputText\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"label || null\"\n [attr.aria-controls]=\"calendarId\"\n [attr.aria-expanded]=\"open$ | async\"\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-autocomplete=\"none\"\n (input)=\"onInputChange(input.value)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus()\"\n (keydown.enter)=\"input.blur(); open$.next(false); $event.preventDefault()\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n />\n <button\n class=\"chevron\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"toggleCalendar()\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"(open$ | async) ? 'Close calendar' : 'Open calendar'\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </button>\n </div>\n</riv-input-label>\n<ng-container *ngIf=\"open$ | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"trigger\"\n [isModal]=\"false\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-right',\n 'bottom-right',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false)\"\n >\n <div [attr.id]=\"calendarId\" (mousedown)=\"$event.preventDefault()\">\n <header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </header>\n <div class=\"content\">\n <riv-calendar\n [activeYearMonth]=\"activeYearMonth\"\n (activeYearMonthChange)=\"activeYearMonth = $event\"\n [displayMin]=\"min\"\n [displayMax]=\"max\"\n [selectableMin]=\"min\"\n [selectableMax]=\"max\"\n [selectedValue]=\"selectedCalendarValue\"\n (dateSelect)=\"onDateSelect($event); input.blur()\"\n ></riv-calendar>\n </div>\n <footer *ngIf=\"showClearButton || showTodayButton\" class=\"buttons\">\n <button\n *ngIf=\"showClearButton\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n (click)=\"clearValue(); input.blur()\"\n type=\"button\"\n >\n Clear\n </button>\n <button\n *ngIf=\"showTodayButton\"\n class=\"today\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'basic'\"\n [disabled]=\"!isTodaySelectable\"\n (click)=\"selectToday(); input.blur()\"\n type=\"button\"\n >\n Today\n </button>\n </footer>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0);padding-left:var(--size-small);position:relative}.trigger:focus-within{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger.disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre;border:none;background:transparent;outline:none;width:100%}.value::placeholder{color:var(--type-light-low-contrast)}.value:disabled{color:var(--type-light-disabled)}.trigger.xsmall .value{font:var(--input-small);padding:var(--size-xsmall) 0}.trigger.small .value{font:var(--input-small)}.trigger.large .value{font:var(--input-large);padding:var(--size-medium) var(--size-xsmall)}.trigger.xlarge .value{font:var(--input-large);padding:var(--size-large) var(--size-small)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-xsmall) calc(var(--base-grid-size) * 1.5);border:none;background:transparent;cursor:pointer;color:var(--type-light-high-contrast)}.chevron:disabled{color:var(--type-light-disabled);cursor:not-allowed}.trigger.warning{border-color:var(--surface-dark-caution)}.trigger.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}.content{padding:var(--size-xlarge)}.buttons{padding:0 var(--size-xlarge) var(--size-xlarge);display:flex;justify-content:space-between}.buttons .today{margin-left:auto}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "[rivButton]", inputs: ["locked", "disabled", "loading", "full", "size", "variant", "icon", "iconPosition", "current"] }, { kind: "component", type: i3.CalendarComponent, selector: "riv-calendar", inputs: ["activeYearMonth", "displayMin", "displayMax", "selectableMin", "selectableMax", "omitRange", "selectedValue"], outputs: ["activeYearMonthChange", "dateSelect"] }, { kind: "component", type: i4.CalloutComponent, selector: "riv-callout", inputs: ["anchor", "isModal", "preferredPosition", "allowedPositions", "fallbackDirection", "showCaret", "theme"], outputs: ["close"] }, { kind: "component", type: i5.IconComponent, selector: "riv-icon", inputs: ["name", "fillColor", "size", "customSize", "strokeWidth"] }, { kind: "component", type: i6.InputLabelComponent, selector: "riv-input-label", inputs: ["label", "help", "required", "labelActionText", "errorMessage", "state"], outputs: ["labelAction"] }, { kind: "directive", type: i7.OverlayDirective, selector: "[riv-overlay]" }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateComponent, decorators: [{
|
|
183
|
-
type: Component,
|
|
184
|
-
args: [{ selector: 'riv-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "<riv-input-label\n [label]=\"label\"\n [help]=\"help\"\n [required]=\"required\"\n [state]=\"state\"\n [errorMessage]=\"errorMessage\"\n [labelActionText]=\"labelActionText\"\n (labelAction)=\"labelAction.emit($event)\"\n>\n <div\n #trigger\n class=\"trigger\"\n [class.xsmall]=\"size === 'xsmall'\"\n [class.small]=\"size === 'small'\"\n [class.large]=\"size === 'large'\"\n [class.xlarge]=\"size === 'xlarge'\"\n [class.warning]=\"state === 'warning'\"\n [class.error]=\"state === 'error'\"\n [class.disabled]=\"disabled\"\n >\n <input\n #input\n class=\"value\"\n [placeholder]=\"placeholder\"\n [value]=\"inputText\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"label || null\"\n [attr.aria-controls]=\"calendarId\"\n [attr.aria-expanded]=\"open$ | async\"\n role=\"combobox\"\n aria-haspopup=\"dialog\"\n aria-autocomplete=\"none\"\n (input)=\"onInputChange(input.value)\"\n (blur)=\"onInputBlur($event)\"\n (focus)=\"onInputFocus()\"\n (keydown.enter)=\"input.blur(); open$.next(false); $event.preventDefault()\"\n type=\"text\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n />\n <button\n class=\"chevron\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"toggleCalendar()\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled ? 'true' : null\"\n [attr.aria-label]=\"(open$ | async) ? 'Close calendar' : 'Open calendar'\"\n type=\"button\"\n tabindex=\"-1\"\n >\n <riv-icon [name]=\"'Calendar'\" [size]=\"16\"></riv-icon>\n </button>\n </div>\n</riv-input-label>\n<ng-container *ngIf=\"open$ | async\">\n <riv-callout\n *riv-overlay\n [anchor]=\"trigger\"\n [isModal]=\"false\"\n [showCaret]=\"false\"\n [theme]=\"'light'\"\n [allowedPositions]=\"[\n 'top-left',\n 'top-right',\n 'bottom-right',\n 'bottom-left'\n ]\"\n [preferredPosition]=\"'bottom-right'\"\n (close)=\"open$.next(false)\"\n >\n <div [attr.id]=\"calendarId\" (mousedown)=\"$event.preventDefault()\">\n <header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </header>\n <div class=\"content\">\n <riv-calendar\n [activeYearMonth]=\"activeYearMonth\"\n (activeYearMonthChange)=\"activeYearMonth = $event\"\n [displayMin]=\"min\"\n [displayMax]=\"max\"\n [selectableMin]=\"min\"\n [selectableMax]=\"max\"\n [selectedValue]=\"selectedCalendarValue\"\n (dateSelect)=\"onDateSelect($event); input.blur()\"\n ></riv-calendar>\n </div>\n <footer *ngIf=\"showClearButton || showTodayButton\" class=\"buttons\">\n <button\n *ngIf=\"showClearButton\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'ghost'\"\n (click)=\"clearValue(); input.blur()\"\n type=\"button\"\n >\n Clear\n </button>\n <button\n *ngIf=\"showTodayButton\"\n class=\"today\"\n rivButton\n [size]=\"'small'\"\n [variant]=\"'basic'\"\n [disabled]=\"!isTodaySelectable\"\n (click)=\"selectToday(); input.blur()\"\n type=\"button\"\n >\n Today\n </button>\n </footer>\n </div>\n </riv-callout>\n</ng-container>\n", styles: [".trigger{width:100%;border:var(--border-width) solid var(--border-light);border-radius:var(--border-radius-small);display:flex;gap:var(--size-small);background-color:var(--surface-light-0);padding-left:var(--size-small);position:relative}.trigger:focus-within{outline:none;border:var(--border-width) solid var(--purp-60)}.trigger.disabled{color:var(--type-light-disabled);background-color:var(--surface-light-1)}.value{font:var(--input-medium);color:var(--type-light-high-contrast);padding:var(--size-small) 0;flex-grow:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:pre;border:none;background:transparent;outline:none;width:100%}.value::placeholder{color:var(--type-light-low-contrast)}.value:disabled{color:var(--type-light-disabled)}.trigger.xsmall .value{font:var(--input-small);padding:var(--size-xsmall) 0}.trigger.small .value{font:var(--input-small)}.trigger.large .value{font:var(--input-large);padding:var(--size-medium) var(--size-xsmall)}.trigger.xlarge .value{font:var(--input-large);padding:var(--size-large) var(--size-small)}.chevron{display:flex;justify-content:center;align-items:center;padding:var(--size-xsmall) calc(var(--base-grid-size) * 1.5);border:none;background:transparent;cursor:pointer;color:var(--type-light-high-contrast)}.chevron:disabled{color:var(--type-light-disabled);cursor:not-allowed}.trigger.warning{border-color:var(--surface-dark-caution)}.trigger.error{border-color:var(--surface-dark-danger);box-shadow:inset 0 0 0 var(--border-width-large) var(--surface-dark-danger)}.content{padding:var(--size-xlarge)}.buttons{padding:0 var(--size-xlarge) var(--size-xlarge);display:flex;justify-content:space-between}.buttons .today{margin-left:auto}\n"] }]
|
|
185
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { min: [{
|
|
186
|
-
type: Input
|
|
187
|
-
}], max: [{
|
|
188
|
-
type: Input
|
|
189
|
-
}], value: [{
|
|
190
|
-
type: Input
|
|
191
|
-
}], placeholder: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}], disabled: [{
|
|
194
|
-
type: Input
|
|
195
|
-
}], size: [{
|
|
196
|
-
type: Input
|
|
197
|
-
}], showClearButton: [{
|
|
198
|
-
type: Input
|
|
199
|
-
}], showTodayButton: [{
|
|
200
|
-
type: Input
|
|
201
|
-
}], rollingTodayLabel: [{
|
|
202
|
-
type: Input
|
|
203
|
-
}], headerTemplate: [{
|
|
204
|
-
type: ContentChild,
|
|
205
|
-
args: ['header']
|
|
206
|
-
}], open: [{
|
|
207
|
-
type: Input
|
|
208
|
-
}], valueChange: [{
|
|
209
|
-
type: Output
|
|
210
|
-
}], onDocumentMouseDown: [{
|
|
211
|
-
type: HostListener,
|
|
212
|
-
args: ['document:mousedown', ['$event.target']]
|
|
213
|
-
}] } });
|
|
214
|
-
(function (DateComponent) {
|
|
215
|
-
DateComponent.Sizes = [
|
|
216
|
-
'xsmall',
|
|
217
|
-
'small',
|
|
218
|
-
'medium',
|
|
219
|
-
'large',
|
|
220
|
-
'xlarge',
|
|
221
|
-
];
|
|
222
|
-
// Accepts MM/DD/YYYY, M/D/YY, and YYYY-MM-DD with /, -, or . separators, as
|
|
223
|
-
// well as separator-less digit runs (MMDDYYYY or MMDDYY). A 4-digit leading
|
|
224
|
-
// segment in the separated form is treated as an ISO year; 2-digit years
|
|
225
|
-
// pivot at 50 (<50 → 2000s, >=50 → 1900s).
|
|
226
|
-
function parseDate(input) {
|
|
227
|
-
const trimmed = input.trim();
|
|
228
|
-
if (!trimmed)
|
|
229
|
-
return undefined;
|
|
230
|
-
const ymd = /^\d+$/.test(trimmed)
|
|
231
|
-
? parseDigits(trimmed)
|
|
232
|
-
: parseSeparated(trimmed);
|
|
233
|
-
if (!ymd)
|
|
234
|
-
return undefined;
|
|
235
|
-
const [year, month, day] = ymd;
|
|
236
|
-
const date = new Date(year, month - 1, day);
|
|
237
|
-
return date.getFullYear() === year &&
|
|
238
|
-
date.getMonth() === month - 1 &&
|
|
239
|
-
date.getDate() === day
|
|
240
|
-
? date
|
|
241
|
-
: undefined;
|
|
242
|
-
}
|
|
243
|
-
DateComponent.parseDate = parseDate;
|
|
244
|
-
function expandTwoDigitYear(year) {
|
|
245
|
-
return year < 100 ? year + (year < 50 ? 2000 : 1900) : year;
|
|
246
|
-
}
|
|
247
|
-
// A run of digits with no separators: 8 → MMDDYYYY (literal year), 6 → MMDDYY
|
|
248
|
-
// (2-digit year pivoted at 50).
|
|
249
|
-
function parseDigits(digits) {
|
|
250
|
-
if (digits.length !== 8 && digits.length !== 6)
|
|
251
|
-
return undefined;
|
|
252
|
-
const year = parseInt(digits.slice(4), 10);
|
|
253
|
-
return [
|
|
254
|
-
digits.length === 6 ? expandTwoDigitYear(year) : year,
|
|
255
|
-
parseInt(digits.slice(0, 2), 10),
|
|
256
|
-
parseInt(digits.slice(2, 4), 10),
|
|
257
|
-
];
|
|
258
|
-
}
|
|
259
|
-
function parseSeparated(input) {
|
|
260
|
-
const parts = input.split(/[/.-]/);
|
|
261
|
-
if (parts.length !== 3)
|
|
262
|
-
return undefined;
|
|
263
|
-
const nums = parts.map(p => parseInt(p, 10));
|
|
264
|
-
if (nums.some(isNaN))
|
|
265
|
-
return undefined;
|
|
266
|
-
const [year, month, day] = parts[0].length === 4 ? nums : [nums[2], nums[0], nums[1]];
|
|
267
|
-
return [
|
|
268
|
-
parts[0].length === 4 ? year : expandTwoDigitYear(year),
|
|
269
|
-
month,
|
|
270
|
-
day,
|
|
271
|
-
];
|
|
272
|
-
}
|
|
273
|
-
function isValidDate(date, min, max) {
|
|
274
|
-
const time = date.getTime();
|
|
275
|
-
return time >= min.getTime() && time <= max.getTime();
|
|
276
|
-
}
|
|
277
|
-
DateComponent.isValidDate = isValidDate;
|
|
278
|
-
})(DateComponent || (DateComponent = {}));
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yaXYvc3JjL2xpYi9pbnB1dC9kYXRlL2RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcml2L3NyYy9saWIvaW5wdXQvZGF0ZS9kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0FBUTNFLE1BQU0sT0FBTyxhQUFjLFNBQVEsbUJBQW1CO0lBT3BELElBQ0ksS0FBSyxDQUFDLENBQW1CO1FBQzNCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFO1lBQUUsT0FBTztRQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNoQiw4RUFBOEU7UUFDOUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FB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QzdELE9BQU87WUFDTCxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7WUFDdkQsS0FBSztZQUNMLEdBQUc7U0FDSixDQUFDO0lBQ0osQ0FBQztJQUVELFNBQWdCLFdBQVcsQ0FBQyxJQUFVLEVBQUUsR0FBUyxFQUFFLEdBQVM7UUFDMUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzVCLE9BQU8sSUFBSSxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFIZSx5QkFBVyxjQUcxQixDQUFBO0FBQ0gsQ0FBQyxFQXBFZ0IsYUFBYSxLQUFiLGFBQWEsUUFvRTdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVGVtcGxhdGVSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGltZURheSwgdGltZU1vbnRoIH0gZnJvbSAnZDMtdGltZSc7XG5pbXBvcnQgeyB1bmlxdWVJZCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnLi4vLi4vZm9ybWF0L3BpcGVzL2RhdGUucGlwZSc7XG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4uL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJbnB1dExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQtbGFiZWwvaW5wdXQtbGFiZWwuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncml2LWRhdGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUuY29tcG9uZW50LmNzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZUNvbXBvbmVudCBleHRlbmRzIElucHV0TGFiZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBtaW46IERhdGUgPSBDYWxlbmRhckNvbXBvbmVudC5kZWZhdWx0TWluO1xuXG4gIEBJbnB1dCgpXG4gIG1heDogRGF0ZSA9IENhbGVuZGFyQ29tcG9uZW50LmRlZmF1bHRNYXg7XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlKHY6IERhdGUgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5fdmFsdWU/LmdldFRpbWUoKSA9PT0gdj8uZ2V0VGltZSgpKSByZXR1cm47XG4gICAgdGhpcy5fdmFsdWUgPSB2O1xuICAgIC8vIFNraXAgdGV4dCBzeW5jIHdoaWxlIHR5cGluZyBzbyB3ZSBkb24ndCBzdG9tcCB0aGUgdXNlcidzIGluLXByb2dyZXNzIGlucHV0LlxuICAgIGlmICghdGhpcy5oYXNGb2N1cykgdGhpcy5zeW5jSW5wdXRUZXh0KCk7XG4gICAgaWYgKHYpIHRoaXMuc2V0QWN0aXZlTW9udGgodik7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgZ2V0IHZhbHVlKCk6IERhdGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuICBwcml2YXRlIF92YWx1ZT86IERhdGU7XG5cbiAgQElucHV0KClcbiAgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY3QgZGF0ZSc7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzaXplOiBEYXRlQ29tcG9uZW50LlNpemUgPSAnbWVkaXVtJztcblxuICBASW5wdXQoKVxuICBzaG93Q2xlYXJCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHNob3dUb2RheUJ1dHRvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgcm9sbGluZ1RvZGF5TGFiZWw/OiBzdHJpbmc7XG5cbiAgQENvbnRlbnRDaGlsZCgnaGVhZGVyJylcbiAgaGVhZGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx2b2lkPjtcblxuICBhY3RpdmVZZWFyTW9udGggPSB0aW1lTW9udGguZmxvb3IobmV3IERhdGUoKSk7XG5cbiAgcmVhZG9ubHkgb3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgQElucHV0KClcbiAgc2V0IG9wZW4odjogYm9vbGVhbikge1xuICAgIHRoaXMub3BlbiQubmV4dCh2KTtcbiAgfVxuICBnZXQgb3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcGVuJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIElkIHRoZSBjb21ib2JveCBgYXJpYS1jb250cm9sc2AgcG9pbnRzIGF0LCB3b3JuIGJ5IHRoZSBsYXppbHkgcmVuZGVyZWRcbiAgICogY2FsZW5kYXIgcG9wdXAuIEdlbmVyYXRlZCBwZXIgaW5zdGFuY2Ugc28gbXVsdGlwbGUgcGlja2VycyBvbiBvbmUgcGFnZVxuICAgKiBuZXZlciBjb2xsaWRlLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FsZW5kYXJJZCA9IHVuaXF1ZUlkKCdyaXYtZGF0ZS1jYWxlbmRhci0nKTtcblxuICBAT3V0cHV0KClcbiAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCB1bmRlZmluZWQ+KCk7XG5cbiAgaW5wdXRUZXh0OiBzdHJpbmcgPSAnJztcbiAgcHJldmlld1ZhbHVlPzogRGF0ZTtcbiAgcHJpdmF0ZSBoYXNGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGRhdGVQaXBlID0gbmV3IERhdGVQaXBlKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgaG9zdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3JvbGxpbmdUb2RheUxhYmVsJ10gJiYgIXRoaXMuaGFzRm9jdXMpIHRoaXMuc3luY0lucHV0VGV4dCgpO1xuICB9XG5cbiAgLy8gVGhlIGNhbGxvdXQgcmVuZGVycyB3aXRoIGlzTW9kYWw9ZmFsc2UgKG5vIGZ1bGwtdmlld3BvcnQgc2NyaW0pIGFuZCBjYW4ndFxuICAvLyBzZWxmLWNsb3NlIG9uIG91dHNpZGUgY2xpY2tzLiBBbnkgb3ZlcmxheSBsYXllciDigJQgaW5jbHVkaW5nIHNpYmxpbmdcbiAgLy8gb3ZlcmxheXMgbGlrZSB0aGUgbW9udGgveWVhciBzZWxlY3RzIOKAlCBjb3VudHMgYXMgXCJpbnNpZGVcIiB0aGUgcGlja2VyLlxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZWRvd24nLCBbJyRldmVudC50YXJnZXQnXSlcbiAgb25Eb2N1bWVudE1vdXNlRG93bih0YXJnZXQ6IEV2ZW50VGFyZ2V0IHwgbnVsbCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5vcGVuJC5nZXRWYWx1ZSgpIHx8ICEodGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCkpIHJldHVybjtcbiAgICBpZiAodGhpcy5ob3N0Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkgcmV0dXJuO1xuICAgIGlmICh0YXJnZXQuY2xvc2VzdCgnLmNhbGxvdXQsIC5zY3JpbSwgLm92ZXJsYXktY29udGFpbmVyJykpIHJldHVybjtcbiAgICB0aGlzLm9wZW4kLm5leHQoZmFsc2UpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgY2xlYXJWYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbW1pdCh1bmRlZmluZWQpO1xuICAgIHRoaXMub3BlbiQubmV4dChmYWxzZSk7XG4gIH1cblxuICBzZWxlY3RUb2RheSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNUb2RheVNlbGVjdGFibGUpIHJldHVybjtcbiAgICB0aGlzLmNvbW1pdCh0aGlzLmlzUm9sbGluZyA/IHVuZGVmaW5lZCA6IHRpbWVEYXkuZmxvb3IobmV3IERhdGUoKSkpO1xuICAgIHRoaXMub3BlbiQubmV4dChmYWxzZSk7XG4gIH1cblxuICBnZXQgaXNUb2RheVNlbGVjdGFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIERhdGVDb21wb25lbnQuaXNWYWxpZERhdGUoXG4gICAgICB0aW1lRGF5LmZsb29yKG5ldyBEYXRlKCkpLFxuICAgICAgdGhpcy5taW4sXG4gICAgICB0aGlzLm1heCxcbiAgICApO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkQ2FsZW5kYXJWYWx1ZSgpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5wcmV2aWV3VmFsdWUgPz9cbiAgICAgIHRoaXMuX3ZhbHVlID8/XG4gICAgICAodGhpcy5pc1JvbGxpbmcgPyB0aW1lRGF5LmZsb29yKG5ldyBEYXRlKCkpIDogdW5kZWZpbmVkKVxuICAgICk7XG4gIH1cblxuICBvbklucHV0Q2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0VGV4dCA9IHZhbHVlO1xuICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VJbnB1dCh2YWx1ZSk7XG4gICAgdGhpcy5wcmV2aWV3VmFsdWUgPSBwYXJzZWQ7XG4gICAgaWYgKHBhcnNlZCkgdGhpcy5zZXRBY3RpdmVNb250aChwYXJzZWQpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgb25JbnB1dEJsdXIoZXZlbnQ/OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5oYXNGb2N1cyA9IGZhbHNlO1xuICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VJbnB1dCh0aGlzLmlucHV0VGV4dCk7XG4gICAgaWYgKHBhcnNlZCkge1xuICAgICAgdGhpcy5jb21taXQocGFyc2VkKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlucHV0VGV4dC50cmltKCkgfHwgdGhpcy5pc1JvbGxpbmdUZXh0KHRoaXMuaW5wdXRUZXh0KSkge1xuICAgICAgdGhpcy5jb21taXQodW5kZWZpbmVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSW52YWxpZCB0ZXh0IOKAlCByZXZlcnQgdG8gd2hhdGV2ZXIgdGhlIGNvbW1pdHRlZCB2YWx1ZSB3YXMuXG4gICAgICB0aGlzLnN5bmNJbnB1dFRleHQoKTtcbiAgICB9XG4gICAgdGhpcy5wcmV2aWV3VmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgLy8gQ2xvc2Ugb24ga2V5Ym9hcmQtZHJpdmVuIGZvY3VzIGNoYW5nZXMgKFRhYiBvdXQpLiBTdGF5IG9wZW4gaWYgZm9jdXNcbiAgICAvLyBtb3ZlZCBpbnRvIGEgbmVzdGVkIG92ZXJsYXkgKGUuZy4gdGhlIGNhbGVuZGFyJ3MgbW9udGgveWVhciBzZWxlY3QpLlxuICAgIC8vIE1vdXNlIGNsaWNrcyBpbnNpZGUgdGhlIGNhbGVuZGFyIHByZXZlbnREZWZhdWx0IG1vdXNlZG93biBzbyB0aGlzXG4gICAgLy8gaGFuZGxlciBuZXZlciBydW5zIGZvciB0aGVtLlxuICAgIGNvbnN0IG5leHRUYXJnZXQgPSBldmVudD8ucmVsYXRlZFRhcmdldDtcbiAgICBjb25zdCBzdGF5T3BlbiA9XG4gICAgICBuZXh0VGFyZ2V0IGluc3RhbmNlb2YgRWxlbWVudCAmJlxuICAgICAgKHRoaXMuaG9zdC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKG5leHRUYXJnZXQpIHx8XG4gICAgICAgICEhbmV4dFRhcmdldC5jbG9zZXN0KCcuY2FsbG91dCwgLnNjcmltLCAub3ZlcmxheS1jb250YWluZXInKSk7XG4gICAgaWYgKCFzdGF5T3BlbikgdGhpcy5vcGVuJC5uZXh0KGZhbHNlKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIG9uRGF0ZVNlbGVjdChkYXRlOiBEYXRlKTogdm9pZCB7XG4gICAgdGhpcy5jb21taXQodGltZURheS5mbG9vcihkYXRlKSk7XG4gICAgdGhpcy5vcGVuJC5uZXh0KGZhbHNlKTtcbiAgfVxuXG4gIG9uSW5wdXRGb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLmhhc0ZvY3VzID0gdHJ1ZTtcbiAgICB0aGlzLm9wZW4kLm5leHQodHJ1ZSk7XG4gIH1cblxuICB0b2dnbGVDYWxlbmRhcigpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW4kLm5leHQoIXRoaXMub3BlbiQuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICBwcml2YXRlIGdldCBpc1JvbGxpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucm9sbGluZ1RvZGF5TGFiZWwgIT0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgaXNSb2xsaW5nVGV4dCh0ZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5yb2xsaW5nVG9kYXlMYWJlbCAhPSBudWxsICYmXG4gICAgICB0ZXh0LnRyaW0oKS50b0xvd2VyQ2FzZSgpID09PSB0aGlzLnJvbGxpbmdUb2RheUxhYmVsLnRvTG93ZXJDYXNlKClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzeW5jSW5wdXRUZXh0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRUZXh0ID0gdGhpcy5fdmFsdWVcbiAgICAgID8gdGhpcy5mb3JtYXRWYWx1ZSh0aGlzLl92YWx1ZSlcbiAgICAgIDogdGhpcy5yb2xsaW5nVG9kYXlMYWJlbCA/PyAnJztcbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0VmFsdWUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGRhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYXJzZUlucHV0KHRleHQ6IHN0cmluZyk6IERhdGUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHBhcnNlZCA9IERhdGVDb21wb25lbnQucGFyc2VEYXRlKHRleHQpO1xuICAgIHJldHVybiBwYXJzZWQgJiYgRGF0ZUNvbXBvbmVudC5pc1ZhbGlkRGF0ZShwYXJzZWQsIHRoaXMubWluLCB0aGlzLm1heClcbiAgICAgID8gdGltZURheS5mbG9vcihwYXJzZWQpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QWN0aXZlTW9udGgoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IG1vbnRoID0gdGltZU1vbnRoLmZsb29yKGRhdGUpO1xuICAgIGlmIChtb250aC5nZXRUaW1lKCkgIT09IHRoaXMuYWN0aXZlWWVhck1vbnRoLmdldFRpbWUoKSkge1xuICAgICAgdGhpcy5hY3RpdmVZZWFyTW9udGggPSBtb250aDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbW1pdChuZXh0OiBEYXRlIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgY29uc3QgdW5jaGFuZ2VkID0gbmV4dD8uZ2V0VGltZSgpID09PSB0aGlzLl92YWx1ZT8uZ2V0VGltZSgpO1xuICAgIHRoaXMuX3ZhbHVlID0gbmV4dDtcbiAgICB0aGlzLnN5bmNJbnB1dFRleHQoKTtcbiAgICB0aGlzLnByZXZpZXdWYWx1ZSA9IHVuZGVmaW5lZDtcbiAgICBpZiAobmV4dCkgdGhpcy5zZXRBY3RpdmVNb250aChuZXh0KTtcbiAgICBpZiAoIXVuY2hhbmdlZCkgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5leHQpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRGF0ZUNvbXBvbmVudCB7XG4gIGV4cG9ydCBjb25zdCBTaXplcyA9IFtcbiAgICAneHNtYWxsJyxcbiAgICAnc21hbGwnLFxuICAgICdtZWRpdW0nLFxuICAgICdsYXJnZScsXG4gICAgJ3hsYXJnZScsXG4gIF0gYXMgY29uc3Q7XG4gIGV4cG9ydCB0eXBlIFNpemUgPSAodHlwZW9mIFNpemVzKVtudW1iZXJdO1xuXG4gIC8vIEFjY2VwdHMgTU0vREQvWVlZWSwgTS9EL1lZLCBhbmQgWVlZWS1NTS1ERCB3aXRoIC8sIC0sIG9yIC4gc2VwYXJhdG9ycywgYXNcbiAgLy8gd2VsbCBhcyBzZXBhcmF0b3ItbGVzcyBkaWdpdCBydW5zIChNTUREWVlZWSBvciBNTUREWVkpLiBBIDQtZGlnaXQgbGVhZGluZ1xuICAvLyBzZWdtZW50IGluIHRoZSBzZXBhcmF0ZWQgZm9ybSBpcyB0cmVhdGVkIGFzIGFuIElTTyB5ZWFyOyAyLWRpZ2l0IHllYXJzXG4gIC8vIHBpdm90IGF0IDUwICg8NTAg4oaSIDIwMDBzLCA+PTUwIOKGkiAxOTAwcykuXG4gIGV4cG9ydCBmdW5jdGlvbiBwYXJzZURhdGUoaW5wdXQ6IHN0cmluZyk6IERhdGUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHRyaW1tZWQgPSBpbnB1dC50cmltKCk7XG4gICAgaWYgKCF0cmltbWVkKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgeW1kID0gL15cXGQrJC8udGVzdCh0cmltbWVkKVxuICAgICAgPyBwYXJzZURpZ2l0cyh0cmltbWVkKVxuICAgICAgOiBwYXJzZVNlcGFyYXRlZCh0cmltbWVkKTtcbiAgICBpZiAoIXltZCkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IFt5ZWFyLCBtb250aCwgZGF5XSA9IHltZDtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpO1xuICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgPT09IHllYXIgJiZcbiAgICAgIGRhdGUuZ2V0TW9udGgoKSA9PT0gbW9udGggLSAxICYmXG4gICAgICBkYXRlLmdldERhdGUoKSA9PT0gZGF5XG4gICAgICA/IGRhdGVcbiAgICAgIDogdW5kZWZpbmVkO1xuICB9XG5cbiAgZnVuY3Rpb24gZXhwYW5kVHdvRGlnaXRZZWFyKHllYXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgcmV0dXJuIHllYXIgPCAxMDAgPyB5ZWFyICsgKHllYXIgPCA1MCA/IDIwMDAgOiAxOTAwKSA6IHllYXI7XG4gIH1cblxuICAvLyBBIHJ1biBvZiBkaWdpdHMgd2l0aCBubyBzZXBhcmF0b3JzOiA4IOKGkiBNTUREWVlZWSAobGl0ZXJhbCB5ZWFyKSwgNiDihpIgTU1ERFlZXG4gIC8vICgyLWRpZ2l0IHllYXIgcGl2b3RlZCBhdCA1MCkuXG4gIGZ1bmN0aW9uIHBhcnNlRGlnaXRzKGRpZ2l0czogc3RyaW5nKTogW251bWJlciwgbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZGlnaXRzLmxlbmd0aCAhPT0gOCAmJiBkaWdpdHMubGVuZ3RoICE9PSA2KSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IHllYXIgPSBwYXJzZUludChkaWdpdHMuc2xpY2UoNCksIDEwKTtcbiAgICByZXR1cm4gW1xuICAgICAgZGlnaXRzLmxlbmd0aCA9PT0gNiA/IGV4cGFuZFR3b0RpZ2l0WWVhcih5ZWFyKSA6IHllYXIsXG4gICAgICBwYXJzZUludChkaWdpdHMuc2xpY2UoMCwgMiksIDEwKSxcbiAgICAgIHBhcnNlSW50KGRpZ2l0cy5zbGljZSgyLCA0KSwgMTApLFxuICAgIF07XG4gIH1cblxuICBmdW5jdGlvbiBwYXJzZVNlcGFyYXRlZChpbnB1dDogc3RyaW5nKTogW251bWJlciwgbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBwYXJ0cyA9IGlucHV0LnNwbGl0KC9bLy4tXS8pO1xuICAgIGlmIChwYXJ0cy5sZW5ndGggIT09IDMpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBudW1zID0gcGFydHMubWFwKHAgPT4gcGFyc2VJbnQocCwgMTApKTtcbiAgICBpZiAobnVtcy5zb21lKGlzTmFOKSkgcmV0dXJuIHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IFt5ZWFyLCBtb250aCwgZGF5XSA9XG4gICAgICBwYXJ0c1swXS5sZW5ndGggPT09IDQgPyBudW1zIDogW251bXNbMl0sIG51bXNbMF0sIG51bXNbMV1dO1xuICAgIHJldHVybiBbXG4gICAgICBwYXJ0c1swXS5sZW5ndGggPT09IDQgPyB5ZWFyIDogZXhwYW5kVHdvRGlnaXRZZWFyKHllYXIpLFxuICAgICAgbW9udGgsXG4gICAgICBkYXksXG4gICAgXTtcbiAgfVxuXG4gIGV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkRGF0ZShkYXRlOiBEYXRlLCBtaW46IERhdGUsIG1heDogRGF0ZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHRpbWUgPSBkYXRlLmdldFRpbWUoKTtcbiAgICByZXR1cm4gdGltZSA+PSBtaW4uZ2V0VGltZSgpICYmIHRpbWUgPD0gbWF4LmdldFRpbWUoKTtcbiAgfVxufVxuIiwiPHJpdi1pbnB1dC1sYWJlbFxuICBbbGFiZWxdPVwibGFiZWxcIlxuICBbaGVscF09XCJoZWxwXCJcbiAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgW3N0YXRlXT1cInN0YXRlXCJcbiAgW2Vycm9yTWVzc2FnZV09XCJlcnJvck1lc3NhZ2VcIlxuICBbbGFiZWxBY3Rpb25UZXh0XT1cImxhYmVsQWN0aW9uVGV4dFwiXG4gIChsYWJlbEFjdGlvbik9XCJsYWJlbEFjdGlvbi5lbWl0KCRldmVudClcIlxuPlxuICA8ZGl2XG4gICAgI3RyaWdnZXJcbiAgICBjbGFzcz1cInRyaWdnZXJcIlxuICAgIFtjbGFzcy54c21hbGxdPVwic2l6ZSA9PT0gJ3hzbWFsbCdcIlxuICAgIFtjbGFzcy5zbWFsbF09XCJzaXplID09PSAnc21hbGwnXCJcbiAgICBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xhcmdlJ1wiXG4gICAgW2NsYXNzLnhsYXJnZV09XCJzaXplID09PSAneGxhcmdlJ1wiXG4gICAgW2NsYXNzLndhcm5pbmddPVwic3RhdGUgPT09ICd3YXJuaW5nJ1wiXG4gICAgW2NsYXNzLmVycm9yXT1cInN0YXRlID09PSAnZXJyb3InXCJcbiAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICA+XG4gICAgPGlucHV0XG4gICAgICAjaW5wdXRcbiAgICAgIGNsYXNzPVwidmFsdWVcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgIFt2YWx1ZV09XCJpbnB1dFRleHRcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAndHJ1ZScgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGFiZWwgfHwgbnVsbFwiXG4gICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImNhbGVuZGFySWRcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJvcGVuJCB8IGFzeW5jXCJcbiAgICAgIHJvbGU9XCJjb21ib2JveFwiXG4gICAgICBhcmlhLWhhc3BvcHVwPVwiZGlhbG9nXCJcbiAgICAgIGFyaWEtYXV0b2NvbXBsZXRlPVwibm9uZVwiXG4gICAgICAoaW5wdXQpPVwib25JbnB1dENoYW5nZShpbnB1dC52YWx1ZSlcIlxuICAgICAgKGJsdXIpPVwib25JbnB1dEJsdXIoJGV2ZW50KVwiXG4gICAgICAoZm9jdXMpPVwib25JbnB1dEZvY3VzKClcIlxuICAgICAgKGtleWRvd24uZW50ZXIpPVwiaW5wdXQuYmx1cigpOyBvcGVuJC5uZXh0KGZhbHNlKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcbiAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgLz5cbiAgICA8YnV0dG9uXG4gICAgICBjbGFzcz1cImNoZXZyb25cIlxuICAgICAgKG1vdXNlZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAoY2xpY2spPVwidG9nZ2xlQ2FsZW5kYXIoKVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCA/ICd0cnVlJyA6IG51bGxcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIob3BlbiQgfCBhc3luYykgPyAnQ2xvc2UgY2FsZW5kYXInIDogJ09wZW4gY2FsZW5kYXInXCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgPlxuICAgICAgPHJpdi1pY29uIFtuYW1lXT1cIidDYWxlbmRhcidcIiBbc2l6ZV09XCIxNlwiPjwvcml2LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9yaXYtaW5wdXQtbGFiZWw+XG48bmctY29udGFpbmVyICpuZ0lmPVwib3BlbiQgfCBhc3luY1wiPlxuICA8cml2LWNhbGxvdXRcbiAgICAqcml2LW92ZXJsYXlcbiAgICBbYW5jaG9yXT1cInRyaWdnZXJcIlxuICAgIFtpc01vZGFsXT1cImZhbHNlXCJcbiAgICBbc2hvd0NhcmV0XT1cImZhbHNlXCJcbiAgICBbdGhlbWVdPVwiJ2xpZ2h0J1wiXG4gICAgW2FsbG93ZWRQb3NpdGlvbnNdPVwiW1xuICAgICAgJ3RvcC1sZWZ0JyxcbiAgICAgICd0b3AtcmlnaHQnLFxuICAgICAgJ2JvdHRvbS1yaWdodCcsXG4gICAgICAnYm90dG9tLWxlZnQnXG4gICAgXVwiXG4gICAgW3ByZWZlcnJlZFBvc2l0aW9uXT1cIidib3R0b20tcmlnaHQnXCJcbiAgICAoY2xvc2UpPVwib3BlbiQubmV4dChmYWxzZSlcIlxuICA+XG4gICAgPGRpdiBbYXR0ci5pZF09XCJjYWxlbmRhcklkXCIgKG1vdXNlZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiPlxuICAgICAgPGhlYWRlciAqbmdJZj1cImhlYWRlclRlbXBsYXRlXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9oZWFkZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxuICAgICAgICA8cml2LWNhbGVuZGFyXG4gICAgICAgICAgW2FjdGl2ZVllYXJNb250aF09XCJhY3RpdmVZZWFyTW9udGhcIlxuICAgICAgICAgIChhY3RpdmVZZWFyTW9udGhDaGFuZ2UpPVwiYWN0aXZlWWVhck1vbnRoID0gJGV2ZW50XCJcbiAgICAgICAgICBbZGlzcGxheU1pbl09XCJtaW5cIlxuICAgICAgICAgIFtkaXNwbGF5TWF4XT1cIm1heFwiXG4gICAgICAgICAgW3NlbGVjdGFibGVNaW5dPVwibWluXCJcbiAgICAgICAgICBbc2VsZWN0YWJsZU1heF09XCJtYXhcIlxuICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cInNlbGVjdGVkQ2FsZW5kYXJWYWx1ZVwiXG4gICAgICAgICAgKGRhdGVTZWxlY3QpPVwib25EYXRlU2VsZWN0KCRldmVudCk7IGlucHV0LmJsdXIoKVwiXG4gICAgICAgID48L3Jpdi1jYWxlbmRhcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGZvb3RlciAqbmdJZj1cInNob3dDbGVhckJ1dHRvbiB8fCBzaG93VG9kYXlCdXR0b25cIiBjbGFzcz1cImJ1dHRvbnNcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0lmPVwic2hvd0NsZWFyQnV0dG9uXCJcbiAgICAgICAgICByaXZCdXR0b25cbiAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICBbdmFyaWFudF09XCInZ2hvc3QnXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2xlYXJWYWx1ZSgpOyBpbnB1dC5ibHVyKClcIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICA+XG4gICAgICAgICAgQ2xlYXJcbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdJZj1cInNob3dUb2RheUJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJ0b2RheVwiXG4gICAgICAgICAgcml2QnV0dG9uXG4gICAgICAgICAgW3NpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgW3ZhcmlhbnRdPVwiJ2Jhc2ljJ1wiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc1RvZGF5U2VsZWN0YWJsZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFRvZGF5KCk7IGlucHV0LmJsdXIoKVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgID5cbiAgICAgICAgICBUb2RheVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZm9vdGVyPlxuICAgIDwvZGl2PlxuICA8L3Jpdi1jYWxsb3V0PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|