@dereekb/dbx-form 9.25.16 → 10.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_index.scss +1 -0
- package/calendar/lib/calendar.module.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.cell.component.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.component.d.ts +4 -4
- package/calendar/lib/calendar.schedule.selection.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.days.component.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.days.form.component.d.ts +2 -2
- package/calendar/lib/calendar.schedule.selection.dialog.button.component.d.ts +1 -6
- package/calendar/lib/calendar.schedule.selection.dialog.component.d.ts +1 -11
- package/calendar/lib/calendar.schedule.selection.popover.button.component.d.ts +2 -2
- package/calendar/lib/calendar.schedule.selection.popover.component.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.popover.content.component.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.range.component.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.store.d.ts +4 -32
- package/calendar/lib/calendar.schedule.selection.store.provide.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.toggle.button.component.d.ts +1 -1
- package/calendar/lib/field/schedule/calendar.schedule.field.component.d.ts +2 -8
- package/esm2022/calendar/lib/calendar.module.mjs +155 -0
- package/{esm2020 → esm2022}/calendar/lib/calendar.schedule.selection.cell.component.mjs +10 -10
- package/{esm2020 → esm2022}/calendar/lib/calendar.schedule.selection.component.mjs +6 -6
- package/{esm2020 → esm2022}/calendar/lib/calendar.schedule.selection.days.component.mjs +6 -6
- package/{esm2020 → esm2022}/calendar/lib/calendar.schedule.selection.days.form.component.mjs +6 -6
- package/esm2022/calendar/lib/calendar.schedule.selection.dialog.button.component.mjs +36 -0
- package/esm2022/calendar/lib/calendar.schedule.selection.dialog.component.mjs +56 -0
- package/{esm2020 → esm2022}/calendar/lib/calendar.schedule.selection.mjs +1 -1
- package/{esm2020 → esm2022}/calendar/lib/calendar.schedule.selection.popover.button.component.mjs +6 -6
- package/esm2022/calendar/lib/calendar.schedule.selection.popover.component.mjs +38 -0
- package/{esm2020 → esm2022}/calendar/lib/calendar.schedule.selection.popover.content.component.mjs +6 -6
- package/esm2022/calendar/lib/calendar.schedule.selection.range.component.mjs +188 -0
- package/esm2022/calendar/lib/calendar.schedule.selection.store.mjs +785 -0
- package/{esm2020 → esm2022}/calendar/lib/calendar.schedule.selection.store.provide.mjs +7 -7
- package/{esm2020 → esm2022}/calendar/lib/calendar.schedule.selection.toggle.button.component.mjs +6 -6
- package/esm2022/calendar/lib/field/schedule/calendar.schedule.field.component.mjs +158 -0
- package/esm2022/calendar/lib/field/schedule/calendar.schedule.field.mjs +28 -0
- package/esm2022/calendar/lib/field/schedule/calendar.schedule.module.mjs +58 -0
- package/{esm2020 → esm2022}/lib/form/action/form.action.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/form/action/form.action.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/form/action/transition/form.action.transition.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/form/action/transition/form.action.transition.safety.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/form/form.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/form/io/form.changes.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/form/io/form.input.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/form/io/form.io.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/form/io/form.loading.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/form.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/formly/field/checklist/checklist.item.field.component.mjs +9 -9
- package/{esm2020 → esm2022}/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +6 -6
- package/esm2022/lib/formly/field/checklist/checklist.item.field.module.mjs +67 -0
- package/{esm2020 → esm2022}/lib/formly/field/component/component.field.component.mjs +6 -6
- package/esm2022/lib/formly/field/component/component.field.module.mjs +32 -0
- package/esm2022/lib/formly/field/field.mjs +97 -0
- package/{esm2020 → esm2022}/lib/formly/field/form.field.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/formly/field/selection/list/list.field.component.mjs +4 -4
- package/esm2022/lib/formly/field/selection/list/list.field.module.mjs +76 -0
- package/esm2022/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +33 -0
- package/{esm2020 → esm2022}/lib/formly/field/selection/pickable/pickable.field.directive.mjs +4 -4
- package/esm2022/lib/formly/field/selection/pickable/pickable.field.module.mjs +93 -0
- package/esm2022/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +116 -0
- package/{esm2020 → esm2022}/lib/formly/field/selection/pickable/pickable.mjs +1 -1
- package/esm2022/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +68 -0
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +95 -0
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.directive.mjs +278 -0
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.module.mjs +91 -0
- package/{esm2020 → esm2022}/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +4 -4
- package/esm2022/lib/formly/field/selection/selection.field.mjs +39 -0
- package/{esm2020 → esm2022}/lib/formly/field/selection/selection.mjs +1 -1
- package/{esm2020 → esm2022}/lib/formly/field/selection/selection.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/formly/field/selection/sourceselect/sourceselect.field.component.mjs +4 -4
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.field.module.mjs +93 -0
- package/{esm2020 → esm2022}/lib/formly/field/texteditor/texteditor.field.component.mjs +6 -6
- package/esm2022/lib/formly/field/texteditor/texteditor.field.module.mjs +51 -0
- package/{esm2020 → esm2022}/lib/formly/field/value/array/array.field.component.mjs +8 -8
- package/esm2022/lib/formly/field/value/array/array.field.module.mjs +62 -0
- package/esm2022/lib/formly/field/value/boolean/boolean.field.mjs +47 -0
- package/{esm2020 → esm2022}/lib/formly/field/value/boolean/boolean.field.module.mjs +5 -5
- package/esm2022/lib/formly/field/value/date/date.field.module.mjs +96 -0
- package/esm2022/lib/formly/field/value/date/datetime.field.component.mjs +488 -0
- package/esm2022/lib/formly/field/value/date/datetime.field.mjs +141 -0
- package/{esm2020 → esm2022}/lib/formly/field/value/date/datetime.field.service.mjs +9 -9
- package/esm2022/lib/formly/field/value/date/fixeddaterange.field.component.mjs +506 -0
- package/{esm2020 → esm2022}/lib/formly/field/value/number/number.field.module.mjs +5 -5
- package/esm2022/lib/formly/field/value/phone/phone.field.component.mjs +100 -0
- package/esm2022/lib/formly/field/value/phone/phone.field.module.mjs +66 -0
- package/{esm2020 → esm2022}/lib/formly/field/value/text/text.field.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/formly/field/value/value.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/formly/field/wrapper/expandable.wrapper.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/formly/field/wrapper/expandable.wrapper.delegate.mjs +4 -4
- package/{esm2020 → esm2022}/lib/formly/field/wrapper/flex.wrapper.component.mjs +6 -6
- package/esm2022/lib/formly/field/wrapper/form.wrapper.module.mjs +86 -0
- package/{esm2020 → esm2022}/lib/formly/field/wrapper/info.wrapper.component.mjs +7 -7
- package/esm2022/lib/formly/field/wrapper/section.wrapper.component.mjs +27 -0
- package/{esm2020 → esm2022}/lib/formly/field/wrapper/style.wrapper.component.mjs +7 -7
- package/esm2022/lib/formly/field/wrapper/subsection.wrapper.component.mjs +27 -0
- package/{esm2020 → esm2022}/lib/formly/field/wrapper/toggle.wrapper.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/formly/field/wrapper/working.wrapper.component.mjs +6 -6
- package/esm2022/lib/formly/field/wrapper/wrapper.mjs +73 -0
- package/{esm2020 → esm2022}/lib/formly/form/form.form.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/formly/form/search.form.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/formly/formly.context.directive.mjs +4 -4
- package/esm2022/lib/formly/formly.context.mjs +100 -0
- package/{esm2020 → esm2022}/lib/formly/formly.directive.mjs +16 -16
- package/{esm2020 → esm2022}/lib/formly/formly.form.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/formly/formly.module.mjs +16 -16
- package/{esm2020 → esm2022}/lib/layout/form.layout.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/layout/form.spacer.component.mjs +6 -6
- package/{esm2020 → esm2022}/mapbox/lib/field/latlng/latlng.field.component.mjs +10 -10
- package/{esm2020 → esm2022}/mapbox/lib/field/latlng/latlng.field.marker.component.mjs +6 -6
- package/esm2022/mapbox/lib/field/latlng/latlng.field.mjs +35 -0
- package/esm2022/mapbox/lib/field/latlng/latlng.module.mjs +59 -0
- package/{mapbox/esm2020 → esm2022/mapbox}/lib/field/zoom/zoom.field.component.mjs +10 -10
- package/esm2022/mapbox/lib/field/zoom/zoom.field.mjs +23 -0
- package/esm2022/mapbox/lib/field/zoom/zoom.module.mjs +57 -0
- package/{mapbox/esm2020 → esm2022/mapbox}/lib/mapbox.module.mjs +5 -5
- package/{fesm2020 → fesm2022}/dereekb-dbx-form-calendar.mjs +188 -228
- package/fesm2022/dereekb-dbx-form-calendar.mjs.map +1 -0
- package/{mapbox/fesm2020 → fesm2022}/dereekb-dbx-form-mapbox.mjs +76 -76
- package/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/dereekb-dbx-form.mjs +820 -831
- package/fesm2022/dereekb-dbx-form.mjs.map +1 -0
- package/lib/extension/_extension.scss +11 -6
- package/lib/extension/calendar/_calendar.scss +7 -5
- package/lib/form/_form.scss +3 -2
- package/lib/form/action/form.action.directive.d.ts +2 -2
- package/lib/form/action/transition/form.action.transition.safety.directive.d.ts +1 -1
- package/lib/form/form.angular.util.d.ts +1 -1
- package/lib/form/form.d.ts +1 -1
- package/lib/form/io/form.changes.directive.d.ts +1 -1
- package/lib/form/io/form.input.directive.d.ts +2 -2
- package/lib/form/io/form.loading.directive.d.ts +1 -1
- package/lib/formly/_formly.scss +7 -9
- package/lib/formly/field/_field.scss +7 -7
- package/lib/formly/field/checklist/_checklist.scss +3 -2
- package/lib/formly/field/checklist/checklist.field.d.ts +4 -4
- package/lib/formly/field/checklist/checklist.item.d.ts +1 -1
- package/lib/formly/field/checklist/checklist.item.field.component.d.ts +2 -2
- package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +4 -4
- package/lib/formly/field/checklist/checklist.item.field.d.ts +1 -1
- package/lib/formly/field/component/_component.scss +3 -2
- package/lib/formly/field/component/component.field.component.d.ts +2 -2
- package/lib/formly/field/component/component.field.d.ts +1 -1
- package/lib/formly/field/field.d.ts +5 -11
- package/lib/formly/field/selection/_selection.scss +5 -5
- package/lib/formly/field/selection/list/_list.scss +3 -2
- package/lib/formly/field/selection/list/list.field.component.d.ts +1 -1
- package/lib/formly/field/selection/pickable/_pickable.scss +3 -9
- package/lib/formly/field/selection/pickable/pickable.chip.field.component.d.ts +1 -1
- package/lib/formly/field/selection/pickable/pickable.d.ts +6 -22
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +3 -3
- package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +4 -4
- package/lib/formly/field/selection/pickable/pickable.util.d.ts +2 -2
- package/lib/formly/field/selection/searchable/_searchable.scss +5 -5
- package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +1 -1
- package/lib/formly/field/selection/searchable/searchable.d.ts +4 -4
- package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +3 -3
- package/lib/formly/field/selection/searchable/searchable.field.d.ts +1 -1
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +1 -1
- package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +1 -1
- package/lib/formly/field/selection/selection.d.ts +1 -5
- package/lib/formly/field/selection/selection.field.d.ts +1 -1
- package/lib/formly/field/selection/sourceselect/_sourceselect.scss +6 -15
- package/lib/formly/field/selection/sourceselect/sourceselect.d.ts +6 -6
- package/lib/formly/field/selection/sourceselect/sourceselect.field.component.d.ts +1 -1
- package/lib/formly/field/selection/sourceselect/sourceselect.field.module.d.ts +1 -1
- package/lib/formly/field/texteditor/_texteditor.scss +3 -2
- package/lib/formly/field/texteditor/texteditor.field.component.d.ts +2 -2
- package/lib/formly/field/value/_value.scss +10 -6
- package/lib/formly/field/value/array/_array.scss +7 -2
- package/lib/formly/field/value/array/array.field.component.d.ts +2 -2
- package/lib/formly/field/value/boolean/_boolean.scss +5 -4
- package/lib/formly/field/value/date/_date.scss +20 -37
- package/lib/formly/field/value/date/date.field.module.d.ts +1 -1
- package/lib/formly/field/value/date/datetime.field.component.d.ts +3 -13
- package/lib/formly/field/value/date/datetime.field.d.ts +5 -5
- package/lib/formly/field/value/date/fixeddaterange.field.component.d.ts +7 -7
- package/lib/formly/field/value/hidden.field.d.ts +1 -1
- package/lib/formly/field/value/number/_number.scss +35 -0
- package/lib/formly/field/value/number/number.field.d.ts +3 -3
- package/lib/formly/field/value/phone/_phone.scss +4 -3
- package/lib/formly/field/value/phone/phone.field.component.d.ts +1 -1
- package/lib/formly/field/value/phone/phone.field.module.d.ts +1 -1
- package/lib/formly/field/value/text/_text.scss +3 -2
- package/lib/formly/field/value/text/text.additional.field.d.ts +3 -3
- package/lib/formly/field/value/text/text.field.d.ts +2 -2
- package/lib/formly/field/wrapper/_wrapper.scss +5 -4
- package/lib/formly/field/wrapper/autotouch.wrapper.component.d.ts +1 -1
- package/lib/formly/field/wrapper/expandable.wrapper.component.d.ts +2 -2
- package/lib/formly/field/wrapper/expandable.wrapper.delegate.d.ts +1 -1
- package/lib/formly/field/wrapper/flex.wrapper.component.d.ts +1 -1
- package/lib/formly/field/wrapper/form.wrapper.module.d.ts +1 -1
- package/lib/formly/field/wrapper/info.wrapper.component.d.ts +1 -1
- package/lib/formly/field/wrapper/section.wrapper.component.d.ts +2 -2
- package/lib/formly/field/wrapper/style.wrapper.component.d.ts +2 -2
- package/lib/formly/field/wrapper/subsection.wrapper.component.d.ts +2 -2
- package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +1 -1
- package/lib/formly/field/wrapper/working.wrapper.component.d.ts +2 -2
- package/lib/formly/field/wrapper/wrapper.d.ts +1 -1
- package/lib/formly/form/_form.scss +17 -4
- package/lib/formly/form/search.form.component.d.ts +1 -1
- package/lib/formly/formly.context.directive.d.ts +1 -1
- package/lib/formly/formly.directive.d.ts +4 -4
- package/lib/formly/formly.form.component.d.ts +1 -1
- package/lib/formly/template/login.d.ts +1 -1
- package/lib/formly/template/timezone.d.ts +1 -1
- package/lib/layout/_layout.scss +3 -2
- package/lib/layout/form.spacer.component.d.ts +1 -1
- package/lib/style/_all-typography.scss +11 -3
- package/lib/style/_core.scss +1 -2
- package/lib/style/_mixin.scss +10 -0
- package/lib/style/_theming.scss +1 -1
- package/lib/validator/available.d.ts +1 -1
- package/mapbox/{esm2020 → esm2022}/lib/field/latlng/latlng.field.component.mjs +10 -10
- package/mapbox/{esm2020 → esm2022}/lib/field/latlng/latlng.field.marker.component.mjs +6 -6
- package/mapbox/esm2022/lib/field/latlng/latlng.field.mjs +35 -0
- package/mapbox/esm2022/lib/field/latlng/latlng.module.mjs +59 -0
- package/{esm2020/mapbox → mapbox/esm2022}/lib/field/zoom/zoom.field.component.mjs +10 -10
- package/mapbox/esm2022/lib/field/zoom/zoom.field.mjs +23 -0
- package/mapbox/esm2022/lib/field/zoom/zoom.module.mjs +57 -0
- package/{esm2020/mapbox → mapbox/esm2022}/lib/mapbox.module.mjs +5 -5
- package/{fesm2020 → mapbox/fesm2022}/dereekb-dbx-form-mapbox.mjs +76 -76
- package/mapbox/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -0
- package/mapbox/lib/field/latlng/latlng.field.component.d.ts +1 -1
- package/mapbox/lib/field/latlng/latlng.field.marker.component.d.ts +1 -1
- package/mapbox/lib/field/zoom/zoom.field.component.d.ts +1 -1
- package/mapbox/package.json +10 -28
- package/package.json +31 -31
- package/esm2020/calendar/lib/calendar.module.mjs +0 -155
- package/esm2020/calendar/lib/calendar.schedule.selection.dialog.button.component.mjs +0 -38
- package/esm2020/calendar/lib/calendar.schedule.selection.dialog.component.mjs +0 -65
- package/esm2020/calendar/lib/calendar.schedule.selection.popover.component.mjs +0 -37
- package/esm2020/calendar/lib/calendar.schedule.selection.range.component.mjs +0 -188
- package/esm2020/calendar/lib/calendar.schedule.selection.store.mjs +0 -814
- package/esm2020/calendar/lib/field/schedule/calendar.schedule.field.component.mjs +0 -158
- package/esm2020/calendar/lib/field/schedule/calendar.schedule.field.mjs +0 -29
- package/esm2020/calendar/lib/field/schedule/calendar.schedule.module.mjs +0 -58
- package/esm2020/lib/formly/field/checklist/checklist.item.field.module.mjs +0 -67
- package/esm2020/lib/formly/field/component/component.field.module.mjs +0 -32
- package/esm2020/lib/formly/field/field.mjs +0 -103
- package/esm2020/lib/formly/field/selection/list/list.field.module.mjs +0 -76
- package/esm2020/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +0 -33
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.module.mjs +0 -93
- package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +0 -116
- package/esm2020/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +0 -68
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +0 -95
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +0 -278
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.module.mjs +0 -91
- package/esm2020/lib/formly/field/selection/selection.field.mjs +0 -39
- package/esm2020/lib/formly/field/selection/sourceselect/sourceselect.field.module.mjs +0 -93
- package/esm2020/lib/formly/field/texteditor/texteditor.field.module.mjs +0 -51
- package/esm2020/lib/formly/field/value/array/array.field.module.mjs +0 -62
- package/esm2020/lib/formly/field/value/boolean/boolean.field.mjs +0 -47
- package/esm2020/lib/formly/field/value/date/date.field.module.mjs +0 -96
- package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +0 -488
- package/esm2020/lib/formly/field/value/date/datetime.field.mjs +0 -143
- package/esm2020/lib/formly/field/value/date/fixeddaterange.field.component.mjs +0 -506
- package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +0 -100
- package/esm2020/lib/formly/field/value/phone/phone.field.module.mjs +0 -66
- package/esm2020/lib/formly/field/wrapper/form.wrapper.module.mjs +0 -86
- package/esm2020/lib/formly/field/wrapper/section.wrapper.component.mjs +0 -26
- package/esm2020/lib/formly/field/wrapper/subsection.wrapper.component.mjs +0 -26
- package/esm2020/lib/formly/field/wrapper/wrapper.mjs +0 -78
- package/esm2020/lib/formly/formly.context.mjs +0 -100
- package/esm2020/mapbox/lib/field/latlng/latlng.field.mjs +0 -35
- package/esm2020/mapbox/lib/field/latlng/latlng.module.mjs +0 -59
- package/esm2020/mapbox/lib/field/zoom/zoom.field.mjs +0 -23
- package/esm2020/mapbox/lib/field/zoom/zoom.module.mjs +0 -57
- package/fesm2015/dereekb-dbx-form-calendar.mjs +0 -1955
- package/fesm2015/dereekb-dbx-form-calendar.mjs.map +0 -1
- package/fesm2015/dereekb-dbx-form-mapbox.mjs +0 -585
- package/fesm2015/dereekb-dbx-form-mapbox.mjs.map +0 -1
- package/fesm2015/dereekb-dbx-form.mjs +0 -6205
- package/fesm2015/dereekb-dbx-form.mjs.map +0 -1
- package/fesm2020/dereekb-dbx-form-calendar.mjs.map +0 -1
- package/fesm2020/dereekb-dbx-form-mapbox.mjs.map +0 -1
- package/fesm2020/dereekb-dbx-form.mjs.map +0 -1
- package/mapbox/esm2020/lib/field/latlng/latlng.field.mjs +0 -35
- package/mapbox/esm2020/lib/field/latlng/latlng.module.mjs +0 -59
- package/mapbox/esm2020/lib/field/zoom/zoom.field.mjs +0 -23
- package/mapbox/esm2020/lib/field/zoom/zoom.module.mjs +0 -57
- package/mapbox/fesm2015/dereekb-dbx-form-mapbox.mjs +0 -585
- package/mapbox/fesm2015/dereekb-dbx-form-mapbox.mjs.map +0 -1
- package/mapbox/fesm2020/dereekb-dbx-form-mapbox.mjs.map +0 -1
- /package/{esm2020 → esm2022}/calendar/dereekb-dbx-form-calendar.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/lib/calendar.schedule.selection.form.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/lib/field/index.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/lib/field/schedule/index.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/lib/index.mjs +0 -0
- /package/{esm2020 → esm2022}/dereekb-dbx-form.mjs +0 -0
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/form/action/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/form/action/transition/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/form/form.angular.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/form/form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/form/io/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/config/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/config/validation.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/checklist/checklist.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/checklist/checklist.item.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/checklist/checklist.item.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/checklist/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/component/component.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/component/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/list/list.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/pickable/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/pickable/pickable.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/pickable/pickable.util.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/searchable/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/searchable/searchable.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/searchable/searchable.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/searchable/text.chip.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/sourceselect/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/sourceselect/sourceselect.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/selection/sourceselect/sourceselect.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/texteditor/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/texteditor/texteditor.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/array/array.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/array/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/boolean/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/date/date.value.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/date/datetime.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/date/datetime.preset.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/date/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/hidden.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/number/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/number/number.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/phone/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/phone/phone.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/text/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/text/text.additional.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/text/text.address.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/value/text/text.field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/field/wrapper/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/form/form.form.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/form/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/template/available.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/template/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/template/login.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/formly/template/timezone.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/layout/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validator/available.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validator/boolean.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validator/email.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validator/field.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validator/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validator/number.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/validator/phone.mjs +0 -0
- /package/{esm2020 → esm2022}/mapbox/dereekb-dbx-form-mapbox.mjs +0 -0
- /package/{esm2020 → esm2022}/mapbox/index.mjs +0 -0
- /package/{esm2020 → esm2022}/mapbox/lib/field/index.mjs +0 -0
- /package/{esm2020 → esm2022}/mapbox/lib/field/latlng/index.mjs +0 -0
- /package/{esm2020 → esm2022}/mapbox/lib/field/zoom/index.mjs +0 -0
- /package/mapbox/{esm2020 → esm2022}/dereekb-dbx-form-mapbox.mjs +0 -0
- /package/mapbox/{esm2020 → esm2022}/index.mjs +0 -0
- /package/mapbox/{esm2020 → esm2022}/lib/field/index.mjs +0 -0
- /package/mapbox/{esm2020 → esm2022}/lib/field/latlng/index.mjs +0 -0
- /package/mapbox/{esm2020 → esm2022}/lib/field/zoom/index.mjs +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { SubscriptionObject } from '@dereekb/rxjs';
|
|
2
|
+
import { Component, Inject, Input, ViewChild } from '@angular/core';
|
|
3
|
+
import { DbxCalendarScheduleSelectionStore } from './calendar.schedule.selection.store';
|
|
4
|
+
import { DbxCalendarStore } from '@dereekb/dbx-web/calendar';
|
|
5
|
+
import { FormGroup, FormControl } from '@angular/forms';
|
|
6
|
+
import { switchMap, throttleTime, distinctUntilChanged, filter, BehaviorSubject, startWith, map, shareReplay, combineLatest, EMPTY } from 'rxjs';
|
|
7
|
+
import { isSameDateDay } from '@dereekb/date';
|
|
8
|
+
import { MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
|
9
|
+
import { MatDateRangePicker } from '@angular/material/datepicker';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@dereekb/dbx-web/calendar";
|
|
12
|
+
import * as i2 from "./calendar.schedule.selection.store";
|
|
13
|
+
import * as i3 from "@angular/forms";
|
|
14
|
+
import * as i4 from "@angular/common";
|
|
15
|
+
import * as i5 from "@angular/material/form-field";
|
|
16
|
+
import * as i6 from "@dereekb/dbx-web";
|
|
17
|
+
import * as i7 from "@angular/material/datepicker";
|
|
18
|
+
import * as i8 from "@dereekb/dbx-core";
|
|
19
|
+
export class DbxScheduleSelectionCalendarDateRangeComponent {
|
|
20
|
+
set disabled(disabled) {
|
|
21
|
+
if (disabled) {
|
|
22
|
+
this.range.disable();
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.range.enable();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
constructor(dbxCalendarStore, dbxCalendarScheduleSelectionStore, matFormFieldDefaultOptions) {
|
|
29
|
+
this.dbxCalendarStore = dbxCalendarStore;
|
|
30
|
+
this.dbxCalendarScheduleSelectionStore = dbxCalendarScheduleSelectionStore;
|
|
31
|
+
this.matFormFieldDefaultOptions = matFormFieldDefaultOptions;
|
|
32
|
+
this._required = new BehaviorSubject(false);
|
|
33
|
+
this.required$ = this._required.asObservable();
|
|
34
|
+
this.timezone$ = this.dbxCalendarScheduleSelectionStore.effectiveOutputTimezone$;
|
|
35
|
+
this.openPickerOnTextClick = true;
|
|
36
|
+
this.label = 'Enter a date range';
|
|
37
|
+
this.showCustomize = false;
|
|
38
|
+
this._pickerOpened = new BehaviorSubject(false);
|
|
39
|
+
this._requiredSub = new SubscriptionObject();
|
|
40
|
+
this._syncSub = new SubscriptionObject();
|
|
41
|
+
this._valueSub = new SubscriptionObject();
|
|
42
|
+
this.range = new FormGroup({
|
|
43
|
+
start: new FormControl(null),
|
|
44
|
+
end: new FormControl(null)
|
|
45
|
+
});
|
|
46
|
+
this.errorStateMatcher = {
|
|
47
|
+
isErrorState: (control, form) => {
|
|
48
|
+
if (control) {
|
|
49
|
+
return (control.invalid && (control.dirty || control.touched)) || (control.touched && this.range.invalid);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
this.minDate$ = this.dbxCalendarScheduleSelectionStore.minDate$;
|
|
57
|
+
this.maxDate$ = this.dbxCalendarScheduleSelectionStore.maxDate$;
|
|
58
|
+
this.timezoneReleventDate$ = this.dbxCalendarScheduleSelectionStore.currentDateRange$.pipe(map((currentDateRange) => {
|
|
59
|
+
return currentDateRange ? currentDateRange.start ?? currentDateRange.end : undefined ?? new Date();
|
|
60
|
+
}), shareReplay(1));
|
|
61
|
+
this.isCustomized$ = this.dbxCalendarScheduleSelectionStore.isCustomized$;
|
|
62
|
+
this.currentErrorMessage$ = this.range.statusChanges.pipe(filter((x) => x === 'INVALID' || x === 'VALID'), map((x) => {
|
|
63
|
+
let currentErrorMessage;
|
|
64
|
+
if (x === 'INVALID') {
|
|
65
|
+
const { start, end } = this.range.controls;
|
|
66
|
+
if (this.range.hasError('required')) {
|
|
67
|
+
currentErrorMessage = 'Date range is required';
|
|
68
|
+
}
|
|
69
|
+
else if (start.hasError('matStartDateInvalid')) {
|
|
70
|
+
currentErrorMessage = 'Invalid start date';
|
|
71
|
+
}
|
|
72
|
+
else if (start.hasError('matDatepickerMin')) {
|
|
73
|
+
currentErrorMessage = 'Start date is too early';
|
|
74
|
+
}
|
|
75
|
+
else if (start.hasError('matDatepickerMax')) {
|
|
76
|
+
currentErrorMessage = 'Start date is too late';
|
|
77
|
+
}
|
|
78
|
+
else if (end.hasError('matStartDateInvalid')) {
|
|
79
|
+
currentErrorMessage = 'Invalid end date';
|
|
80
|
+
}
|
|
81
|
+
else if (end.hasError('matDatepickerMin')) {
|
|
82
|
+
currentErrorMessage = 'End date is too early';
|
|
83
|
+
}
|
|
84
|
+
else if (end.hasError('matDatepickerMax')) {
|
|
85
|
+
currentErrorMessage = 'End date is too late';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return currentErrorMessage;
|
|
89
|
+
}), shareReplay(1));
|
|
90
|
+
this.pickerOpened$ = this._pickerOpened.asObservable();
|
|
91
|
+
this.defaultDatePickerFilter = () => true;
|
|
92
|
+
this.datePickerFilter$ = combineLatest([this.dbxCalendarScheduleSelectionStore.isEnabledFilterDayFunction$, this.dbxCalendarScheduleSelectionStore.isInAllowedDaysOfWeekFunction$]).pipe(map(([isEnabled, isAllowedDayOfWeek]) => {
|
|
93
|
+
const fn = (date) => {
|
|
94
|
+
const result = date ? isAllowedDayOfWeek(date) && isEnabled(date) : true;
|
|
95
|
+
return result;
|
|
96
|
+
};
|
|
97
|
+
return fn;
|
|
98
|
+
}), shareReplay(1));
|
|
99
|
+
}
|
|
100
|
+
ngOnInit() {
|
|
101
|
+
this._syncSub.subscription = this.dbxCalendarScheduleSelectionStore.currentInputRange$.subscribe((x) => {
|
|
102
|
+
this.range.setValue({
|
|
103
|
+
start: x?.inputStart ?? null,
|
|
104
|
+
end: x?.inputEnd ?? null
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
this._valueSub.subscription = this._pickerOpened
|
|
108
|
+
.pipe(distinctUntilChanged(), switchMap((opened) => {
|
|
109
|
+
let obs;
|
|
110
|
+
if (opened) {
|
|
111
|
+
obs = EMPTY;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
obs = this.range.valueChanges.pipe(startWith(this.range.value));
|
|
115
|
+
}
|
|
116
|
+
return obs;
|
|
117
|
+
}), filter((x) => Boolean(x.start && x.end)), distinctUntilChanged((a, b) => isSameDateDay(a.start, b.start) && isSameDateDay(a.end, b.end)), throttleTime(100, undefined, { trailing: true }))
|
|
118
|
+
.subscribe((x) => {
|
|
119
|
+
if (x.start && x.end) {
|
|
120
|
+
this.dbxCalendarScheduleSelectionStore.setInputRange({ inputStart: x.start, inputEnd: x.end });
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
// add a required validator when needed
|
|
124
|
+
this._requiredSub.subscription = this._required.subscribe((x) => {
|
|
125
|
+
const validators = x
|
|
126
|
+
? [
|
|
127
|
+
(control) => {
|
|
128
|
+
const range = control.value;
|
|
129
|
+
if (!range || !range.start || !range.end) {
|
|
130
|
+
return { required: true };
|
|
131
|
+
}
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
: [];
|
|
136
|
+
this.range.setValidators(validators);
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
ngOnDestroy() {
|
|
140
|
+
this._required.complete();
|
|
141
|
+
this._pickerOpened.complete();
|
|
142
|
+
this._requiredSub.destroy();
|
|
143
|
+
this._syncSub.destroy();
|
|
144
|
+
this._valueSub.destroy();
|
|
145
|
+
}
|
|
146
|
+
get required() {
|
|
147
|
+
return this._required.value;
|
|
148
|
+
}
|
|
149
|
+
set required(required) {
|
|
150
|
+
this._required.next(required);
|
|
151
|
+
}
|
|
152
|
+
clickedDateRangeInput() {
|
|
153
|
+
if (this.openPickerOnTextClick) {
|
|
154
|
+
this.picker.open();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
pickerOpened() {
|
|
158
|
+
this._pickerOpened.next(true);
|
|
159
|
+
}
|
|
160
|
+
pickerClosed() {
|
|
161
|
+
this._pickerOpened.next(false);
|
|
162
|
+
}
|
|
163
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, deps: [{ token: i1.DbxCalendarStore }, { token: i2.DbxCalendarScheduleSelectionStore }, { token: MAT_FORM_FIELD_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
164
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: { openPickerOnTextClick: "openPickerOnTextClick", label: "label", hint: "hint", disabled: "disabled", showCustomize: "showCustomize", required: "required" }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true }], ngImport: i0, template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <div class=\"dbx-schedule-selection-calendar-date-range-field-content\">\n <!-- Primary Content -->\n <div class=\"dbx-flex-bar\">\n <div *ngIf=\"showCustomize && (isCustomized$ | async)\" class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle class=\"mat-datepicker-button-highlight\" matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input (click)=\"clickedDateRangeInput()\" [required]=\"required$ | async\" [dateFilter]=\"(datePickerFilter$ | async) ?? defaultDatePickerFilter\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n <span *ngIf=\"timezone$ | async\" class=\"dbx-schedule-selection-timezone dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezone$ | async | timezoneAbbreviation: (timezoneReleventDate$ | async) }}</span>\n <div *ngIf=\"showCustomize\">\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n </div>\n <!-- Custom Content -->\n <div>\n <ng-content></ng-content>\n </div>\n </div>\n <mat-error *ngIf=\"currentErrorMessage$ | async\">{{ currentErrorMessage$ | async }}</mat-error>\n <mat-hint>{{ hint }}</mat-hint>\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i6.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: i7.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i7.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i7.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i7.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i7.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TimezoneAbbreviationPipe, name: "timezoneAbbreviation" }] }); }
|
|
165
|
+
}
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, decorators: [{
|
|
167
|
+
type: Component,
|
|
168
|
+
args: [{ selector: 'dbx-schedule-selection-calendar-date-range', template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <div class=\"dbx-schedule-selection-calendar-date-range-field-content\">\n <!-- Primary Content -->\n <div class=\"dbx-flex-bar\">\n <div *ngIf=\"showCustomize && (isCustomized$ | async)\" class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle class=\"mat-datepicker-button-highlight\" matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input (click)=\"clickedDateRangeInput()\" [required]=\"required$ | async\" [dateFilter]=\"(datePickerFilter$ | async) ?? defaultDatePickerFilter\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n <span *ngIf=\"timezone$ | async\" class=\"dbx-schedule-selection-timezone dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezone$ | async | timezoneAbbreviation: (timezoneReleventDate$ | async) }}</span>\n <div *ngIf=\"showCustomize\">\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n </div>\n <!-- Custom Content -->\n <div>\n <ng-content></ng-content>\n </div>\n </div>\n <mat-error *ngIf=\"currentErrorMessage$ | async\">{{ currentErrorMessage$ | async }}</mat-error>\n <mat-hint>{{ hint }}</mat-hint>\n</mat-form-field>\n" }]
|
|
169
|
+
}], ctorParameters: function () { return [{ type: i1.DbxCalendarStore }, { type: i2.DbxCalendarScheduleSelectionStore }, { type: undefined, decorators: [{
|
|
170
|
+
type: Inject,
|
|
171
|
+
args: [MAT_FORM_FIELD_DEFAULT_OPTIONS]
|
|
172
|
+
}] }]; }, propDecorators: { openPickerOnTextClick: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], picker: [{
|
|
175
|
+
type: ViewChild,
|
|
176
|
+
args: ['picker']
|
|
177
|
+
}], label: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}], hint: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], disabled: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], showCustomize: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}], required: [{
|
|
186
|
+
type: Input
|
|
187
|
+
}] } });
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLnJhbmdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLnJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL2NhbGVuZGFyL3NyYy9saWIvY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLnJhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBYyxHQUFHLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0osT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQThCLDhCQUE4QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFMUcsT0FBTyxFQUFnQixrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7O0FBV2hGLE1BQU0sT0FBTyw4Q0FBOEM7SUFrQnpELElBQ0ksUUFBUSxD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QTRHbUYsTUFBTTsyQkFBQyw4QkFBOEI7NENBbEc5SyxxQkFBcUI7c0JBRHBCLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxTQUFTO3VCQUFDLFFBQVE7Z0JBSW5CLEtBQUs7c0JBREosS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSUYsUUFBUTtzQkFEWCxLQUFLO2dCQVVOLGFBQWE7c0JBRFosS0FBSztnQkE2SUYsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZSB9IGZyb20gJy4vY2FsZW5kYXIuc2NoZWR1bGUuc2VsZWN0aW9uLnN0b3JlJztcbmltcG9ydCB7IERieENhbGVuZGFyU3RvcmUgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViL2NhbGVuZGFyJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUNvbnRyb2wsIEFic3RyYWN0Q29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRocm90dGxlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgQmVoYXZpb3JTdWJqZWN0LCBzdGFydFdpdGgsIE9ic2VydmFibGUsIG1hcCwgc2hhcmVSZXBsYXksIGNvbWJpbmVMYXRlc3QsIEVNUFRZIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc1NhbWVEYXRlRGF5IH0gZnJvbSAnQGRlcmVla2IvZGF0ZSc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGREZWZhdWx0T3B0aW9ucywgTUFUX0ZPUk1fRklFTERfREVGQVVMVF9PUFRJT05TIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZUZpbHRlckZuLCBNYXREYXRlUmFuZ2VQaWNrZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcblxuaW50ZXJmYWNlIFJhbmdlVmFsdWUge1xuICBzdGFydD86IE1heWJlPERhdGU+O1xuICBlbmQ/OiBNYXliZTxEYXRlPjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LXNjaGVkdWxlLXNlbGVjdGlvbi1jYWxlbmRhci1kYXRlLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLnNjaGVkdWxlLnNlbGVjdGlvbi5yYW5nZS5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4U2NoZWR1bGVTZWxlY3Rpb25DYWxlbmRhckRhdGVSYW5nZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICByZWFkb25seSByZXF1aXJlZCQgPSB0aGlzLl9yZXF1aXJlZC5hc09ic2VydmFibGUoKTtcbiAgcmVhZG9ubHkgdGltZXpvbmUkID0gdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUuZWZmZWN0aXZlT3V0cHV0VGltZXpvbmUkO1xuXG4gIEBJbnB1dCgpXG4gIG9wZW5QaWNrZXJPblRleHRDbGljazogYm9vbGVhbiA9IHRydWU7XG5cbiAgQFZpZXdDaGlsZCgncGlja2VyJylcbiAgcGlja2VyITogTWF0RGF0ZVJhbmdlUGlja2VyPERhdGU+O1xuXG4gIEBJbnB1dCgpXG4gIGxhYmVsPzogTWF5YmU8c3RyaW5nPiA9ICdFbnRlciBhIGRhdGUgcmFuZ2UnO1xuXG4gIEBJbnB1dCgpXG4gIGhpbnQ/OiBNYXliZTxzdHJpbmc+O1xuXG4gIEBJbnB1dCgpXG4gIHNldCBkaXNhYmxlZChkaXNhYmxlZDogTWF5YmU8Ym9vbGVhbj4pIHtcbiAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMucmFuZ2UuZGlzYWJsZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJhbmdlLmVuYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNob3dDdXN0b21pemUgPSBmYWxzZTtcblxuICBwcml2YXRlIF9waWNrZXJPcGVuZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIF9yZXF1aXJlZFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfc3luY1N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfdmFsdWVTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgcmFuZ2UgPSBuZXcgRm9ybUdyb3VwKHtcbiAgICBzdGFydDogbmV3IEZvcm1Db250cm9sPE1heWJlPERhdGU+PihudWxsKSxcbiAgICBlbmQ6IG5ldyBGb3JtQ29udHJvbDxNYXliZTxEYXRlPj4obnVsbClcbiAgfSk7XG5cbiAgcmVhZG9ubHkgZXJyb3JTdGF0ZU1hdGNoZXI6IEVycm9yU3RhdGVNYXRjaGVyID0ge1xuICAgIGlzRXJyb3JTdGF0ZTogKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCB8IG51bGwsIGZvcm0pID0+IHtcbiAgICAgIGlmIChjb250cm9sKSB7XG4gICAgICAgIHJldHVybiAoY29udHJvbC5pbnZhbGlkICYmIChjb250cm9sLmRpcnR5IHx8IGNvbnRyb2wudG91Y2hlZCkpIHx8IChjb250cm9sLnRvdWNoZWQgJiYgdGhpcy5yYW5nZS5pbnZhbGlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgcmVhZG9ubHkgbWluRGF0ZSQgPSB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5taW5EYXRlJDtcbiAgcmVhZG9ubHkgbWF4RGF0ZSQgPSB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5tYXhEYXRlJDtcbiAgcmVhZG9ubHkgdGltZXpvbmVSZWxldmVudERhdGUkID0gdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUuY3VycmVudERhdGVSYW5nZSQucGlwZShcbiAgICBtYXAoKGN1cnJlbnREYXRlUmFuZ2UpID0+IHtcbiAgICAgIHJldHVybiBjdXJyZW50RGF0ZVJhbmdlID8gY3VycmVudERhdGVSYW5nZS5zdGFydCA/PyBjdXJyZW50RGF0ZVJhbmdlLmVuZCA6IHVuZGVmaW5lZCA/PyBuZXcgRGF0ZSgpO1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaXNDdXN0b21pemVkJCA9IHRoaXMuZGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLmlzQ3VzdG9taXplZCQ7XG4gIHJlYWRvbmx5IGN1cnJlbnRFcnJvck1lc3NhZ2UkID0gdGhpcy5yYW5nZS5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgZmlsdGVyKCh4KSA9PiB4ID09PSAnSU5WQUxJRCcgfHwgeCA9PT0gJ1ZBTElEJyksXG4gICAgbWFwKCh4KSA9PiB7XG4gICAgICBsZXQgY3VycmVudEVycm9yTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoeCA9PT0gJ0lOVkFMSUQnKSB7XG4gICAgICAgIGNvbnN0IHsgc3RhcnQsIGVuZCB9ID0gdGhpcy5yYW5nZS5jb250cm9scztcblxuICAgICAgICBpZiAodGhpcy5yYW5nZS5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgICAgIGN1cnJlbnRFcnJvck1lc3NhZ2UgPSAnRGF0ZSByYW5nZSBpcyByZXF1aXJlZCc7XG4gICAgICAgIH0gZWxzZSBpZiAoc3RhcnQuaGFzRXJyb3IoJ21hdFN0YXJ0RGF0ZUludmFsaWQnKSkge1xuICAgICAgICAgIGN1cnJlbnRFcnJvck1lc3NhZ2UgPSAnSW52YWxpZCBzdGFydCBkYXRlJztcbiAgICAgICAgfSBlbHNlIGlmIChzdGFydC5oYXNFcnJvcignbWF0RGF0ZXBpY2tlck1pbicpKSB7XG4gICAgICAgICAgY3VycmVudEVycm9yTWVzc2FnZSA9ICdTdGFydCBkYXRlIGlzIHRvbyBlYXJseSc7XG4gICAgICAgIH0gZWxzZSBpZiAoc3RhcnQuaGFzRXJyb3IoJ21hdERhdGVwaWNrZXJNYXgnKSkge1xuICAgICAgICAgIGN1cnJlbnRFcnJvck1lc3NhZ2UgPSAnU3RhcnQgZGF0ZSBpcyB0b28gbGF0ZSc7XG4gICAgICAgIH0gZWxzZSBpZiAoZW5kLmhhc0Vycm9yKCdtYXRTdGFydERhdGVJbnZhbGlkJykpIHtcbiAgICAgICAgICBjdXJyZW50RXJyb3JNZXNzYWdlID0gJ0ludmFsaWQgZW5kIGRhdGUnO1xuICAgICAgICB9IGVsc2UgaWYgKGVuZC5oYXNFcnJvcignbWF0RGF0ZXBpY2tlck1pbicpKSB7XG4gICAgICAgICAgY3VycmVudEVycm9yTWVzc2FnZSA9ICdFbmQgZGF0ZSBpcyB0b28gZWFybHknO1xuICAgICAgICB9IGVsc2UgaWYgKGVuZC5oYXNFcnJvcignbWF0RGF0ZXBpY2tlck1heCcpKSB7XG4gICAgICAgICAgY3VycmVudEVycm9yTWVzc2FnZSA9ICdFbmQgZGF0ZSBpcyB0b28gbGF0ZSc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGN1cnJlbnRFcnJvck1lc3NhZ2U7XG4gICAgfSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBwaWNrZXJPcGVuZWQkID0gdGhpcy5fcGlja2VyT3BlbmVkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHJlYWRvbmx5IGRlZmF1bHREYXRlUGlja2VyRmlsdGVyOiBEYXRlRmlsdGVyRm48RGF0ZT4gPSAoKSA9PiB0cnVlO1xuICByZWFkb25seSBkYXRlUGlja2VyRmlsdGVyJDogT2JzZXJ2YWJsZTxEYXRlRmlsdGVyRm48RGF0ZT4+ID0gY29tYmluZUxhdGVzdChbdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUuaXNFbmFibGVkRmlsdGVyRGF5RnVuY3Rpb24kLCB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5pc0luQWxsb3dlZERheXNPZldlZWtGdW5jdGlvbiRdKS5waXBlKFxuICAgIG1hcCgoW2lzRW5hYmxlZCwgaXNBbGxvd2VkRGF5T2ZXZWVrXSkgPT4ge1xuICAgICAgY29uc3QgZm4gPSAoZGF0ZTogRGF0ZSB8IG51bGwpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gZGF0ZSA/IGlzQWxsb3dlZERheU9mV2VlayhkYXRlKSAmJiBpc0VuYWJsZWQoZGF0ZSkgOiB0cnVlO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICAgIHJldHVybiBmbjtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGRieENhbGVuZGFyU3RvcmU6IERieENhbGVuZGFyU3RvcmUsIHJlYWRvbmx5IGRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZTogRGJ4Q2FsZW5kYXJTY2hlZHVsZVNlbGVjdGlvblN0b3JlLCBASW5qZWN0KE1BVF9GT1JNX0ZJRUxEX0RFRkFVTFRfT1BUSU9OUykgcmVhZG9ubHkgbWF0Rm9ybUZpZWxkRGVmYXVsdE9wdGlvbnM6IE1hdEZvcm1GaWVsZERlZmF1bHRPcHRpb25zKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N5bmNTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5kYnhDYWxlbmRhclNjaGVkdWxlU2VsZWN0aW9uU3RvcmUuY3VycmVudElucHV0UmFuZ2UkLnN1YnNjcmliZSgoeCkgPT4ge1xuICAgICAgdGhpcy5yYW5nZS5zZXRWYWx1ZSh7XG4gICAgICAgIHN0YXJ0OiB4Py5pbnB1dFN0YXJ0ID8/IG51bGwsXG4gICAgICAgIGVuZDogeD8uaW5wdXRFbmQgPz8gbnVsbFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl92YWx1ZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLl9waWNrZXJPcGVuZWRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBzd2l0Y2hNYXAoKG9wZW5lZCkgPT4ge1xuICAgICAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8UmFuZ2VWYWx1ZT47XG5cbiAgICAgICAgICBpZiAob3BlbmVkKSB7XG4gICAgICAgICAgICBvYnMgPSBFTVBUWTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb2JzID0gdGhpcy5yYW5nZS52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5yYW5nZS52YWx1ZSkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBvYnM7XG4gICAgICAgIH0pLFxuICAgICAgICBmaWx0ZXIoKHgpID0+IEJvb2xlYW4oeC5zdGFydCAmJiB4LmVuZCkpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gaXNTYW1lRGF0ZURheShhLnN0YXJ0LCBiLnN0YXJ0KSAmJiBpc1NhbWVEYXRlRGF5KGEuZW5kLCBiLmVuZCkpLFxuICAgICAgICB0aHJvdHRsZVRpbWUoMTAwLCB1bmRlZmluZWQsIHsgdHJhaWxpbmc6IHRydWUgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgICAgaWYgKHguc3RhcnQgJiYgeC5lbmQpIHtcbiAgICAgICAgICB0aGlzLmRieENhbGVuZGFyU2NoZWR1bGVTZWxlY3Rpb25TdG9yZS5zZXRJbnB1dFJhbmdlKHsgaW5wdXRTdGFydDogeC5zdGFydCwgaW5wdXRFbmQ6IHguZW5kIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIC8vIGFkZCBhIHJlcXVpcmVkIHZhbGlkYXRvciB3aGVuIG5lZWRlZFxuICAgIHRoaXMuX3JlcXVpcmVkU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuX3JlcXVpcmVkLnN1YnNjcmliZSgoeCkgPT4ge1xuICAgICAgY29uc3QgdmFsaWRhdG9ycyA9IHhcbiAgICAgICAgPyBbXG4gICAgICAgICAgICAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHJhbmdlID0gY29udHJvbC52YWx1ZTtcblxuICAgICAgICAgICAgICBpZiAoIXJhbmdlIHx8ICFyYW5nZS5zdGFydCB8fCAhcmFuZ2UuZW5kKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgcmVxdWlyZWQ6IHRydWUgfTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXTtcblxuICAgICAgdGhpcy5yYW5nZS5zZXRWYWxpZGF0b3JzKHZhbGlkYXRvcnMpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVxdWlyZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9waWNrZXJPcGVuZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9yZXF1aXJlZFN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fc3luY1N1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fdmFsdWVTdWIuZGVzdHJveSgpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHJlcXVpcmVkKCkge1xuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZC52YWx1ZTtcbiAgfVxuXG4gIHNldCByZXF1aXJlZChyZXF1aXJlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX3JlcXVpcmVkLm5leHQocmVxdWlyZWQpO1xuICB9XG5cbiAgY2xpY2tlZERhdGVSYW5nZUlucHV0KCkge1xuICAgIGlmICh0aGlzLm9wZW5QaWNrZXJPblRleHRDbGljaykge1xuICAgICAgdGhpcy5waWNrZXIub3BlbigpO1xuICAgIH1cbiAgfVxuXG4gIHBpY2tlck9wZW5lZCgpIHtcbiAgICB0aGlzLl9waWNrZXJPcGVuZWQubmV4dCh0cnVlKTtcbiAgfVxuXG4gIHBpY2tlckNsb3NlZCgpIHtcbiAgICB0aGlzLl9waWNrZXJPcGVuZWQubmV4dChmYWxzZSk7XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImRieC1zY2hlZHVsZS1zZWxlY3Rpb24tY2FsZW5kYXItZGF0ZS1yYW5nZS1maWVsZFwiPlxuICA8bWF0LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxuICA8ZGl2IGNsYXNzPVwiZGJ4LXNjaGVkdWxlLXNlbGVjdGlvbi1jYWxlbmRhci1kYXRlLXJhbmdlLWZpZWxkLWNvbnRlbnRcIj5cbiAgICA8IS0tIFByaW1hcnkgQ29udGVudCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWZsZXgtYmFyXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd0N1c3RvbWl6ZSAmJiAoaXNDdXN0b21pemVkJCB8IGFzeW5jKVwiIGNsYXNzPVwiZGF0ZS1yYW5nZS1maWVsZC1jdXN0b21pemVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGJ4LWFjY2VudC1iZyBkYXRlLXJhbmdlLWZpZWxkLWN1c3RvbWl6ZWQtdGV4dFwiPkN1c3RvbTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRieC1idXR0b24tc3BhY2VyPjwvZGJ4LWJ1dHRvbi1zcGFjZXI+XG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIGNsYXNzPVwibWF0LWRhdGVwaWNrZXItYnV0dG9uLWhpZ2hsaWdodFwiIG1hdEljb25TdWZmaXggW2Zvcl09XCJwaWNrZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgIDxkYngtYnV0dG9uLXNwYWNlcj48L2RieC1idXR0b24tc3BhY2VyPlxuICAgICAgPG1hdC1kYXRlLXJhbmdlLWlucHV0IChjbGljayk9XCJjbGlja2VkRGF0ZVJhbmdlSW5wdXQoKVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZCQgfCBhc3luY1wiIFtkYXRlRmlsdGVyXT1cIihkYXRlUGlja2VyRmlsdGVyJCB8IGFzeW5jKSA/PyBkZWZhdWx0RGF0ZVBpY2tlckZpbHRlclwiIFtmb3JtR3JvdXBdPVwicmFuZ2VcIiBbcmFuZ2VQaWNrZXJdPVwicGlja2VyXCI+XG4gICAgICAgIDxpbnB1dCBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwiZXJyb3JTdGF0ZU1hdGNoZXJcIiBtYXRTdGFydERhdGUgZm9ybUNvbnRyb2xOYW1lPVwic3RhcnRcIiBwbGFjZWhvbGRlcj1cIlN0YXJ0IGRhdGVcIiAvPlxuICAgICAgICA8aW5wdXQgW2Vycm9yU3RhdGVNYXRjaGVyXT1cImVycm9yU3RhdGVNYXRjaGVyXCIgbWF0RW5kRGF0ZSBmb3JtQ29udHJvbE5hbWU9XCJlbmRcIiBwbGFjZWhvbGRlcj1cIkVuZCBkYXRlXCIgLz5cbiAgICAgIDwvbWF0LWRhdGUtcmFuZ2UtaW5wdXQ+XG4gICAgICA8c3BhbiAqbmdJZj1cInRpbWV6b25lJCB8IGFzeW5jXCIgY2xhc3M9XCJkYngtc2NoZWR1bGUtc2VsZWN0aW9uLXRpbWV6b25lIGRieC1mYWludCBkYngtbm93cmFwIGRieC1pY29uLXNwYWNlclwiPnt7IHRpbWV6b25lJCB8IGFzeW5jIHwgdGltZXpvbmVBYmJyZXZpYXRpb246ICh0aW1lem9uZVJlbGV2ZW50RGF0ZSQgfCBhc3luYykgfX08L3NwYW4+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd0N1c3RvbWl6ZVwiPlxuICAgICAgICA8ZGJ4LWJ1dHRvbi1zcGFjZXI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2N1c3RvbWl6ZUJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxtYXQtZGF0ZS1yYW5nZS1waWNrZXIgI3BpY2tlciAob3BlbmVkKT1cInBpY2tlck9wZW5lZCgpXCIgKGNsb3NlZCk9XCJwaWNrZXJDbG9zZWQoKVwiPjwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gQ3VzdG9tIENvbnRlbnQgLS0+XG4gICAgPGRpdj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxtYXQtZXJyb3IgKm5nSWY9XCJjdXJyZW50RXJyb3JNZXNzYWdlJCB8IGFzeW5jXCI+e3sgY3VycmVudEVycm9yTWVzc2FnZSQgfCBhc3luYyB9fTwvbWF0LWVycm9yPlxuICA8bWF0LWhpbnQ+e3sgaGludCB9fTwvbWF0LWhpbnQ+XG48L21hdC1mb3JtLWZpZWxkPlxuIl19
|