@dereekb/dbx-form 9.25.15 → 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
package/lib/style/_core.scss
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
@use './all-typography';
|
|
4
4
|
@use './config';
|
|
5
5
|
|
|
6
|
-
@mixin core($
|
|
6
|
+
@mixin core($theme-config: null) {
|
|
7
7
|
@include all-core.all-component-core($theme-config);
|
|
8
|
-
@include all-typography.all-component-typographies($typography-config, $theme-config);
|
|
9
8
|
}
|
package/lib/style/_mixin.scss
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
2
|
@use './config';
|
|
3
3
|
@use './variables';
|
|
4
|
+
|
|
5
|
+
@mixin hide-mdc-notched-outline-border {
|
|
6
|
+
> .mdc-notched-outline {
|
|
7
|
+
.mdc-notched-outline__leading,
|
|
8
|
+
.mdc-notched-outline__notch,
|
|
9
|
+
.mdc-notched-outline__trailing {
|
|
10
|
+
border: 0;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
package/lib/style/_theming.scss
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@forward '@angular/material' show define-light-theme, define-dark-theme, define-palette, get-contrast-color-from-palette, get-color-from-palette, get-color-config, get-typography-config, get-density-config, elevation;
|
|
2
2
|
|
|
3
|
-
@forward 'node_modules/@angular/material/core/theming/theming' show private-check-duplicate-theme-styles, $theme-ignore-duplication-warnings;
|
|
3
|
+
@forward 'node_modules/@angular/material/core/theming/theming' show private-is-theme-object, private-check-duplicate-theme-styles, $theme-ignore-duplication-warnings;
|
|
4
4
|
|
|
5
5
|
@forward 'node_modules/@angular/material/core/typography/typography-utils';
|
|
6
6
|
|
|
@@ -2,7 +2,7 @@ import { Observable } from 'rxjs';
|
|
|
2
2
|
import { AsyncValidatorFn } from '@angular/forms';
|
|
3
3
|
export declare const FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY = "fieldValueIsAvailable";
|
|
4
4
|
export declare const FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY = "fieldValueIsAvailableError";
|
|
5
|
-
export
|
|
5
|
+
export type FieldValueIsAvailableValidatorFunction<T> = (value: T) => Observable<boolean>;
|
|
6
6
|
export interface FieldValueIsAvailableValidatorConfig<T> {
|
|
7
7
|
/**
|
|
8
8
|
* How long to wait in between value changes.
|
|
@@ -15,8 +15,8 @@ import * as i4 from "@angular/common";
|
|
|
15
15
|
import * as i5 from "@angular/material/icon";
|
|
16
16
|
import * as i6 from "@angular/material/button";
|
|
17
17
|
import * as i7 from "@angular/forms";
|
|
18
|
-
import * as i8 from "@angular/material/
|
|
19
|
-
import * as i9 from "@angular/material/
|
|
18
|
+
import * as i8 from "@angular/material/input";
|
|
19
|
+
import * as i9 from "@angular/material/form-field";
|
|
20
20
|
import * as i10 from "ngx-mapbox-gl";
|
|
21
21
|
export const DEFAULT_DBX_FORM_MAPBOX_LAT_LNG_FIELD_INJECTION_KEY = 'DbxFormMapboxLatLngFieldComponent';
|
|
22
22
|
export const DEFAULT_DBX_FORM_MAPBOX_LAT_LNG_MARKER_CONFIG = {
|
|
@@ -203,9 +203,8 @@ export class DbxFormMapboxLatLngFieldComponent extends FieldType {
|
|
|
203
203
|
this.formControl.markAsTouched();
|
|
204
204
|
this.formControl.markAsDirty();
|
|
205
205
|
}
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
DbxFormMapboxLatLngFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFormMapboxLatLngFieldComponent, selector: "ng-component", providers: [provideMapboxStoreIfParentIsUnavailable()], usesInheritance: true, ngImport: i0, template: `
|
|
206
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormMapboxLatLngFieldComponent, deps: [{ token: i1.CompactContextStore, optional: true }, { token: i2.DbxMapboxInjectionStore, optional: true }, { token: i3.GeolocationService }, { token: i2.DbxMapboxMapStore }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
207
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFormMapboxLatLngFieldComponent, selector: "ng-component", providers: [provideMapboxStoreIfParentIsUnavailable()], usesInheritance: true, ngImport: i0, template: `
|
|
209
208
|
<div class="dbx-mapbox-input-field" [ngClass]="(compactClass$ | async) ?? ''" [formGroup]="formGroup">
|
|
210
209
|
<div *ngIf="showMap" class="dbx-mapbox-input-field-map">
|
|
211
210
|
<mgl-map dbxMapboxMap>
|
|
@@ -216,15 +215,16 @@ DbxFormMapboxLatLngFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion
|
|
|
216
215
|
<button *ngIf="showCenterButton" mat-icon-button (click)="flyToMarker()">
|
|
217
216
|
<mat-icon>my_location</mat-icon>
|
|
218
217
|
</button>
|
|
219
|
-
<mat-form-field class="dbx-mapbox-input-field-input-field"
|
|
218
|
+
<mat-form-field class="dbx-mapbox-input-field-input-field">
|
|
220
219
|
<mat-label>Coordinates</mat-label>
|
|
221
220
|
<input type="text" matInput [placeholder]="placeholder" [formControl]="formControl" />
|
|
222
221
|
<mat-hint class="dbx-hint dbx-warn" *ngIf="useCurrentLocationDisabled$ | async">Could not access your current location.</mat-hint>
|
|
223
222
|
</mat-form-field>
|
|
224
223
|
</div>
|
|
225
224
|
</div>
|
|
226
|
-
`, isInline: true, styles: [".dbx-mapbox-input-field .dbx-mapbox-input-field-map{height:220px;width:100%}.dbx-mapbox-input-field .dbx-mapbox-input-field-map mgl-map{height:100%;width:100%}.dbx-mapbox-input-field .dbx-mapbox-input-field-input{display:flex;align-items:center}.dbx-mapbox-input-field .dbx-mapbox-input-field-input .dbx-mapbox-input-field-input-field{width:calc(100% - 40px)}.dbx-mapbox-input-field-compact .dbx-latlng-field-input{min-height:120px;height:300px;max-height:calc(var(--vh100) * .5)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.
|
|
227
|
-
|
|
225
|
+
`, isInline: true, styles: [".dbx-mapbox-input-field .dbx-mapbox-input-field-map{height:220px;width:100%}.dbx-mapbox-input-field .dbx-mapbox-input-field-map mgl-map{height:100%;width:100%}.dbx-mapbox-input-field .dbx-mapbox-input-field-input{display:flex;align-items:center}.dbx-mapbox-input-field .dbx-mapbox-input-field-input .dbx-mapbox-input-field-input-field{width:calc(100% - 40px)}.dbx-mapbox-input-field-compact .dbx-latlng-field-input{min-height:120px;height:300px;max-height:calc(var(--vh100) * .5)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i2.DbxMapboxMapDirective, selector: "[dbxMapboxMap]" }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "directive", type: i9.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i10.MapComponent, selector: "mgl-map", inputs: ["accessToken", "collectResourceTiming", "crossSourceCollisions", "customMapboxApiUrl", "fadeDuration", "hash", "refreshExpiredTiles", "failIfMajorPerformanceCaveat", "bearingSnap", "interactive", "pitchWithRotate", "clickTolerance", "attributionControl", "logoPosition", "maxTileCacheSize", "localIdeographFontFamily", "preserveDrawingBuffer", "trackResize", "transformRequest", "bounds", "antialias", "locale", "cooperativeGestures", "minZoom", "maxZoom", "minPitch", "maxPitch", "scrollZoom", "dragRotate", "touchPitch", "touchZoomRotate", "doubleClickZoom", "keyboard", "dragPan", "boxZoom", "style", "center", "maxBounds", "zoom", "bearing", "pitch", "fitBoundsOptions", "renderWorldCopies", "projection", "movingMethod", "movingOptions", "fitBounds", "fitScreenCoordinates", "centerWithPanTo", "panToOptions", "cursorStyle"], outputs: ["mapResize", "mapRemove", "mapMouseDown", "mapMouseUp", "mapMouseMove", "mapClick", "mapDblClick", "mapMouseOver", "mapMouseOut", "mapContextMenu", "mapTouchStart", "mapTouchEnd", "mapTouchMove", "mapTouchCancel", "mapWheel", "moveStart", "move", "moveEnd", "mapDragStart", "mapDrag", "mapDragEnd", "zoomStart", "zoomEvt", "zoomEnd", "rotateStart", "rotate", "rotateEnd", "pitchStart", "pitchEvt", "pitchEnd", "boxZoomStart", "boxZoomEnd", "boxZoomCancel", "webGlContextLost", "webGlContextRestored", "mapLoad", "mapCreate", "idle", "render", "mapError", "data", "styleData", "sourceData", "dataLoading", "styleDataLoading", "sourceDataLoading", "styleImageMissing", "resize", "remove", "mouseDown", "mouseUp", "mouseMove", "click", "dblClick", "mouseOver", "mouseOut", "contextMenu", "touchStart", "touchEnd", "touchMove", "touchCancel", "wheel", "dragStart", "drag", "dragEnd", "load", "error"] }, { kind: "component", type: i10.MarkerComponent, selector: "mgl-marker", inputs: ["offset", "anchor", "clickTolerance", "feature", "lngLat", "draggable", "popupShown", "className", "pitchAlignment", "rotationAlignment"], outputs: ["markerDragStart", "markerDragEnd", "markerDrag", "dragStart", "dragEnd", "drag"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
|
|
226
|
+
}
|
|
227
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormMapboxLatLngFieldComponent, decorators: [{
|
|
228
228
|
type: Component,
|
|
229
229
|
args: [{ template: `
|
|
230
230
|
<div class="dbx-mapbox-input-field" [ngClass]="(compactClass$ | async) ?? ''" [formGroup]="formGroup">
|
|
@@ -237,7 +237,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
237
237
|
<button *ngIf="showCenterButton" mat-icon-button (click)="flyToMarker()">
|
|
238
238
|
<mat-icon>my_location</mat-icon>
|
|
239
239
|
</button>
|
|
240
|
-
<mat-form-field class="dbx-mapbox-input-field-input-field"
|
|
240
|
+
<mat-form-field class="dbx-mapbox-input-field-input-field">
|
|
241
241
|
<mat-label>Coordinates</mat-label>
|
|
242
242
|
<input type="text" matInput [placeholder]="placeholder" [formControl]="formControl" />
|
|
243
243
|
<mat-hint class="dbx-hint dbx-warn" *ngIf="useCurrentLocationDisabled$ | async">Could not access your current location.</mat-hint>
|
|
@@ -250,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
250
250
|
}] }, { type: i2.DbxMapboxInjectionStore, decorators: [{
|
|
251
251
|
type: Optional
|
|
252
252
|
}] }, { type: i3.GeolocationService }, { type: i2.DbxMapboxMapStore }, { type: i0.NgZone }, { type: i0.Injector }]; } });
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0bG5nLmZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL21hcGJveC9zcmMvbGliL2ZpZWxkL2xhdGxuZy9sYXRsbmcuZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBcUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuSyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFzQyxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQXVFLG9CQUFvQixFQUFnQixtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBdUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL08sT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUErRCx1Q0FBdUMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNMLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFFMUYsTUFBTSxDQUFDLE1BQU0sbURBQW1ELEdBQUcsbUNBQW1DLENBQUM7QUFF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LEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBMkI7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzsrSEF2T1UsaUNBQWlDO21IQUFqQyxpQ0FBaUMsdUNBSGpDLENBQUMsdUNBQXVDLEVBQUUsQ0FBQyxpREFuQjVDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQlQ7NEZBSVUsaUNBQWlDO2tCQXZCN0MsU0FBUzsrQkFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JULGFBQ1UsQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDOzswQkF1RG5ELFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBhY3RDb250ZXh0U3RvcmUsIG1hcENvbXBhY3RNb2RlT2JzIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnLCBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbCc7XG5pbXBvcnQgeyBza2lwLCBmaXJzdCwgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgbWFwLCBPYnNlcnZhYmxlLCB0aHJvdHRsZVRpbWUsIHNraXBXaGlsZSwgb2YsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhc09ic2VydmFibGVGcm9tR2V0dGVyLCBmaWx0ZXJNYXliZSwgT2JzZXJ2YWJsZUZhY3RvcnlXaXRoUmVxdWlyZWRJbnB1dCwgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBNYXliZSwgTGF0TG5nUG9pbnQsIExhdExuZ1BvaW50RnVuY3Rpb25Db25maWcsIExhdExuZ1N0cmluZ0Z1bmN0aW9uLCBsYXRMbmdTdHJpbmdGdW5jdGlvbiwgTWlsbGlzZWNvbmRzLCBsYXRMbmdQb2ludEZ1bmN0aW9uLCBpc0RlZmF1bHRMYXRMbmdQb2ludCwgaXNWYWxpZExhdExuZ1BvaW50LCBMYXRMbmdQb2ludEZ1bmN0aW9uLCBpc1NhbWVMYXRMbmdQb2ludCB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgR2VvbG9jYXRpb25TZXJ2aWNlIH0gZnJvbSAnQG5nLXdlYi1hcGlzL2dlb2xvY2F0aW9uJztcbmltcG9ydCB7IE1hcmtlciB9IGZyb20gJ21hcGJveC1nbCc7XG5pbXBvcnQgeyBEYnhNYXBib3hJbmplY3Rpb25TdG9yZSwgRGJ4TWFwYm94TWFwU3RvcmUsIERieE1hcGJveE1hcmtlckRpc3BsYXlDb25maWcsIE1hcGJveEVhc2VUbywgTWFwYm94Wm9vbUxldmVsLCBwcm92aWRlTWFwYm94U3RvcmVJZlBhcmVudElzVW5hdmFpbGFibGUgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViL21hcGJveCc7XG5pbXBvcnQgeyBEYnhGb3JtTWFwYm94TGF0TG5nRmllbGRNYXJrZXJDb21wb25lbnQgfSBmcm9tICcuL2xhdGxuZy5maWVsZC5tYXJrZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfREJYX0ZPUk1fTUFQQk9YX0xBVF9MTkdfRklFTERfSU5KRUNUSU9OX0tFWSA9ICdEYnhGb3JtTWFwYm94TGF0TG5nRmllbGRDb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9EQlhfRk9STV9NQVBCT1hfTEFUX0xOR19NQVJLRVJfQ09ORklHOiBEYnhNYXBib3hNYXJrZXJEaXNwbGF5Q29uZmlnID0ge1xuICBpY29uOiAncGluX2Ryb3AnXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZvcm1NYXBib3hMYXRMbmdDb21wb25lbnRGaWVsZFByb3BzIGV4dGVuZHMgRm9ybWx5RmllbGRQcm9wcyB7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFdoZXRoZXIgb3Igbm90IHRoZSBzaG93IHRoZSBtYXAuIElmIHRoZSBtYXAgaXMgbm90IHNob3duLCByZWxpZXMgb24gdGhlIGNlbnRlciBvZiB0aGUgcGFyZW50IG1hcCB0byBkZXRlcm1pbmUgcG9zaXRpb24uXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIHRydWUuXG4gICAqXG4gICAqIENhc2VzIHdoZXJlIHRoaXMgd291bGQgYmUgc2V0IGZhbHNlIGlzIGlmIGFub3RoZXIgbWFwIGlzIGJlaW5nIHVzZWQuXG4gICAqL1xuICBzaG93TWFwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGRpc3BsYXkgdGhlIGNlbnRlciBidXR0b24uIElzIHNldCB0byBmYWxzZSBpZiBzZWxlY3RMb2NhdGlvbk9uTWFwRHJhZyBpcyB0cnVlLlxuICAgKi9cbiAgc2hvd0NlbnRlckJ1dHRvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzZXQgdGhlIGNlbnRlciBvZiB0aGUgbWFwIG9uIHRoZSBsb2NhdGlvbiB3aGVuIHNldC4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIHNldENlbnRlck9uTG9jYXRpb25TZXQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZW5hYmxlIGRyYWdnaW5nIHRoZSBtYXAgdG8gc2VsZWN0IHRoZSBsb2NhdGlvbi4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICogT25seSBhcHBsaWNhYmxlIHdoZW4gc2hvd01hcCBpcyBmYWxzZS5cbiAgICovXG4gIHNlbGVjdExvY2F0aW9uT25NYXBEcmFnPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGVuYWJsZSBjbGlja2luZyB0aGUgbWFwIHRvIHNlbGVjdCB0aGUgbG9jYXRpb24uIERlZmF1bHRzIHRvIGZhbHNlLlxuICAgKlxuICAgKiBPbmx5IGFwcGxpY2FibGUgd2hlbiBzaG93TWFwIGlzIGZhbHNlLlxuICAgKi9cbiAgc2VsZWN0TG9jYXRpb25Pbk1hcENsaWNrPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgWm9vbSB0byBzdGFydCB0aGUgbWFwIGF0LiBJZ25vcmVkIGlmIHRoZSBzaG93TWFwIGlzIGZhbHNlLlxuICAgKi9cbiAgem9vbT86IE1hcGJveFpvb21MZXZlbDtcbiAgLyoqXG4gICAqIFRpbWUgdW50aWwgcmVjZW50ZXJpbmcgb24gdGhlIG1hcmtlci4gSWYgdGhlIHRpbWUgaXMgMCB0aGVuIHRoZSByZWNlbnRlcmluZyBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHJlY2VudGVyVGltZT86IE1pbGxpc2Vjb25kcztcbiAgbGF0TG5nQ29uZmlnPzogTGF0TG5nUG9pbnRGdW5jdGlvbkNvbmZpZztcbiAgLyoqXG4gICAqIFVuaXF1ZSBpbmplY3Rpb24ga2V5LlxuICAgKlxuICAgKiBJZiBub3QgZGVmaW5lZCwgdGhlIGRlZmF1bHQga2V5IHdpbGwgYmUgdXNlZC5cbiAgICpcbiAgICogSWYgZmFsc2UgaXMgcGFzc2VkLCB0aGUgbWFya2VyIHdpbGwgbm90IGJlIGNvbmZpZ3VyZWQgaW4gdGhlIGluamVjdGlvbiBzdG9yZS5cbiAgICovXG4gIG1hcEluamVjdGlvbktleT86IE1heWJlPHN0cmluZyB8IGZhbHNlPjtcbiAgLyoqXG4gICAqIE1hcmtlciBjb25maWd1cmF0aW9uIG9yIGZhY3RvcnkuIElmIGZhbHNlIGlzIHBhc3NlZCwgdGhlIG1hcmtlciB3aWxsIG5vdCBiZSBkaXNwbGF5ZWQuXG4gICAqL1xuICBtYXJrZXJDb25maWc/OiBmYWxzZSB8IE9ic2VydmFibGVGYWN0b3J5V2l0aFJlcXVpcmVkSW5wdXQ8RGJ4TWFwYm94TWFya2VyRGlzcGxheUNvbmZpZyB8IGZhbHNlLCBEYnhGb3JtTWFwYm94TGF0TG5nRmllbGRDb21wb25lbnQ+O1xufVxuXG4vKlxuICBUT0RPOiBSZS1hZGQgbWVudSBmb3IgcGlja2luZyBhIG5ldyBsb2NhdGlvbiwgaW5jbHVkaW5nIHVzaW5nIHRoZSBjdXJyZW50IGxvY2F0aW9uLlxuIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ1c2VDdXJyZW50TG9jYXRpb24oKVwiIFtkaXNhYmxlZF09XCJpc1JlYWRvbmx5T3JEaXNhYmxlZCB8fCAodXNlQ3VycmVudExvY2F0aW9uRGlzYWJsZWQkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPm15X2xvY2F0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRieC1tYXBib3gtaW5wdXQtZmllbGRcIiBbbmdDbGFzc109XCIoY29tcGFjdENsYXNzJCB8IGFzeW5jKSA/PyAnJ1wiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd01hcFwiIGNsYXNzPVwiZGJ4LW1hcGJveC1pbnB1dC1maWVsZC1tYXBcIj5cbiAgICAgICAgPG1nbC1tYXAgZGJ4TWFwYm94TWFwPlxuICAgICAgICAgIDxtZ2wtbWFya2VyIFtsbmdMYXRdPVwiKGxhdExuZyQgfCBhc3luYykgfHwgWzAsIDBdXCIgW2RyYWdnYWJsZV09XCIhaXNSZWFkb25seU9yRGlzYWJsZWRcIiAobWFya2VyRHJhZ0VuZCk9XCJvbk1hcmtlckRyYWdFbmQoJGV2ZW50KVwiPjwvbWdsLW1hcmtlcj5cbiAgICAgICAgPC9tZ2wtbWFwPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGJ4LW1hcGJveC1pbnB1dC1maWVsZC1pbnB1dFwiPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0NlbnRlckJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZmx5VG9NYXJrZXIoKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5teV9sb2NhdGlvbjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJkYngtbWFwYm94LWlucHV0LWZpZWxkLWlucHV0LWZpZWxkXCIgYXBwZWFyYW5jZT1cInN0YW5kYXJkXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5Db29yZGluYXRlczwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIC8+XG4gICAgICAgICAgPG1hdC1oaW50IGNsYXNzPVwiZGJ4LWhpbnQgZGJ4LXdhcm5cIiAqbmdJZj1cInVzZUN1cnJlbnRMb2NhdGlvbkRpc2FibGVkJCB8IGFzeW5jXCI+Q291bGQgbm90IGFjY2VzcyB5b3VyIGN1cnJlbnQgbG9jYXRpb24uPC9tYXQtaGludD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBwcm92aWRlcnM6IFtwcm92aWRlTWFwYm94U3RvcmVJZlBhcmVudElzVW5hdmFpbGFibGUoKV0sXG4gIHN0eWxlVXJsczogWycuLi9tYXBib3guZmllbGQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtTWFwYm94TGF0TG5nRmllbGRDb21wb25lbnQ8VCBleHRlbmRzIERieEZvcm1NYXBib3hMYXRMbmdDb21wb25lbnRGaWVsZFByb3BzID0gRGJ4Rm9ybU1hcGJveExhdExuZ0NvbXBvbmVudEZpZWxkUHJvcHM+IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZzxUPj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2xhdExuZ1N0cmluZ0Z1bmN0aW9uITogTGF0TG5nU3RyaW5nRnVuY3Rpb247XG4gIHByaXZhdGUgX2xhdExuZ1BvaW50RnVuY3Rpb24hOiBMYXRMbmdQb2ludEZ1bmN0aW9uO1xuXG4gIHJlYWRvbmx5IGNvbXBhY3RDbGFzcyQgPSBtYXBDb21wYWN0TW9kZU9icyh0aGlzLmNvbXBhY3Q/Lm1vZGUkLCB7XG4gICAgY29tcGFjdDogJ2RieC1tYXBib3gtaW5wdXQtZmllbGQtY29tcGFjdCdcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfdXNlQ3VycmVudExvY2F0aW9uRGlzYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgdXNlQ3VycmVudExvY2F0aW9uRGlzYWJsZWQkID0gdGhpcy5fdXNlQ3VycmVudExvY2F0aW9uRGlzYWJsZWQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBfc3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9nZW9TdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2NlbnRlclN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfZmx5VG9DZW50ZXJTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2NsaWNrU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF96b29tID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXBib3hab29tTGV2ZWw+KDEyKTtcbiAgcHJpdmF0ZSBfbWFya2VyQ29uZmlnID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlPERieE1hcGJveE1hcmtlckRpc3BsYXlDb25maWcgfCBmYWxzZT4+KG9mKERFRkFVTFRfREJYX0ZPUk1fTUFQQk9YX0xBVF9MTkdfTUFSS0VSX0NPTkZJRykpO1xuXG4gIHByaXZhdGUgX2Zvcm1Db250cm9sT2JzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxBYnN0cmFjdENvbnRyb2w+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBmb3JtQ29udHJvbCQgPSB0aGlzLl9mb3JtQ29udHJvbE9icy5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHJlYWRvbmx5IHZhbHVlJCA9IHRoaXMuZm9ybUNvbnRyb2wkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChjb250cm9sKSA9PiBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgbGF0TG5nJDogT2JzZXJ2YWJsZTxMYXRMbmdQb2ludD4gPSB0aGlzLnZhbHVlJC5waXBlKFxuICAgIGZpbHRlck1heWJlKCksXG4gICAgbWFwKCh4KSA9PiB0aGlzLl9sYXRMbmdQb2ludEZ1bmN0aW9uKHgpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZDxMYXRMbmdQb2ludD4oaXNTYW1lTGF0TG5nUG9pbnQpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgbm9uWmVyb0xhdExuZyQ6IE9ic2VydmFibGU8TGF0TG5nUG9pbnQ+ID0gdGhpcy5sYXRMbmckLnBpcGUoXG4gICAgLyoqXG4gICAgICogQ2VudGVyIG9ic2VydmFibGUgcGFzc2VkIHRvIHRoZSBzdG9yZS4gRG8gbm90IHBhc3MgaW52YWxpZCBwb2ludHMuXG4gICAgICpcbiAgICAgKiBBbHNvIHNraXAgYW55IGluaXRpYWwgMCwwIHZhbHVlcyBzbyB0aGUgY2VudGVyIGRvZXNuJ3QgcG90ZW50aWFsbHkgXCJ3aGlwXCIgZnJvbSAwLDAgdG8gYSBmaW5hbCBsb2FkZWQgdmFsdWUuXG4gICAgICovXG4gICAgc2tpcFdoaWxlPExhdExuZ1BvaW50Pihpc0RlZmF1bHRMYXRMbmdQb2ludCksXG4gICAgZmlsdGVyKGlzVmFsaWRMYXRMbmdQb2ludClcbiAgKTtcblxuICByZWFkb25seSB6b29tJCA9IHRoaXMuX3pvb20uYXNPYnNlcnZhYmxlKCk7XG4gIHJlYWRvbmx5IG1hcmtlckNvbmZpZyQgPSB0aGlzLl9tYXJrZXJDb25maWcuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+IHgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy9cbiAgICBAT3B0aW9uYWwoKSByZWFkb25seSBjb21wYWN0OiBDb21wYWN0Q29udGV4dFN0b3JlLFxuICAgIEBPcHRpb25hbCgpIHJlYWRvbmx5IGRieE1hcGJveEluamVjdGlvblN0b3JlOiBEYnhNYXBib3hJbmplY3Rpb25TdG9yZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdlb2xvY2F0aW9uJDogR2VvbG9jYXRpb25TZXJ2aWNlLFxuICAgIHJlYWRvbmx5IGRieE1hcGJveE1hcFN0b3JlOiBEYnhNYXBib3hNYXBTdG9yZSxcbiAgICByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCB6b29tKCk6IE1hcGJveFpvb21MZXZlbCB7XG4gICAgcmV0dXJuIE1hdGgubWluKHRoaXMuZmllbGQucHJvcHMuem9vbSB8fCAxMiwgMTgpO1xuICB9XG5cbiAgZ2V0IGZvcm1Hcm91cE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5rZXkgYXMgc3RyaW5nO1xuICB9XG5cbiAgZ2V0IGZvcm1Hcm91cCgpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm0gYXMgRm9ybUdyb3VwO1xuICB9XG5cbiAgZ2V0IGxhYmVsKCk6IE1heWJlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzPy5sYWJlbDtcbiAgfVxuXG4gIGdldCBkZXNjcmlwdGlvbigpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5kZXNjcmlwdGlvbjtcbiAgfVxuXG4gIGdldCBpc1JlYWRvbmx5T3JEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgZ2V0IHNob3dNYXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucHJvcHMuc2hvd01hcCA/PyB0cnVlO1xuICB9XG5cbiAgZ2V0IHNlbGVjdExvY2F0aW9uT25NYXBEcmFnKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLnNlbGVjdExvY2F0aW9uT25NYXBEcmFnID8/IHRydWU7XG4gIH1cblxuICBnZXQgc2VsZWN0TG9jYXRpb25Pbk1hcENsaWNrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLnNlbGVjdExvY2F0aW9uT25NYXBDbGljayA/PyBmYWxzZTtcbiAgfVxuXG4gIGdldCBzZXRDZW50ZXJPbkxvY2F0aW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLnNldENlbnRlck9uTG9jYXRpb25TZXQgPz8gdHJ1ZTtcbiAgfVxuXG4gIGdldCBzaG93Q2VudGVyQnV0dG9uKCkge1xuICAgIHJldHVybiAhdGhpcy5zZWxlY3RMb2NhdGlvbk9uTWFwRHJhZyAmJiB0aGlzLnByb3BzLnNob3dDZW50ZXJCdXR0b24gIT09IGZhbHNlO1xuICB9XG5cbiAgZ2V0IHJlY2VudGVyVGltZSgpOiBNaWxsaXNlY29uZHMge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLnJlY2VudGVyVGltZSB8fCAxMCAqIDEwMDA7XG4gIH1cblxuICBnZXQgdXNlQ3VycmVudExvY2F0aW9uRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZUN1cnJlbnRMb2NhdGlvbkRpc2FibGVkO1xuICB9XG5cbiAgZ2V0IG1hcEluamVjdGlvbktleSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5wcm9wcy5tYXBJbmplY3Rpb25LZXk7XG4gIH1cblxuICBnZXQgbWFya2VyQ29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLm1hcmtlckNvbmZpZztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGxhdExuZ1BvaW50Q29uZmlnID0geyAuLi50aGlzLmZpZWxkLnByb3BzLmxhdExuZ0NvbmZpZywgd3JhcDogdGhpcy5maWVsZC5wcm9wcy5sYXRMbmdDb25maWc/LndyYXAgfHwgZmFsc2UsIHZhbGlkYXRlOiB0aGlzLmZpZWxkLnByb3BzLmxhdExuZ0NvbmZpZz8udmFsaWRhdGUgfHwgZmFsc2UsIHByZWNpc2lvblJvdW5kaW5nOiB0aGlzLmZpZWxkLnByb3BzLmxhdExuZ0NvbmZpZz8ucHJlY2lzaW9uUm91bmRpbmcgPz8gJ3JvdW5kJyB9O1xuICAgIHRoaXMuX2xhdExuZ1N0cmluZ0Z1bmN0aW9uID0gbGF0TG5nU3RyaW5nRnVuY3Rpb24obGF0TG5nUG9pbnRDb25maWcpO1xuICAgIHRoaXMuX2xhdExuZ1BvaW50RnVuY3Rpb24gPSBsYXRMbmdQb2ludEZ1bmN0aW9uKGxhdExuZ1BvaW50Q29uZmlnKTtcblxuICAgIHRoaXMuX2Zvcm1Db250cm9sT2JzLm5leHQodGhpcy5mb3JtQ29udHJvbCk7XG4gICAgdGhpcy5fem9vbS5uZXh0KHRoaXMuem9vbSk7XG5cbiAgICBpZiAodGhpcy5zZXRDZW50ZXJPbkxvY2F0aW9uU2V0KSB7XG4gICAgICB0aGlzLl9jZW50ZXJTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5zZXRDZW50ZXIodGhpcy5ub25aZXJvTGF0TG5nJCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hvd01hcCkge1xuICAgICAgLy8gU2V0IHpvb20gb25seSBpZiBzaG93TWFwIGlzIHRydWVcbiAgICAgIHRoaXMuZGJ4TWFwYm94TWFwU3RvcmUuc2V0Wm9vbSh0aGlzLnpvb20kKTtcblxuICAgICAgLy8gcmVjZW50ZXIgcGVyaW9kaWNhbGx5XG4gICAgICBpZiAodGhpcy5yZWNlbnRlclRpbWUgPiAwKSB7XG4gICAgICAgIHRoaXMuX2ZseVRvQ2VudGVyU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGJ4TWFwYm94TWFwU3RvcmUuY2VudGVyJC5waXBlKHNraXAoMSksIHRocm90dGxlVGltZSh0aGlzLnJlY2VudGVyVGltZSwgdW5kZWZpbmVkLCB7IGxlYWRpbmc6IGZhbHNlLCB0cmFpbGluZzogdHJ1ZSB9KSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmZseVRvTWFya2VyKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1c2UgdGhlIGNlbnRlciBvZiB0aGUgbWFwIHRvIHNldCBsb2NhdGlvbnNcbiAgICAgIGlmICh0aGlzLnNlbGVjdExvY2F0aW9uT25NYXBEcmFnKSB7XG4gICAgICAgIHRoaXMuX3N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmRieE1hcGJveE1hcFN0b3JlLmNlbnRlciQuc3Vic2NyaWJlKChjZW50ZXIpID0+IHtcbiAgICAgICAgICB0aGlzLmRieE1hcGJveE1hcFN0b3JlLmNlbnRlckdpdmVuTWFyZ2luJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNSZWFkb25seU9yRGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlKGNlbnRlcik7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gZW5hYmxlIHNlbGVjdGluZyB0aGUgbG9jYXRpb24gb24gYSBtYXAgY2xpY2tcbiAgICAgIGlmICh0aGlzLnNlbGVjdExvY2F0aW9uT25NYXBDbGljaykge1xuICAgICAgICB0aGlzLl9jbGlja1N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmRieE1hcGJveE1hcFN0b3JlLmNsaWNrRXZlbnQkLnN1YnNjcmliZSgoeCkgPT4ge1xuICAgICAgICAgIGlmICh4Py50eXBlID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlKHgubG5nTGF0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLnJlYWRvbmx5KSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIG1hcmtlciB0byB0aGUgaW5qZWN0aW9uIHN0b3JlIGZvciBkaXNwbGF5XG4gICAgaWYgKHRoaXMuZGJ4TWFwYm94SW5qZWN0aW9uU3RvcmUpIHtcbiAgICAgIGlmICh0aGlzLm1hcmtlckNvbmZpZyAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX21hcmtlckNvbmZpZy5uZXh0KHRoaXMubWFya2VyQ29uZmlnID09PSBmYWxzZSA/IG9mKGZhbHNlKSA6IGFzT2JzZXJ2YWJsZUZyb21HZXR0ZXIodGhpcy5tYXJrZXJDb25maWcsIHRoaXMpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kYnhNYXBib3hJbmplY3Rpb25TdG9yZS5hZGRJbmplY3Rpb25Db25maWcoe1xuICAgICAgICBrZXk6IHRoaXMubWFwSW5qZWN0aW9uS2V5IHx8IERFRkFVTFRfREJYX0ZPUk1fTUFQQk9YX0xBVF9MTkdfRklFTERfSU5KRUNUSU9OX0tFWSxcbiAgICAgICAgaW5qZWN0aW9uQ29uZmlnOiB7XG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M6IERieEZvcm1NYXBib3hMYXRMbmdGaWVsZE1hcmtlckNvbXBvbmVudCxcbiAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERieEZvcm1NYXBib3hMYXRMbmdGaWVsZENvbXBvbmVudCwgdXNlVmFsdWU6IHRoaXMgfV1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl96b29tLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fbWFya2VyQ29uZmlnLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2xPYnMuY29tcGxldGUoKTtcbiAgICB0aGlzLl9zdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2dlb1N1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fY2VudGVyU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9mbHlUb0NlbnRlclN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fY2xpY2tTdWIuZGVzdHJveSgpO1xuICB9XG5cbiAgZmx5VG9NYXJrZXIoKSB7XG4gICAgdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5lYXNlVG8oXG4gICAgICB0aGlzLm5vblplcm9MYXRMbmckLnBpcGUoXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIG1hcCgoeCkgPT4gKHsgY2VudGVyOiB4IH0gYXMgTWFwYm94RWFzZVRvKSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgdXNlQ3VycmVudExvY2F0aW9uKCkge1xuICAgIHRoaXMuX2dlb1N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmdlb2xvY2F0aW9uJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocG9zaXRpb24pID0+IHtcbiAgICAgICAgaWYgKHBvc2l0aW9uKSB7XG4gICAgICAgICAgY29uc3QgeyBsYXRpdHVkZTogbGF0LCBsb25naXR1ZGU6IGxuZyB9ID0gcG9zaXRpb24uY29vcmRzO1xuICAgICAgICAgIHRoaXMuc2V0VmFsdWUoeyBsYXQsIGxuZyB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuX3VzZUN1cnJlbnRMb2NhdGlvbkRpc2FibGVkLm5leHQodHJ1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvbk1hcmtlckRyYWdFbmQobWFya2VyOiBNYXJrZXIpIHtcbiAgICB0aGlzLnNldFZhbHVlKG1hcmtlci5nZXRMbmdMYXQoKSk7XG4gIH1cblxuICBzZXRWYWx1ZShsYXRMbmc/OiBNYXliZTxMYXRMbmdQb2ludD4pIHtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGxhdExuZyA/IHRoaXMuX2xhdExuZ1N0cmluZ0Z1bmN0aW9uKGxhdExuZykgOiBsYXRMbmcpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgfVxufVxuIl19
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0bG5nLmZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL21hcGJveC9zcmMvbGliL2ZpZWxkL2xhdGxuZy9sYXRsbmcuZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBcUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNuSyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFzQyxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1SCxPQUFPLEVBQXVFLG9CQUFvQixFQUFnQixtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBdUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL08sT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUErRCx1Q0FBdUMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNMLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7QUFFMUYsTUFBTSxDQUFDLE1BQU0sbURBQW1ELEdBQUcsbUNBQW1DLENBQUM7QUFF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LEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlLENBQUMsTUFBYztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxRQUFRLENBQUMsTUFBMkI7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDOytHQXZPVSxpQ0FBaUM7bUdBQWpDLGlDQUFpQyx1Q0FIakMsQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDLGlEQW5CNUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCVDs7NEZBSVUsaUNBQWlDO2tCQXZCN0MsU0FBUzsrQkFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JULGFBQ1UsQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDOzswQkF1RG5ELFFBQVE7OzBCQUNSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBhY3RDb250ZXh0U3RvcmUsIG1hcENvbXBhY3RNb2RlT2JzIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnLCBGb3JtbHlGaWVsZFByb3BzIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbCc7XG5pbXBvcnQgeyBza2lwLCBmaXJzdCwgQmVoYXZpb3JTdWJqZWN0LCBmaWx0ZXIsIHNoYXJlUmVwbGF5LCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgbWFwLCBPYnNlcnZhYmxlLCB0aHJvdHRsZVRpbWUsIHNraXBXaGlsZSwgb2YsIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBhc09ic2VydmFibGVGcm9tR2V0dGVyLCBmaWx0ZXJNYXliZSwgT2JzZXJ2YWJsZUZhY3RvcnlXaXRoUmVxdWlyZWRJbnB1dCwgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBNYXliZSwgTGF0TG5nUG9pbnQsIExhdExuZ1BvaW50RnVuY3Rpb25Db25maWcsIExhdExuZ1N0cmluZ0Z1bmN0aW9uLCBsYXRMbmdTdHJpbmdGdW5jdGlvbiwgTWlsbGlzZWNvbmRzLCBsYXRMbmdQb2ludEZ1bmN0aW9uLCBpc0RlZmF1bHRMYXRMbmdQb2ludCwgaXNWYWxpZExhdExuZ1BvaW50LCBMYXRMbmdQb2ludEZ1bmN0aW9uLCBpc1NhbWVMYXRMbmdQb2ludCB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgR2VvbG9jYXRpb25TZXJ2aWNlIH0gZnJvbSAnQG5nLXdlYi1hcGlzL2dlb2xvY2F0aW9uJztcbmltcG9ydCB7IE1hcmtlciB9IGZyb20gJ21hcGJveC1nbCc7XG5pbXBvcnQgeyBEYnhNYXBib3hJbmplY3Rpb25TdG9yZSwgRGJ4TWFwYm94TWFwU3RvcmUsIERieE1hcGJveE1hcmtlckRpc3BsYXlDb25maWcsIE1hcGJveEVhc2VUbywgTWFwYm94Wm9vbUxldmVsLCBwcm92aWRlTWFwYm94U3RvcmVJZlBhcmVudElzVW5hdmFpbGFibGUgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViL21hcGJveCc7XG5pbXBvcnQgeyBEYnhGb3JtTWFwYm94TGF0TG5nRmllbGRNYXJrZXJDb21wb25lbnQgfSBmcm9tICcuL2xhdGxuZy5maWVsZC5tYXJrZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfREJYX0ZPUk1fTUFQQk9YX0xBVF9MTkdfRklFTERfSU5KRUNUSU9OX0tFWSA9ICdEYnhGb3JtTWFwYm94TGF0TG5nRmllbGRDb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9EQlhfRk9STV9NQVBCT1hfTEFUX0xOR19NQVJLRVJfQ09ORklHOiBEYnhNYXBib3hNYXJrZXJEaXNwbGF5Q29uZmlnID0ge1xuICBpY29uOiAncGluX2Ryb3AnXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZvcm1NYXBib3hMYXRMbmdDb21wb25lbnRGaWVsZFByb3BzIGV4dGVuZHMgRm9ybWx5RmllbGRQcm9wcyB7XG4gIC8qKlxuICAgKiAoT3B0aW9uYWwpIFdoZXRoZXIgb3Igbm90IHRoZSBzaG93IHRoZSBtYXAuIElmIHRoZSBtYXAgaXMgbm90IHNob3duLCByZWxpZXMgb24gdGhlIGNlbnRlciBvZiB0aGUgcGFyZW50IG1hcCB0byBkZXRlcm1pbmUgcG9zaXRpb24uXG4gICAqXG4gICAqIERlZmF1bHRzIHRvIHRydWUuXG4gICAqXG4gICAqIENhc2VzIHdoZXJlIHRoaXMgd291bGQgYmUgc2V0IGZhbHNlIGlzIGlmIGFub3RoZXIgbWFwIGlzIGJlaW5nIHVzZWQuXG4gICAqL1xuICBzaG93TWFwPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGRpc3BsYXkgdGhlIGNlbnRlciBidXR0b24uIElzIHNldCB0byBmYWxzZSBpZiBzZWxlY3RMb2NhdGlvbk9uTWFwRHJhZyBpcyB0cnVlLlxuICAgKi9cbiAgc2hvd0NlbnRlckJ1dHRvbj86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzZXQgdGhlIGNlbnRlciBvZiB0aGUgbWFwIG9uIHRoZSBsb2NhdGlvbiB3aGVuIHNldC4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIHNldENlbnRlck9uTG9jYXRpb25TZXQ/OiBib29sZWFuO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZW5hYmxlIGRyYWdnaW5nIHRoZSBtYXAgdG8gc2VsZWN0IHRoZSBsb2NhdGlvbi4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICpcbiAgICogT25seSBhcHBsaWNhYmxlIHdoZW4gc2hvd01hcCBpcyBmYWxzZS5cbiAgICovXG4gIHNlbGVjdExvY2F0aW9uT25NYXBEcmFnPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGVuYWJsZSBjbGlja2luZyB0aGUgbWFwIHRvIHNlbGVjdCB0aGUgbG9jYXRpb24uIERlZmF1bHRzIHRvIGZhbHNlLlxuICAgKlxuICAgKiBPbmx5IGFwcGxpY2FibGUgd2hlbiBzaG93TWFwIGlzIGZhbHNlLlxuICAgKi9cbiAgc2VsZWN0TG9jYXRpb25Pbk1hcENsaWNrPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgWm9vbSB0byBzdGFydCB0aGUgbWFwIGF0LiBJZ25vcmVkIGlmIHRoZSBzaG93TWFwIGlzIGZhbHNlLlxuICAgKi9cbiAgem9vbT86IE1hcGJveFpvb21MZXZlbDtcbiAgLyoqXG4gICAqIFRpbWUgdW50aWwgcmVjZW50ZXJpbmcgb24gdGhlIG1hcmtlci4gSWYgdGhlIHRpbWUgaXMgMCB0aGVuIHRoZSByZWNlbnRlcmluZyBpcyBkaXNhYmxlZC5cbiAgICovXG4gIHJlY2VudGVyVGltZT86IE1pbGxpc2Vjb25kcztcbiAgbGF0TG5nQ29uZmlnPzogTGF0TG5nUG9pbnRGdW5jdGlvbkNvbmZpZztcbiAgLyoqXG4gICAqIFVuaXF1ZSBpbmplY3Rpb24ga2V5LlxuICAgKlxuICAgKiBJZiBub3QgZGVmaW5lZCwgdGhlIGRlZmF1bHQga2V5IHdpbGwgYmUgdXNlZC5cbiAgICpcbiAgICogSWYgZmFsc2UgaXMgcGFzc2VkLCB0aGUgbWFya2VyIHdpbGwgbm90IGJlIGNvbmZpZ3VyZWQgaW4gdGhlIGluamVjdGlvbiBzdG9yZS5cbiAgICovXG4gIG1hcEluamVjdGlvbktleT86IE1heWJlPHN0cmluZyB8IGZhbHNlPjtcbiAgLyoqXG4gICAqIE1hcmtlciBjb25maWd1cmF0aW9uIG9yIGZhY3RvcnkuIElmIGZhbHNlIGlzIHBhc3NlZCwgdGhlIG1hcmtlciB3aWxsIG5vdCBiZSBkaXNwbGF5ZWQuXG4gICAqL1xuICBtYXJrZXJDb25maWc/OiBmYWxzZSB8IE9ic2VydmFibGVGYWN0b3J5V2l0aFJlcXVpcmVkSW5wdXQ8RGJ4TWFwYm94TWFya2VyRGlzcGxheUNvbmZpZyB8IGZhbHNlLCBEYnhGb3JtTWFwYm94TGF0TG5nRmllbGRDb21wb25lbnQ+O1xufVxuXG4vKlxuICBUT0RPOiBSZS1hZGQgbWVudSBmb3IgcGlja2luZyBhIG5ldyBsb2NhdGlvbiwgaW5jbHVkaW5nIHVzaW5nIHRoZSBjdXJyZW50IGxvY2F0aW9uLlxuIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ1c2VDdXJyZW50TG9jYXRpb24oKVwiIFtkaXNhYmxlZF09XCJpc1JlYWRvbmx5T3JEaXNhYmxlZCB8fCAodXNlQ3VycmVudExvY2F0aW9uRGlzYWJsZWQkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPm15X2xvY2F0aW9uPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRieC1tYXBib3gtaW5wdXQtZmllbGRcIiBbbmdDbGFzc109XCIoY29tcGFjdENsYXNzJCB8IGFzeW5jKSA/PyAnJ1wiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd01hcFwiIGNsYXNzPVwiZGJ4LW1hcGJveC1pbnB1dC1maWVsZC1tYXBcIj5cbiAgICAgICAgPG1nbC1tYXAgZGJ4TWFwYm94TWFwPlxuICAgICAgICAgIDxtZ2wtbWFya2VyIFtsbmdMYXRdPVwiKGxhdExuZyQgfCBhc3luYykgfHwgWzAsIDBdXCIgW2RyYWdnYWJsZV09XCIhaXNSZWFkb25seU9yRGlzYWJsZWRcIiAobWFya2VyRHJhZ0VuZCk9XCJvbk1hcmtlckRyYWdFbmQoJGV2ZW50KVwiPjwvbWdsLW1hcmtlcj5cbiAgICAgICAgPC9tZ2wtbWFwPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGJ4LW1hcGJveC1pbnB1dC1maWVsZC1pbnB1dFwiPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwic2hvd0NlbnRlckJ1dHRvblwiIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZmx5VG9NYXJrZXIoKVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5teV9sb2NhdGlvbjwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJkYngtbWFwYm94LWlucHV0LWZpZWxkLWlucHV0LWZpZWxkXCI+XG4gICAgICAgICAgPG1hdC1sYWJlbD5Db29yZGluYXRlczwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiIC8+XG4gICAgICAgICAgPG1hdC1oaW50IGNsYXNzPVwiZGJ4LWhpbnQgZGJ4LXdhcm5cIiAqbmdJZj1cInVzZUN1cnJlbnRMb2NhdGlvbkRpc2FibGVkJCB8IGFzeW5jXCI+Q291bGQgbm90IGFjY2VzcyB5b3VyIGN1cnJlbnQgbG9jYXRpb24uPC9tYXQtaGludD5cbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgLFxuICBwcm92aWRlcnM6IFtwcm92aWRlTWFwYm94U3RvcmVJZlBhcmVudElzVW5hdmFpbGFibGUoKV0sXG4gIHN0eWxlVXJsczogWycuLi9tYXBib3guZmllbGQuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtTWFwYm94TGF0TG5nRmllbGRDb21wb25lbnQ8VCBleHRlbmRzIERieEZvcm1NYXBib3hMYXRMbmdDb21wb25lbnRGaWVsZFByb3BzID0gRGJ4Rm9ybU1hcGJveExhdExuZ0NvbXBvbmVudEZpZWxkUHJvcHM+IGV4dGVuZHMgRmllbGRUeXBlPEZpZWxkVHlwZUNvbmZpZzxUPj4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2xhdExuZ1N0cmluZ0Z1bmN0aW9uITogTGF0TG5nU3RyaW5nRnVuY3Rpb247XG4gIHByaXZhdGUgX2xhdExuZ1BvaW50RnVuY3Rpb24hOiBMYXRMbmdQb2ludEZ1bmN0aW9uO1xuXG4gIHJlYWRvbmx5IGNvbXBhY3RDbGFzcyQgPSBtYXBDb21wYWN0TW9kZU9icyh0aGlzLmNvbXBhY3Q/Lm1vZGUkLCB7XG4gICAgY29tcGFjdDogJ2RieC1tYXBib3gtaW5wdXQtZmllbGQtY29tcGFjdCdcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfdXNlQ3VycmVudExvY2F0aW9uRGlzYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgdXNlQ3VycmVudExvY2F0aW9uRGlzYWJsZWQkID0gdGhpcy5fdXNlQ3VycmVudExvY2F0aW9uRGlzYWJsZWQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgcHJpdmF0ZSBfc3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9nZW9TdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2NlbnRlclN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfZmx5VG9DZW50ZXJTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2NsaWNrU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF96b29tID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXBib3hab29tTGV2ZWw+KDEyKTtcbiAgcHJpdmF0ZSBfbWFya2VyQ29uZmlnID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPYnNlcnZhYmxlPERieE1hcGJveE1hcmtlckRpc3BsYXlDb25maWcgfCBmYWxzZT4+KG9mKERFRkFVTFRfREJYX0ZPUk1fTUFQQk9YX0xBVF9MTkdfTUFSS0VSX0NPTkZJRykpO1xuXG4gIHByaXZhdGUgX2Zvcm1Db250cm9sT2JzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxBYnN0cmFjdENvbnRyb2w+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBmb3JtQ29udHJvbCQgPSB0aGlzLl9mb3JtQ29udHJvbE9icy5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHJlYWRvbmx5IHZhbHVlJCA9IHRoaXMuZm9ybUNvbnRyb2wkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChjb250cm9sKSA9PiBjb250cm9sLnZhbHVlQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aChjb250cm9sLnZhbHVlKSkpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgbGF0TG5nJDogT2JzZXJ2YWJsZTxMYXRMbmdQb2ludD4gPSB0aGlzLnZhbHVlJC5waXBlKFxuICAgIGZpbHRlck1heWJlKCksXG4gICAgbWFwKCh4KSA9PiB0aGlzLl9sYXRMbmdQb2ludEZ1bmN0aW9uKHgpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZDxMYXRMbmdQb2ludD4oaXNTYW1lTGF0TG5nUG9pbnQpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgbm9uWmVyb0xhdExuZyQ6IE9ic2VydmFibGU8TGF0TG5nUG9pbnQ+ID0gdGhpcy5sYXRMbmckLnBpcGUoXG4gICAgLyoqXG4gICAgICogQ2VudGVyIG9ic2VydmFibGUgcGFzc2VkIHRvIHRoZSBzdG9yZS4gRG8gbm90IHBhc3MgaW52YWxpZCBwb2ludHMuXG4gICAgICpcbiAgICAgKiBBbHNvIHNraXAgYW55IGluaXRpYWwgMCwwIHZhbHVlcyBzbyB0aGUgY2VudGVyIGRvZXNuJ3QgcG90ZW50aWFsbHkgXCJ3aGlwXCIgZnJvbSAwLDAgdG8gYSBmaW5hbCBsb2FkZWQgdmFsdWUuXG4gICAgICovXG4gICAgc2tpcFdoaWxlPExhdExuZ1BvaW50Pihpc0RlZmF1bHRMYXRMbmdQb2ludCksXG4gICAgZmlsdGVyKGlzVmFsaWRMYXRMbmdQb2ludClcbiAgKTtcblxuICByZWFkb25seSB6b29tJCA9IHRoaXMuX3pvb20uYXNPYnNlcnZhYmxlKCk7XG4gIHJlYWRvbmx5IG1hcmtlckNvbmZpZyQgPSB0aGlzLl9tYXJrZXJDb25maWcuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+IHgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy9cbiAgICBAT3B0aW9uYWwoKSByZWFkb25seSBjb21wYWN0OiBDb21wYWN0Q29udGV4dFN0b3JlLFxuICAgIEBPcHRpb25hbCgpIHJlYWRvbmx5IGRieE1hcGJveEluamVjdGlvblN0b3JlOiBEYnhNYXBib3hJbmplY3Rpb25TdG9yZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdlb2xvY2F0aW9uJDogR2VvbG9jYXRpb25TZXJ2aWNlLFxuICAgIHJlYWRvbmx5IGRieE1hcGJveE1hcFN0b3JlOiBEYnhNYXBib3hNYXBTdG9yZSxcbiAgICByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3JcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCB6b29tKCk6IE1hcGJveFpvb21MZXZlbCB7XG4gICAgcmV0dXJuIE1hdGgubWluKHRoaXMuZmllbGQucHJvcHMuem9vbSB8fCAxMiwgMTgpO1xuICB9XG5cbiAgZ2V0IGZvcm1Hcm91cE5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5rZXkgYXMgc3RyaW5nO1xuICB9XG5cbiAgZ2V0IGZvcm1Hcm91cCgpOiBGb3JtR3JvdXAge1xuICAgIHJldHVybiB0aGlzLmZvcm0gYXMgRm9ybUdyb3VwO1xuICB9XG5cbiAgZ2V0IGxhYmVsKCk6IE1heWJlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzPy5sYWJlbDtcbiAgfVxuXG4gIGdldCBkZXNjcmlwdGlvbigpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5kZXNjcmlwdGlvbjtcbiAgfVxuXG4gIGdldCBpc1JlYWRvbmx5T3JEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9wcy5yZWFkb25seSB8fCB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgZ2V0IHNob3dNYXAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucHJvcHMuc2hvd01hcCA/PyB0cnVlO1xuICB9XG5cbiAgZ2V0IHNlbGVjdExvY2F0aW9uT25NYXBEcmFnKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLnNlbGVjdExvY2F0aW9uT25NYXBEcmFnID8/IHRydWU7XG4gIH1cblxuICBnZXQgc2VsZWN0TG9jYXRpb25Pbk1hcENsaWNrKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLnNlbGVjdExvY2F0aW9uT25NYXBDbGljayA/PyBmYWxzZTtcbiAgfVxuXG4gIGdldCBzZXRDZW50ZXJPbkxvY2F0aW9uU2V0KCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLnNldENlbnRlck9uTG9jYXRpb25TZXQgPz8gdHJ1ZTtcbiAgfVxuXG4gIGdldCBzaG93Q2VudGVyQnV0dG9uKCkge1xuICAgIHJldHVybiAhdGhpcy5zZWxlY3RMb2NhdGlvbk9uTWFwRHJhZyAmJiB0aGlzLnByb3BzLnNob3dDZW50ZXJCdXR0b24gIT09IGZhbHNlO1xuICB9XG5cbiAgZ2V0IHJlY2VudGVyVGltZSgpOiBNaWxsaXNlY29uZHMge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLnJlY2VudGVyVGltZSB8fCAxMCAqIDEwMDA7XG4gIH1cblxuICBnZXQgdXNlQ3VycmVudExvY2F0aW9uRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZUN1cnJlbnRMb2NhdGlvbkRpc2FibGVkO1xuICB9XG5cbiAgZ2V0IG1hcEluamVjdGlvbktleSgpIHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5wcm9wcy5tYXBJbmplY3Rpb25LZXk7XG4gIH1cblxuICBnZXQgbWFya2VyQ29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLm1hcmtlckNvbmZpZztcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGxhdExuZ1BvaW50Q29uZmlnID0geyAuLi50aGlzLmZpZWxkLnByb3BzLmxhdExuZ0NvbmZpZywgd3JhcDogdGhpcy5maWVsZC5wcm9wcy5sYXRMbmdDb25maWc/LndyYXAgfHwgZmFsc2UsIHZhbGlkYXRlOiB0aGlzLmZpZWxkLnByb3BzLmxhdExuZ0NvbmZpZz8udmFsaWRhdGUgfHwgZmFsc2UsIHByZWNpc2lvblJvdW5kaW5nOiB0aGlzLmZpZWxkLnByb3BzLmxhdExuZ0NvbmZpZz8ucHJlY2lzaW9uUm91bmRpbmcgPz8gJ3JvdW5kJyB9O1xuICAgIHRoaXMuX2xhdExuZ1N0cmluZ0Z1bmN0aW9uID0gbGF0TG5nU3RyaW5nRnVuY3Rpb24obGF0TG5nUG9pbnRDb25maWcpO1xuICAgIHRoaXMuX2xhdExuZ1BvaW50RnVuY3Rpb24gPSBsYXRMbmdQb2ludEZ1bmN0aW9uKGxhdExuZ1BvaW50Q29uZmlnKTtcblxuICAgIHRoaXMuX2Zvcm1Db250cm9sT2JzLm5leHQodGhpcy5mb3JtQ29udHJvbCk7XG4gICAgdGhpcy5fem9vbS5uZXh0KHRoaXMuem9vbSk7XG5cbiAgICBpZiAodGhpcy5zZXRDZW50ZXJPbkxvY2F0aW9uU2V0KSB7XG4gICAgICB0aGlzLl9jZW50ZXJTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5zZXRDZW50ZXIodGhpcy5ub25aZXJvTGF0TG5nJCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2hvd01hcCkge1xuICAgICAgLy8gU2V0IHpvb20gb25seSBpZiBzaG93TWFwIGlzIHRydWVcbiAgICAgIHRoaXMuZGJ4TWFwYm94TWFwU3RvcmUuc2V0Wm9vbSh0aGlzLnpvb20kKTtcblxuICAgICAgLy8gcmVjZW50ZXIgcGVyaW9kaWNhbGx5XG4gICAgICBpZiAodGhpcy5yZWNlbnRlclRpbWUgPiAwKSB7XG4gICAgICAgIHRoaXMuX2ZseVRvQ2VudGVyU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZGJ4TWFwYm94TWFwU3RvcmUuY2VudGVyJC5waXBlKHNraXAoMSksIHRocm90dGxlVGltZSh0aGlzLnJlY2VudGVyVGltZSwgdW5kZWZpbmVkLCB7IGxlYWRpbmc6IGZhbHNlLCB0cmFpbGluZzogdHJ1ZSB9KSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmZseVRvTWFya2VyKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1c2UgdGhlIGNlbnRlciBvZiB0aGUgbWFwIHRvIHNldCBsb2NhdGlvbnNcbiAgICAgIGlmICh0aGlzLnNlbGVjdExvY2F0aW9uT25NYXBEcmFnKSB7XG4gICAgICAgIHRoaXMuX3N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmRieE1hcGJveE1hcFN0b3JlLmNlbnRlciQuc3Vic2NyaWJlKChjZW50ZXIpID0+IHtcbiAgICAgICAgICB0aGlzLmRieE1hcGJveE1hcFN0b3JlLmNlbnRlckdpdmVuTWFyZ2luJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNSZWFkb25seU9yRGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlKGNlbnRlcik7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgLy8gZW5hYmxlIHNlbGVjdGluZyB0aGUgbG9jYXRpb24gb24gYSBtYXAgY2xpY2tcbiAgICAgIGlmICh0aGlzLnNlbGVjdExvY2F0aW9uT25NYXBDbGljaykge1xuICAgICAgICB0aGlzLl9jbGlja1N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmRieE1hcGJveE1hcFN0b3JlLmNsaWNrRXZlbnQkLnN1YnNjcmliZSgoeCkgPT4ge1xuICAgICAgICAgIGlmICh4Py50eXBlID09PSAnY2xpY2snKSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlKHgubG5nTGF0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLnJlYWRvbmx5KSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIG1hcmtlciB0byB0aGUgaW5qZWN0aW9uIHN0b3JlIGZvciBkaXNwbGF5XG4gICAgaWYgKHRoaXMuZGJ4TWFwYm94SW5qZWN0aW9uU3RvcmUpIHtcbiAgICAgIGlmICh0aGlzLm1hcmtlckNvbmZpZyAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX21hcmtlckNvbmZpZy5uZXh0KHRoaXMubWFya2VyQ29uZmlnID09PSBmYWxzZSA/IG9mKGZhbHNlKSA6IGFzT2JzZXJ2YWJsZUZyb21HZXR0ZXIodGhpcy5tYXJrZXJDb25maWcsIHRoaXMpKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5kYnhNYXBib3hJbmplY3Rpb25TdG9yZS5hZGRJbmplY3Rpb25Db25maWcoe1xuICAgICAgICBrZXk6IHRoaXMubWFwSW5qZWN0aW9uS2V5IHx8IERFRkFVTFRfREJYX0ZPUk1fTUFQQk9YX0xBVF9MTkdfRklFTERfSU5KRUNUSU9OX0tFWSxcbiAgICAgICAgaW5qZWN0aW9uQ29uZmlnOiB7XG4gICAgICAgICAgY29tcG9uZW50Q2xhc3M6IERieEZvcm1NYXBib3hMYXRMbmdGaWVsZE1hcmtlckNvbXBvbmVudCxcbiAgICAgICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERieEZvcm1NYXBib3hMYXRMbmdGaWVsZENvbXBvbmVudCwgdXNlVmFsdWU6IHRoaXMgfV1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl96b29tLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fbWFya2VyQ29uZmlnLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZm9ybUNvbnRyb2xPYnMuY29tcGxldGUoKTtcbiAgICB0aGlzLl9zdWIuZGVzdHJveSgpO1xuICAgIHRoaXMuX2dlb1N1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fY2VudGVyU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9mbHlUb0NlbnRlclN1Yi5kZXN0cm95KCk7XG4gICAgdGhpcy5fY2xpY2tTdWIuZGVzdHJveSgpO1xuICB9XG5cbiAgZmx5VG9NYXJrZXIoKSB7XG4gICAgdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5lYXNlVG8oXG4gICAgICB0aGlzLm5vblplcm9MYXRMbmckLnBpcGUoXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIG1hcCgoeCkgPT4gKHsgY2VudGVyOiB4IH0gYXMgTWFwYm94RWFzZVRvKSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgdXNlQ3VycmVudExvY2F0aW9uKCkge1xuICAgIHRoaXMuX2dlb1N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmdlb2xvY2F0aW9uJC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocG9zaXRpb24pID0+IHtcbiAgICAgICAgaWYgKHBvc2l0aW9uKSB7XG4gICAgICAgICAgY29uc3QgeyBsYXRpdHVkZTogbGF0LCBsb25naXR1ZGU6IGxuZyB9ID0gcG9zaXRpb24uY29vcmRzO1xuICAgICAgICAgIHRoaXMuc2V0VmFsdWUoeyBsYXQsIGxuZyB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgIHRoaXMuX3VzZUN1cnJlbnRMb2NhdGlvbkRpc2FibGVkLm5leHQodHJ1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvbk1hcmtlckRyYWdFbmQobWFya2VyOiBNYXJrZXIpIHtcbiAgICB0aGlzLnNldFZhbHVlKG1hcmtlci5nZXRMbmdMYXQoKSk7XG4gIH1cblxuICBzZXRWYWx1ZShsYXRMbmc/OiBNYXliZTxMYXRMbmdQb2ludD4pIHtcbiAgICB0aGlzLmZvcm1Db250cm9sLnNldFZhbHVlKGxhdExuZyA/IHRoaXMuX2xhdExuZ1N0cmluZ0Z1bmN0aW9uKGxhdExuZykgOiBsYXRMbmcpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzRGlydHkoKTtcbiAgfVxufVxuIl19
|
|
@@ -17,12 +17,12 @@ export class DbxFormMapboxLatLngFieldMarkerComponent {
|
|
|
17
17
|
}
|
|
18
18
|
}), shareReplay(1));
|
|
19
19
|
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
DbxFormMapboxLatLngFieldMarkerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFormMapboxLatLngFieldMarkerComponent, selector: "ng-component", ngImport: i0, template: `
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormMapboxLatLngFieldMarkerComponent, deps: [{ token: i1.DbxFormMapboxLatLngFieldComponent }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFormMapboxLatLngFieldMarkerComponent, selector: "ng-component", ngImport: i0, template: `
|
|
23
22
|
<dbx-mapbox-marker [marker]="marker$ | async"></dbx-mapbox-marker>
|
|
24
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i2.DbxMapboxMarkerComponent, selector: "dbx-mapbox-marker", inputs: ["marker"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
25
|
-
|
|
23
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i2.DbxMapboxMarkerComponent, selector: "dbx-mapbox-marker", inputs: ["marker"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormMapboxLatLngFieldMarkerComponent, decorators: [{
|
|
26
26
|
type: Component,
|
|
27
27
|
args: [{
|
|
28
28
|
template: `
|
|
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
31
31
|
changeDetection: ChangeDetectionStrategy.OnPush
|
|
32
32
|
}]
|
|
33
33
|
}], ctorParameters: function () { return [{ type: i1.DbxFormMapboxLatLngFieldComponent }]; } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0bG5nLmZpZWxkLm1hcmtlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9tYXBib3gvc3JjL2xpYi9maWVsZC9sYXRsbmcvbGF0bG5nLmZpZWxkLm1hcmtlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFbkUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBUzdFLE1BQU0sT0FBTyx1Q0FBdUM7SUFZbEQsWUFBcUIsY0FBaUQ7UUFBakQsbUJBQWMsR0FBZCxjQUFjLENBQW1DO1FBWDdELFlBQU8sR0FBdUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDekksR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUM3QixJQUFJLFlBQVksS0FBSyxLQUFLLEVBQUU7Z0JBQzFCLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQzthQUNwQztpQkFBTTtnQkFDTCxPQUFPLFNBQVMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQyxFQUNGLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRXVFLENBQUM7K0dBWi9ELHVDQUF1QzttR0FBdkMsdUNBQXVDLG9EQUx4Qzs7R0FFVDs7NEZBR1UsdUNBQXVDO2tCQU5uRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7R0FFVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzaGFyZVJlcGxheSwgbWFwLCBPYnNlcnZhYmxlLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYnhNYXBib3hNYXJrZXIgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViL21hcGJveCc7XG5pbXBvcnQgeyBEYnhGb3JtTWFwYm94TGF0TG5nRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2xhdGxuZy5maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1tYXBib3gtbWFya2VyIFttYXJrZXJdPVwibWFya2VyJCB8IGFzeW5jXCI+PC9kYngtbWFwYm94LW1hcmtlcj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRGJ4Rm9ybU1hcGJveExhdExuZ0ZpZWxkTWFya2VyQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgbWFya2VyJDogT2JzZXJ2YWJsZTxNYXliZTxEYnhNYXBib3hNYXJrZXI+PiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuZmllbGRDb21wb25lbnQubGF0TG5nJCwgdGhpcy5maWVsZENvbXBvbmVudC5tYXJrZXJDb25maWckXSkucGlwZShcbiAgICBtYXAoKFtsYXRMbmcsIG1hcmtlckNvbmZpZ10pID0+IHtcbiAgICAgIGlmIChtYXJrZXJDb25maWcgIT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiB7IGxhdExuZywgLi4ubWFya2VyQ29uZmlnIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZmllbGRDb21wb25lbnQ6IERieEZvcm1NYXBib3hMYXRMbmdGaWVsZENvbXBvbmVudCkge31cbn1cbiJdfQ==
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DEFAULT_LAT_LNG_TEXT_FIELD_PATTERN_MESSAGE, DEFAULT_LAT_LNG_TEXT_FIELD_PLACEHOLDER, formlyField, propsAndConfigForFieldConfig, validatorsForFieldConfig } from '@dereekb/dbx-form';
|
|
2
|
+
import { LAT_LNG_PATTERN } from '@dereekb/util';
|
|
3
|
+
export function mapboxLatLngField(config = {}) {
|
|
4
|
+
const { key = 'latLng', latLngConfig, showMap, zoom, recenterTime, showCenterButton, setCenterOnLocationSet, selectLocationOnMapDrag, selectLocationOnMapClick, markerConfig } = config;
|
|
5
|
+
const classGetter = 'dbx-mat-form-field-disable-underline';
|
|
6
|
+
const fieldConfig = {
|
|
7
|
+
...formlyField({
|
|
8
|
+
key,
|
|
9
|
+
type: 'mapbox-latlng-picker',
|
|
10
|
+
...propsAndConfigForFieldConfig(config, {
|
|
11
|
+
classGetter,
|
|
12
|
+
label: config.label ?? 'Location',
|
|
13
|
+
placeholder: DEFAULT_LAT_LNG_TEXT_FIELD_PLACEHOLDER,
|
|
14
|
+
pattern: LAT_LNG_PATTERN,
|
|
15
|
+
autocomplete: false,
|
|
16
|
+
showMap,
|
|
17
|
+
zoom,
|
|
18
|
+
latLngConfig,
|
|
19
|
+
recenterTime,
|
|
20
|
+
selectLocationOnMapDrag,
|
|
21
|
+
selectLocationOnMapClick,
|
|
22
|
+
showCenterButton,
|
|
23
|
+
setCenterOnLocationSet,
|
|
24
|
+
markerConfig
|
|
25
|
+
})
|
|
26
|
+
}),
|
|
27
|
+
...validatorsForFieldConfig({
|
|
28
|
+
messages: {
|
|
29
|
+
pattern: DEFAULT_LAT_LNG_TEXT_FIELD_PATTERN_MESSAGE
|
|
30
|
+
}
|
|
31
|
+
})
|
|
32
|
+
};
|
|
33
|
+
return fieldConfig;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0bG5nLmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vbWFwYm94L3NyYy9saWIvZmllbGQvbGF0bG5nL2xhdGxuZy5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMENBQTBDLEVBQUUsc0NBQXNDLEVBQXVDLFdBQVcsRUFBc0IsNEJBQTRCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyUCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTWhELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxTQUFrQyxFQUFFO0lBQ3BFLE1BQU0sRUFBRSxHQUFHLEdBQUcsUUFBUSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSxZQUFZLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFeEwsTUFBTSxXQUFXLEdBQUcsc0NBQXNDLENBQUM7SUFDM0QsTUFBTSxXQUFXLEdBQXNCO1FBQ3JDLEdBQUcsV0FBVyxDQUFDO1lBQ2IsR0FBRztZQUNILElBQUksRUFBRSxzQkFBc0I7WUFDNUIsR0FBRyw0QkFBNEIsQ0FBQyxNQUFNLEVBQUU7Z0JBQ3RDLFdBQVc7Z0JBQ1gsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLElBQUksVUFBVTtnQkFDakMsV0FBVyxFQUFFLHNDQUFzQztnQkFDbkQsT0FBTyxFQUFFLGVBQWU7Z0JBQ3hCLFlBQVksRUFBRSxLQUFLO2dCQUNuQixPQUFPO2dCQUNQLElBQUk7Z0JBQ0osWUFBWTtnQkFDWixZQUFZO2dCQUNaLHVCQUF1QjtnQkFDdkIsd0JBQXdCO2dCQUN4QixnQkFBZ0I7Z0JBQ2hCLHNCQUFzQjtnQkFDdEIsWUFBWTthQUNiLENBQUM7U0FDSCxDQUFDO1FBQ0YsR0FBRyx3QkFBd0IsQ0FBQztZQUMxQixRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLDBDQUEwQzthQUNwRDtTQUNGLENBQUM7S0FDSCxDQUFDO0lBRUYsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERFRkFVTFRfTEFUX0xOR19URVhUX0ZJRUxEX1BBVFRFUk5fTUVTU0FHRSwgREVGQVVMVF9MQVRfTE5HX1RFWFRfRklFTERfUExBQ0VIT0xERVIsIERlc2NyaXB0aW9uRmllbGRDb25maWcsIEZpZWxkQ29uZmlnLCBmb3JtbHlGaWVsZCwgTGFiZWxlZEZpZWxkQ29uZmlnLCBwcm9wc0FuZENvbmZpZ0ZvckZpZWxkQ29uZmlnLCB2YWxpZGF0b3JzRm9yRmllbGRDb25maWcgfSBmcm9tICdAZGVyZWVrYi9kYngtZm9ybSc7XG5pbXBvcnQgeyBMQVRfTE5HX1BBVFRFUk4gfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBEYnhGb3JtTWFwYm94TGF0TG5nQ29tcG9uZW50RmllbGRQcm9wcyB9IGZyb20gJy4vbGF0bG5nLmZpZWxkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFwYm94TGF0TG5nRmllbGRDb25maWcgZXh0ZW5kcyBPbWl0PExhYmVsZWRGaWVsZENvbmZpZywgJ2tleSc+LCBEZXNjcmlwdGlvbkZpZWxkQ29uZmlnLCBQYXJ0aWFsPEZpZWxkQ29uZmlnPiwgUGljazxEYnhGb3JtTWFwYm94TGF0TG5nQ29tcG9uZW50RmllbGRQcm9wcywgJ3Nob3dNYXAnIHwgJ3pvb20nIHwgJ2xhdExuZ0NvbmZpZycgfCAncmVjZW50ZXJUaW1lJyB8ICdzZXRDZW50ZXJPbkxvY2F0aW9uU2V0JyB8ICdzaG93Q2VudGVyQnV0dG9uJyB8ICdzZWxlY3RMb2NhdGlvbk9uTWFwRHJhZycgfCAnc2VsZWN0TG9jYXRpb25Pbk1hcENsaWNrJyB8ICdtYXJrZXJDb25maWcnPiB7fVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwYm94TGF0TG5nRmllbGQoY29uZmlnOiBNYXBib3hMYXRMbmdGaWVsZENvbmZpZyA9IHt9KTogRm9ybWx5RmllbGRDb25maWcge1xuICBjb25zdCB7IGtleSA9ICdsYXRMbmcnLCBsYXRMbmdDb25maWcsIHNob3dNYXAsIHpvb20sIHJlY2VudGVyVGltZSwgc2hvd0NlbnRlckJ1dHRvbiwgc2V0Q2VudGVyT25Mb2NhdGlvblNldCwgc2VsZWN0TG9jYXRpb25Pbk1hcERyYWcsIHNlbGVjdExvY2F0aW9uT25NYXBDbGljaywgbWFya2VyQ29uZmlnIH0gPSBjb25maWc7XG5cbiAgY29uc3QgY2xhc3NHZXR0ZXIgPSAnZGJ4LW1hdC1mb3JtLWZpZWxkLWRpc2FibGUtdW5kZXJsaW5lJztcbiAgY29uc3QgZmllbGRDb25maWc6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgIC4uLmZvcm1seUZpZWxkKHtcbiAgICAgIGtleSxcbiAgICAgIHR5cGU6ICdtYXBib3gtbGF0bG5nLXBpY2tlcicsXG4gICAgICAuLi5wcm9wc0FuZENvbmZpZ0ZvckZpZWxkQ29uZmlnKGNvbmZpZywge1xuICAgICAgICBjbGFzc0dldHRlcixcbiAgICAgICAgbGFiZWw6IGNvbmZpZy5sYWJlbCA/PyAnTG9jYXRpb24nLFxuICAgICAgICBwbGFjZWhvbGRlcjogREVGQVVMVF9MQVRfTE5HX1RFWFRfRklFTERfUExBQ0VIT0xERVIsXG4gICAgICAgIHBhdHRlcm46IExBVF9MTkdfUEFUVEVSTixcbiAgICAgICAgYXV0b2NvbXBsZXRlOiBmYWxzZSxcbiAgICAgICAgc2hvd01hcCxcbiAgICAgICAgem9vbSxcbiAgICAgICAgbGF0TG5nQ29uZmlnLFxuICAgICAgICByZWNlbnRlclRpbWUsXG4gICAgICAgIHNlbGVjdExvY2F0aW9uT25NYXBEcmFnLFxuICAgICAgICBzZWxlY3RMb2NhdGlvbk9uTWFwQ2xpY2ssXG4gICAgICAgIHNob3dDZW50ZXJCdXR0b24sXG4gICAgICAgIHNldENlbnRlck9uTG9jYXRpb25TZXQsXG4gICAgICAgIG1hcmtlckNvbmZpZ1xuICAgICAgfSlcbiAgICB9KSxcbiAgICAuLi52YWxpZGF0b3JzRm9yRmllbGRDb25maWcoe1xuICAgICAgbWVzc2FnZXM6IHtcbiAgICAgICAgcGF0dGVybjogREVGQVVMVF9MQVRfTE5HX1RFWFRfRklFTERfUEFUVEVSTl9NRVNTQUdFXG4gICAgICB9XG4gICAgfSlcbiAgfTtcblxuICByZXR1cm4gZmllbGRDb25maWc7XG59XG4iXX0=
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DbxFormMapboxLatLngFieldComponent } from './latlng.field.component';
|
|
4
|
+
import { FormlyModule } from '@ngx-formly/core';
|
|
5
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
6
|
+
import { MatInputModule } from '@angular/material/input';
|
|
7
|
+
import { DbxTextModule } from '@dereekb/dbx-web';
|
|
8
|
+
import { NgxMapboxGLModule } from 'ngx-mapbox-gl';
|
|
9
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
10
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
11
|
+
import { DbxMapboxModule } from '@dereekb/dbx-web/mapbox';
|
|
12
|
+
import { DbxFormMapboxLatLngFieldMarkerComponent } from './latlng.field.marker.component';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "@ngx-formly/core";
|
|
15
|
+
export class DbxFormMapboxLatLngModule {
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormMapboxLatLngModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFormMapboxLatLngModule, declarations: [DbxFormMapboxLatLngFieldComponent, DbxFormMapboxLatLngFieldMarkerComponent], imports: [CommonModule,
|
|
18
|
+
MatIconModule,
|
|
19
|
+
MatButtonModule,
|
|
20
|
+
DbxTextModule,
|
|
21
|
+
DbxMapboxModule,
|
|
22
|
+
FormsModule,
|
|
23
|
+
ReactiveFormsModule,
|
|
24
|
+
MatInputModule, i1.FormlyModule, NgxMapboxGLModule], exports: [DbxFormMapboxLatLngFieldMarkerComponent] }); }
|
|
25
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormMapboxLatLngModule, imports: [CommonModule,
|
|
26
|
+
MatIconModule,
|
|
27
|
+
MatButtonModule,
|
|
28
|
+
DbxTextModule,
|
|
29
|
+
DbxMapboxModule,
|
|
30
|
+
FormsModule,
|
|
31
|
+
ReactiveFormsModule,
|
|
32
|
+
MatInputModule,
|
|
33
|
+
FormlyModule.forChild({
|
|
34
|
+
types: [{ name: 'mapbox-latlng-picker', component: DbxFormMapboxLatLngFieldComponent, wrappers: ['style', 'form-field'] }]
|
|
35
|
+
}),
|
|
36
|
+
NgxMapboxGLModule] }); }
|
|
37
|
+
}
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormMapboxLatLngModule, decorators: [{
|
|
39
|
+
type: NgModule,
|
|
40
|
+
args: [{
|
|
41
|
+
imports: [
|
|
42
|
+
CommonModule,
|
|
43
|
+
MatIconModule,
|
|
44
|
+
MatButtonModule,
|
|
45
|
+
DbxTextModule,
|
|
46
|
+
DbxMapboxModule,
|
|
47
|
+
FormsModule,
|
|
48
|
+
ReactiveFormsModule,
|
|
49
|
+
MatInputModule,
|
|
50
|
+
FormlyModule.forChild({
|
|
51
|
+
types: [{ name: 'mapbox-latlng-picker', component: DbxFormMapboxLatLngFieldComponent, wrappers: ['style', 'form-field'] }]
|
|
52
|
+
}),
|
|
53
|
+
NgxMapboxGLModule
|
|
54
|
+
],
|
|
55
|
+
declarations: [DbxFormMapboxLatLngFieldComponent, DbxFormMapboxLatLngFieldMarkerComponent],
|
|
56
|
+
exports: [DbxFormMapboxLatLngFieldMarkerComponent]
|
|
57
|
+
}]
|
|
58
|
+
}] });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF0bG5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL21hcGJveC9zcmMvbGliL2ZpZWxkL2xhdGxuZy9sYXRsbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQW9CMUYsTUFBTSxPQUFPLHlCQUF5QjsrR0FBekIseUJBQXlCO2dIQUF6Qix5QkFBeUIsaUJBSHJCLGlDQUFpQyxFQUFFLHVDQUF1QyxhQWJ2RixZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1lBQ2IsZUFBZTtZQUNmLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYyxtQkFJZCxpQkFBaUIsYUFHVCx1Q0FBdUM7Z0hBRXRDLHlCQUF5QixZQWhCbEMsWUFBWTtZQUNaLGFBQWE7WUFDYixlQUFlO1lBQ2YsYUFBYTtZQUNiLGVBQWU7WUFDZixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUNwQixLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsaUNBQWlDLEVBQUUsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxFQUFFLENBQUM7YUFDM0gsQ0FBQztZQUNGLGlCQUFpQjs7NEZBS1IseUJBQXlCO2tCQWxCckMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVksQ0FBQyxRQUFRLENBQUM7NEJBQ3BCLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxpQ0FBaUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQzt5QkFDM0gsQ0FBQzt3QkFDRixpQkFBaUI7cUJBQ2xCO29CQUNELFlBQVksRUFBRSxDQUFDLGlDQUFpQyxFQUFFLHVDQUF1QyxDQUFDO29CQUMxRixPQUFPLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztpQkFDbkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERieEZvcm1NYXBib3hMYXRMbmdGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vbGF0bG5nLmZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBEYnhUZXh0TW9kdWxlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBOZ3hNYXBib3hHTE1vZHVsZSB9IGZyb20gJ25neC1tYXBib3gtZ2wnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IERieE1hcGJveE1vZHVsZSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWIvbWFwYm94JztcbmltcG9ydCB7IERieEZvcm1NYXBib3hMYXRMbmdGaWVsZE1hcmtlckNvbXBvbmVudCB9IGZyb20gJy4vbGF0bG5nLmZpZWxkLm1hcmtlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgIERieFRleHRNb2R1bGUsXG4gICAgRGJ4TWFwYm94TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgRm9ybWx5TW9kdWxlLmZvckNoaWxkKHtcbiAgICAgIHR5cGVzOiBbeyBuYW1lOiAnbWFwYm94LWxhdGxuZy1waWNrZXInLCBjb21wb25lbnQ6IERieEZvcm1NYXBib3hMYXRMbmdGaWVsZENvbXBvbmVudCwgd3JhcHBlcnM6IFsnc3R5bGUnLCAnZm9ybS1maWVsZCddIH1dXG4gICAgfSksXG4gICAgTmd4TWFwYm94R0xNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbRGJ4Rm9ybU1hcGJveExhdExuZ0ZpZWxkQ29tcG9uZW50LCBEYnhGb3JtTWFwYm94TGF0TG5nRmllbGRNYXJrZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbRGJ4Rm9ybU1hcGJveExhdExuZ0ZpZWxkTWFya2VyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtTWFwYm94TGF0TG5nTW9kdWxlIHt9XG4iXX0=
|
|
@@ -10,8 +10,8 @@ import * as i1 from "@dereekb/dbx-web";
|
|
|
10
10
|
import * as i2 from "@dereekb/dbx-web/mapbox";
|
|
11
11
|
import * as i3 from "@angular/common";
|
|
12
12
|
import * as i4 from "@angular/forms";
|
|
13
|
-
import * as i5 from "@angular/material/
|
|
14
|
-
import * as i6 from "@angular/material/
|
|
13
|
+
import * as i5 from "@angular/material/input";
|
|
14
|
+
import * as i6 from "@angular/material/form-field";
|
|
15
15
|
import * as i7 from "ngx-mapbox-gl";
|
|
16
16
|
export class DbxFormMapboxZoomFieldComponent extends FieldType {
|
|
17
17
|
constructor(compact, dbxMapboxService, dbxMapboxMapStore, ngZone) {
|
|
@@ -110,22 +110,22 @@ export class DbxFormMapboxZoomFieldComponent extends FieldType {
|
|
|
110
110
|
this.formControl.markAsTouched();
|
|
111
111
|
this.formControl.markAsDirty();
|
|
112
112
|
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
DbxFormMapboxZoomFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFormMapboxZoomFieldComponent, selector: "ng-component", providers: [provideMapboxStoreIfParentIsUnavailable()], usesInheritance: true, ngImport: i0, template: `
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormMapboxZoomFieldComponent, deps: [{ token: i1.CompactContextStore, optional: true }, { token: i2.DbxMapboxService }, { token: i2.DbxMapboxMapStore }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxFormMapboxZoomFieldComponent, selector: "ng-component", providers: [provideMapboxStoreIfParentIsUnavailable()], usesInheritance: true, ngImport: i0, template: `
|
|
116
115
|
<div class="dbx-mapbox-input-field" [ngClass]="(compactClass$ | async) ?? ''" [formGroup]="formGroup">
|
|
117
116
|
<div *ngIf="showMap" class="dbx-mapbox-input-field-map">
|
|
118
117
|
<mgl-map dbxMapboxMap></mgl-map>
|
|
119
118
|
</div>
|
|
120
119
|
<div class="dbx-mapbox-input-field-input">
|
|
121
|
-
<mat-form-field class="dbx-mapbox-input-field-input-field"
|
|
120
|
+
<mat-form-field class="dbx-mapbox-input-field-input-field">
|
|
122
121
|
<mat-label>Zoom Level</mat-label>
|
|
123
122
|
<input type="number" matInput [min]="minZoom" [max]="maxZoom" [step]="zoomStep" [placeholder]="placeholder" [formControl]="formControl" />
|
|
124
123
|
</mat-form-field>
|
|
125
124
|
</div>
|
|
126
125
|
</div>
|
|
127
|
-
`, isInline: true, styles: [".dbx-mapbox-input-field .dbx-mapbox-input-field-map{height:220px;width:100%}.dbx-mapbox-input-field .dbx-mapbox-input-field-map mgl-map{height:100%;width:100%}.dbx-mapbox-input-field .dbx-mapbox-input-field-input{display:flex;align-items:center}.dbx-mapbox-input-field .dbx-mapbox-input-field-input .dbx-mapbox-input-field-input-field{width:calc(100% - 40px)}.dbx-mapbox-input-field-compact .dbx-latlng-field-input{min-height:120px;height:300px;max-height:calc(var(--vh100) * .5)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DbxMapboxMapDirective, selector: "[dbxMapboxMap]" }, { kind: "directive", type: i4.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: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i4.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "
|
|
128
|
-
|
|
126
|
+
`, isInline: true, styles: [".dbx-mapbox-input-field .dbx-mapbox-input-field-map{height:220px;width:100%}.dbx-mapbox-input-field .dbx-mapbox-input-field-map mgl-map{height:100%;width:100%}.dbx-mapbox-input-field .dbx-mapbox-input-field-input{display:flex;align-items:center}.dbx-mapbox-input-field .dbx-mapbox-input-field-input .dbx-mapbox-input-field-input-field{width:calc(100% - 40px)}.dbx-mapbox-input-field-compact .dbx-latlng-field-input{min-height:120px;height:300px;max-height:calc(var(--vh100) * .5)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DbxMapboxMapDirective, selector: "[dbxMapboxMap]" }, { kind: "directive", type: i4.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: i4.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i4.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "component", type: i7.MapComponent, selector: "mgl-map", inputs: ["accessToken", "collectResourceTiming", "crossSourceCollisions", "customMapboxApiUrl", "fadeDuration", "hash", "refreshExpiredTiles", "failIfMajorPerformanceCaveat", "bearingSnap", "interactive", "pitchWithRotate", "clickTolerance", "attributionControl", "logoPosition", "maxTileCacheSize", "localIdeographFontFamily", "preserveDrawingBuffer", "trackResize", "transformRequest", "bounds", "antialias", "locale", "cooperativeGestures", "minZoom", "maxZoom", "minPitch", "maxPitch", "scrollZoom", "dragRotate", "touchPitch", "touchZoomRotate", "doubleClickZoom", "keyboard", "dragPan", "boxZoom", "style", "center", "maxBounds", "zoom", "bearing", "pitch", "fitBoundsOptions", "renderWorldCopies", "projection", "movingMethod", "movingOptions", "fitBounds", "fitScreenCoordinates", "centerWithPanTo", "panToOptions", "cursorStyle"], outputs: ["mapResize", "mapRemove", "mapMouseDown", "mapMouseUp", "mapMouseMove", "mapClick", "mapDblClick", "mapMouseOver", "mapMouseOut", "mapContextMenu", "mapTouchStart", "mapTouchEnd", "mapTouchMove", "mapTouchCancel", "mapWheel", "moveStart", "move", "moveEnd", "mapDragStart", "mapDrag", "mapDragEnd", "zoomStart", "zoomEvt", "zoomEnd", "rotateStart", "rotate", "rotateEnd", "pitchStart", "pitchEvt", "pitchEnd", "boxZoomStart", "boxZoomEnd", "boxZoomCancel", "webGlContextLost", "webGlContextRestored", "mapLoad", "mapCreate", "idle", "render", "mapError", "data", "styleData", "sourceData", "dataLoading", "styleDataLoading", "sourceDataLoading", "styleImageMissing", "resize", "remove", "mouseDown", "mouseUp", "mouseMove", "click", "dblClick", "mouseOver", "mouseOut", "contextMenu", "touchStart", "touchEnd", "touchMove", "touchCancel", "wheel", "dragStart", "drag", "dragEnd", "load", "error"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
|
|
127
|
+
}
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormMapboxZoomFieldComponent, decorators: [{
|
|
129
129
|
type: Component,
|
|
130
130
|
args: [{ template: `
|
|
131
131
|
<div class="dbx-mapbox-input-field" [ngClass]="(compactClass$ | async) ?? ''" [formGroup]="formGroup">
|
|
@@ -133,7 +133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
133
133
|
<mgl-map dbxMapboxMap></mgl-map>
|
|
134
134
|
</div>
|
|
135
135
|
<div class="dbx-mapbox-input-field-input">
|
|
136
|
-
<mat-form-field class="dbx-mapbox-input-field-input-field"
|
|
136
|
+
<mat-form-field class="dbx-mapbox-input-field-input-field">
|
|
137
137
|
<mat-label>Zoom Level</mat-label>
|
|
138
138
|
<input type="number" matInput [min]="minZoom" [max]="maxZoom" [step]="zoomStep" [placeholder]="placeholder" [formControl]="formControl" />
|
|
139
139
|
</mat-form-field>
|
|
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
143
143
|
}], ctorParameters: function () { return [{ type: i1.CompactContextStore, decorators: [{
|
|
144
144
|
type: Optional
|
|
145
145
|
}] }, { type: i2.DbxMapboxService }, { type: i2.DbxMapboxMapStore }, { type: i0.NgZone }]; } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9tYXBib3gvc3JjL2xpYi9maWVsZC96b29tL3pvb20uZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQWlDLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQW1CLHVDQUF1QyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFnRHZNLE1BQU0sT0FBTywrQkFBdUgsU0FBUSxTQUE2QjtJQXFCdkssWUFBaUMsT0FBNEIsRUFBVyxnQkFBa0MsRUFBVyxpQkFBb0MsRUFBVyxNQUFjO1FBQ2hMLEtBQUssRUFBRSxDQUFDO1FBRHVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQVcscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFXLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFBVyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBcEIxSyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV0QixrQkFBYSxHQUFHLGlC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Q0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXBCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQXVCO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDOzs2SEExSFUsK0JBQStCO2lIQUEvQiwrQkFBK0IsdUNBSC9CLENBQUMsdUNBQXVDLEVBQUUsQ0FBQyxpREFiNUM7Ozs7Ozs7Ozs7OztHQVlUOzRGQUlVLCtCQUErQjtrQkFqQjNDLFNBQVM7K0JBQ0U7Ozs7Ozs7Ozs7OztHQVlULGFBQ1UsQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDOzswQkF3QnpDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBhY3RDb250ZXh0U3RvcmUsIG1hcENvbXBhY3RNb2RlT2JzIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGVDb25maWcsIEZvcm1seUZpZWxkUHJvcHMgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXJNYXliZSwgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBab29tTGV2ZWwsIE1heWJlLCBMYXRMbmdQb2ludCwgbGF0TG5nUG9pbnQgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieE1hcGJveFNlcnZpY2UsIERieE1hcGJveE1hcFN0b3JlLCBNYXBib3hab29tTGV2ZWwsIHByb3ZpZGVNYXBib3hTdG9yZUlmUGFyZW50SXNVbmF2YWlsYWJsZSwgbWFwYm94Wm9vbUxldmVsLCBNQVBCT1hfTUFYX1pPT01fTEVWRUwsIE1BUEJPWF9NSU5fWk9PTV9MRVZFTCB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWIvbWFwYm94JztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGb3JtTWFwYm94Wm9vbUNvbXBvbmVudEZpZWxkUHJvcHMgZXh0ZW5kcyBPbWl0PEZvcm1seUZpZWxkUHJvcHMsICdtaW4nIHwgJ21heCc+IHtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgV2hldGhlciBvciBub3QgdGhlIHNob3cgdGhlIG1hcC4gQ2FzZXMgd2hlcmUgdGhpcyB3b3VsZCBiZSBzZXQgZmFsc2UgaXMgaWYgYW5vdGhlciBtYXAgaXMgYmVpbmcgdXNlZC5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIHNob3dNYXA/OiBib29sZWFuO1xuICAvKipcbiAgICogRGVmYXVsdCBjZW50ZXJcbiAgICovXG4gIGNlbnRlcj86IExhdExuZ1BvaW50O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gbG9jayB0aGUgbWFwIGl0c2VsZiB0byB0aGUgbWluIGFuZCBtYXggem9vbSBsZXZlbHMuXG4gICAqL1xuICBsb2NrTWFwVG9ab29tTGV2ZWxzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE1pbiB6b29tIGxldmVsIGFsbG93ZWRcbiAgICovXG4gIG1pblpvb20/OiBNYXBib3hab29tTGV2ZWw7XG4gIC8qKlxuICAgKiBNYXggem9vbSBsZXZlbCBhbGxvd2VkLlxuICAgKi9cbiAgbWF4Wm9vbT86IE1hcGJveFpvb21MZXZlbDtcbiAgLyoqXG4gICAqIFN0ZXAgc2l6ZSB3aGVuIHVzaW5nIGFycm93IGtleXMuXG4gICAqL1xuICB6b29tU3RlcD86IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRieC1tYXBib3gtaW5wdXQtZmllbGRcIiBbbmdDbGFzc109XCIoY29tcGFjdENsYXNzJCB8IGFzeW5jKSA/PyAnJ1wiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd01hcFwiIGNsYXNzPVwiZGJ4LW1hcGJveC1pbnB1dC1maWVsZC1tYXBcIj5cbiAgICAgICAgPG1nbC1tYXAgZGJ4TWFwYm94TWFwPjwvbWdsLW1hcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRieC1tYXBib3gtaW5wdXQtZmllbGQtaW5wdXRcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZGJ4LW1hcGJveC1pbnB1dC1maWVsZC1pbnB1dC1maWVsZFwiIGFwcGVhcmFuY2U9XCJzdGFuZGFyZFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+Wm9vbSBMZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWF0SW5wdXQgW21pbl09XCJtaW5ab29tXCIgW21heF09XCJtYXhab29tXCIgW3N0ZXBdPVwiem9vbVN0ZXBcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByb3ZpZGVyczogW3Byb3ZpZGVNYXBib3hTdG9yZUlmUGFyZW50SXNVbmF2YWlsYWJsZSgpXSxcbiAgc3R5bGVVcmxzOiBbJy4uL21hcGJveC5maWVsZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERieEZvcm1NYXBib3hab29tRmllbGRDb21wb25lbnQ8VCBleHRlbmRzIERieEZvcm1NYXBib3hab29tQ29tcG9uZW50RmllbGRQcm9wcyA9IERieEZvcm1NYXBib3hab29tQ29tcG9uZW50RmllbGRQcm9wcz4gZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPFQ+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfdW5kb1pvb21MaW1pdCA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IGNvbXBhY3RDbGFzcyQgPSBtYXBDb21wYWN0TW9kZU9icyh0aGlzLmNvbXBhY3Q/Lm1vZGUkLCB7XG4gICAgY29tcGFjdDogJ2RieC1tYXBib3gtaW5wdXQtZmllbGQtY29tcGFjdCdcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfc3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9jZW50ZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPExhdExuZ1BvaW50Pj4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIF9mb3JtQ29udHJvbE9icyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8QWJzdHJhY3RDb250cm9sPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgZm9ybUNvbnRyb2wkID0gdGhpcy5fZm9ybUNvbnRyb2xPYnMucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSB2YWx1ZSQgPSB0aGlzLmZvcm1Db250cm9sJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoY29udHJvbCkgPT4gY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoY29udHJvbC52YWx1ZSkpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHpvb20kOiBPYnNlcnZhYmxlPE1hcGJveFpvb21MZXZlbD4gPSB0aGlzLnZhbHVlJC5waXBlKGZpbHRlck1heWJlKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgY2VudGVyJCA9IHRoaXMuX2NlbnRlci5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHJlYWRvbmx5IGNvbXBhY3Q6IENvbXBhY3RDb250ZXh0U3RvcmUsIHJlYWRvbmx5IGRieE1hcGJveFNlcnZpY2U6IERieE1hcGJveFNlcnZpY2UsIHJlYWRvbmx5IGRieE1hcGJveE1hcFN0b3JlOiBEYnhNYXBib3hNYXBTdG9yZSwgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGNlbnRlcigpOiBMYXRMbmdQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucHJvcHMuY2VudGVyIHx8IGxhdExuZ1BvaW50KHRoaXMuZGJ4TWFwYm94U2VydmljZS5kZWZhdWx0Q2VudGVyKTtcbiAgfVxuXG4gIGdldCBmb3JtR3JvdXBOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQua2V5IGFzIHN0cmluZztcbiAgfVxuXG4gIGdldCBmb3JtR3JvdXAoKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5wcm9wcz8ubGFiZWw7XG4gIH1cblxuICBnZXQgZGVzY3JpcHRpb24oKTogTWF5YmU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZGVzY3JpcHRpb247XG4gIH1cblxuICBnZXQgaXNSZWFkb25seU9yRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBzaG93TWFwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLnNob3dNYXAgPz8gdHJ1ZTtcbiAgfVxuXG4gIGdldCBsb2NrTWFwVG9ab29tTGV2ZWxzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLmxvY2tNYXBUb1pvb21MZXZlbHMgPz8gZmFsc2U7XG4gIH1cblxuICBnZXQgbWluWm9vbSgpOiBNYXBib3hab29tTGV2ZWwge1xuICAgIHJldHVybiBtYXBib3hab29tTGV2ZWwodGhpcy5maWVsZC5wcm9wcy5taW5ab29tIHx8IE1BUEJPWF9NSU5fWk9PTV9MRVZFTCk7XG4gIH1cblxuICBnZXQgbWF4Wm9vbSgpOiBNYXBib3hab29tTGV2ZWwge1xuICAgIHJldHVybiBtYXBib3hab29tTGV2ZWwodGhpcy5maWVsZC5wcm9wcy5tYXhab29tIHx8IE1BUEJPWF9NQVhfWk9PTV9MRVZFTCk7XG4gIH1cblxuICBnZXQgem9vbVN0ZXAoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbWFwYm94Wm9vbUxldmVsKHRoaXMuZmllbGQucHJvcHMuem9vbVN0ZXAgfHwgMSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb3JtQ29udHJvbE9icy5uZXh0KHRoaXMuZm9ybUNvbnRyb2wpO1xuICAgIHRoaXMuX2NlbnRlci5uZXh0KHRoaXMuY2VudGVyKTtcblxuICAgIC8vIHNldC9zeW5jIHByb3BzIGZvciBlcnJvciBtZXNzYWdlc1xuICAgICh0aGlzLnByb3BzIGFzIEZvcm1seUZpZWxkUHJvcHMpLm1pbiA9IHRoaXMubWluWm9vbTtcbiAgICAodGhpcy5wcm9wcyBhcyBGb3JtbHlGaWVsZFByb3BzKS5tYXggPSB0aGlzLm1heFpvb207XG5cbiAgICB0aGlzLmRieE1hcGJveE1hcFN0b3JlLnNldFpvb20odGhpcy56b29tJCk7XG5cbiAgICAvLyBTZXQgY2VudGVyIG9ubHkgaWYgc2hvd01hcCBpcyBmYWxzZS5cbiAgICBpZiAodGhpcy5zaG93TWFwKSB7XG4gICAgICB0aGlzLmRieE1hcGJveE1hcFN0b3JlLnNldENlbnRlcih0aGlzLmNlbnRlciQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLnJlYWRvbmx5KSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcblxuICAgICAgaWYgKHRoaXMuc2hvd01hcCkge1xuICAgICAgICB0aGlzLmRieE1hcGJveE1hcFN0b3JlLnNldFpvb21EaXNhYmxlZCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5sb2NrTWFwVG9ab29tTGV2ZWxzKSB7XG4gICAgICAvLyBzZXQgem9vbSBsaW1pdHMgb24gdGhlIG1hcFxuICAgICAgdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5zZXRab29tUmFuZ2UoeyBtaW46IHRoaXMubWluWm9vbSwgbWF4OiB0aGlzLm1heFpvb20gfSk7XG5cbiAgICAgIC8vIGZsYXQgdG8gdW5kbyB0aGVtIGxhdGVyIGlmIG5vdCB1c2luZyB0aGUgc2FtZSBtYXBcbiAgICAgIHRoaXMuX3VuZG9ab29tTGltaXQgPSAhdGhpcy5zaG93TWFwO1xuICAgIH1cblxuICAgIHRoaXMuX3N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmRieE1hcGJveE1hcFN0b3JlLnpvb20kLnN1YnNjcmliZSgoem9vbSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzUmVhZG9ubHlPckRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRWYWx1ZSh6b29tKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2Zvcm1Db250cm9sT2JzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fY2VudGVyLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fc3ViLmRlc3Ryb3koKTtcblxuICAgIGlmICghdGhpcy5fdW5kb1pvb21MaW1pdCkge1xuICAgICAgdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5zZXRab29tUmFuZ2Uoe30pO1xuICAgIH1cbiAgfVxuXG4gIHNldFZhbHVlKHpvb20/OiBNYXliZTxab29tTGV2ZWw+KSB7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh6b29tKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XG4gIH1cbn1cbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9tYXBib3gvc3JjL2xpYi9maWVsZC96b29tL3pvb20uZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFxQixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQWlDLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQW1CLHVDQUF1QyxFQUFFLGVBQWUsRUFBRSxxQkFBcUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFnRHZNLE1BQU0sT0FBTywrQkFBdUgsU0FBUSxTQUE2QjtJQXFCdkssWUFBaUMsT0FBNEIsRUFBVyxnQkFBa0MsRUFBVyxpQkFBb0MsRUFBVyxNQUFjO1FBQ2hMLEtBQUssRUFBRSxDQUFDO1FBRHVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQVcscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFXLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFBVyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBcEIxSyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV0QixrQkFBYSxHQUFHLGlC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Q0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXBCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDekM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLElBQXVCO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNqQyxDQUFDOytHQTFIVSwrQkFBK0I7bUdBQS9CLCtCQUErQix1Q0FIL0IsQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDLGlEQWI1Qzs7Ozs7Ozs7Ozs7O0dBWVQ7OzRGQUlVLCtCQUErQjtrQkFqQjNDLFNBQVM7K0JBQ0U7Ozs7Ozs7Ozs7OztHQVlULGFBQ1UsQ0FBQyx1Q0FBdUMsRUFBRSxDQUFDOzswQkF3QnpDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvbXBhY3RDb250ZXh0U3RvcmUsIG1hcENvbXBhY3RNb2RlT2JzIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBDb21wb25lbnQsIE5nWm9uZSwgT25EZXN0cm95LCBPbkluaXQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGVDb25maWcsIEZvcm1seUZpZWxkUHJvcHMgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCwgc3dpdGNoTWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXJNYXliZSwgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBab29tTGV2ZWwsIE1heWJlLCBMYXRMbmdQb2ludCwgbGF0TG5nUG9pbnQgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieE1hcGJveFNlcnZpY2UsIERieE1hcGJveE1hcFN0b3JlLCBNYXBib3hab29tTGV2ZWwsIHByb3ZpZGVNYXBib3hTdG9yZUlmUGFyZW50SXNVbmF2YWlsYWJsZSwgbWFwYm94Wm9vbUxldmVsLCBNQVBCT1hfTUFYX1pPT01fTEVWRUwsIE1BUEJPWF9NSU5fWk9PTV9MRVZFTCB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWIvbWFwYm94JztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGb3JtTWFwYm94Wm9vbUNvbXBvbmVudEZpZWxkUHJvcHMgZXh0ZW5kcyBPbWl0PEZvcm1seUZpZWxkUHJvcHMsICdtaW4nIHwgJ21heCc+IHtcbiAgLyoqXG4gICAqIChPcHRpb25hbCkgV2hldGhlciBvciBub3QgdGhlIHNob3cgdGhlIG1hcC4gQ2FzZXMgd2hlcmUgdGhpcyB3b3VsZCBiZSBzZXQgZmFsc2UgaXMgaWYgYW5vdGhlciBtYXAgaXMgYmVpbmcgdXNlZC5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICovXG4gIHNob3dNYXA/OiBib29sZWFuO1xuICAvKipcbiAgICogRGVmYXVsdCBjZW50ZXJcbiAgICovXG4gIGNlbnRlcj86IExhdExuZ1BvaW50O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gbG9jayB0aGUgbWFwIGl0c2VsZiB0byB0aGUgbWluIGFuZCBtYXggem9vbSBsZXZlbHMuXG4gICAqL1xuICBsb2NrTWFwVG9ab29tTGV2ZWxzPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE1pbiB6b29tIGxldmVsIGFsbG93ZWRcbiAgICovXG4gIG1pblpvb20/OiBNYXBib3hab29tTGV2ZWw7XG4gIC8qKlxuICAgKiBNYXggem9vbSBsZXZlbCBhbGxvd2VkLlxuICAgKi9cbiAgbWF4Wm9vbT86IE1hcGJveFpvb21MZXZlbDtcbiAgLyoqXG4gICAqIFN0ZXAgc2l6ZSB3aGVuIHVzaW5nIGFycm93IGtleXMuXG4gICAqL1xuICB6b29tU3RlcD86IG51bWJlcjtcbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImRieC1tYXBib3gtaW5wdXQtZmllbGRcIiBbbmdDbGFzc109XCIoY29tcGFjdENsYXNzJCB8IGFzeW5jKSA/PyAnJ1wiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICA8ZGl2ICpuZ0lmPVwic2hvd01hcFwiIGNsYXNzPVwiZGJ4LW1hcGJveC1pbnB1dC1maWVsZC1tYXBcIj5cbiAgICAgICAgPG1nbC1tYXAgZGJ4TWFwYm94TWFwPjwvbWdsLW1hcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRieC1tYXBib3gtaW5wdXQtZmllbGQtaW5wdXRcIj5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZGJ4LW1hcGJveC1pbnB1dC1maWVsZC1pbnB1dC1maWVsZFwiPlxuICAgICAgICAgIDxtYXQtbGFiZWw+Wm9vbSBMZXZlbDwvbWF0LWxhYmVsPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgbWF0SW5wdXQgW21pbl09XCJtaW5ab29tXCIgW21heF09XCJtYXhab29tXCIgW3N0ZXBdPVwiem9vbVN0ZXBcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiAvPlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByb3ZpZGVyczogW3Byb3ZpZGVNYXBib3hTdG9yZUlmUGFyZW50SXNVbmF2YWlsYWJsZSgpXSxcbiAgc3R5bGVVcmxzOiBbJy4uL21hcGJveC5maWVsZC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERieEZvcm1NYXBib3hab29tRmllbGRDb21wb25lbnQ8VCBleHRlbmRzIERieEZvcm1NYXBib3hab29tQ29tcG9uZW50RmllbGRQcm9wcyA9IERieEZvcm1NYXBib3hab29tQ29tcG9uZW50RmllbGRQcm9wcz4gZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPFQ+PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfdW5kb1pvb21MaW1pdCA9IGZhbHNlO1xuXG4gIHJlYWRvbmx5IGNvbXBhY3RDbGFzcyQgPSBtYXBDb21wYWN0TW9kZU9icyh0aGlzLmNvbXBhY3Q/Lm1vZGUkLCB7XG4gICAgY29tcGFjdDogJ2RieC1tYXBib3gtaW5wdXQtZmllbGQtY29tcGFjdCdcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfc3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9jZW50ZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPExhdExuZ1BvaW50Pj4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIF9mb3JtQ29udHJvbE9icyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8QWJzdHJhY3RDb250cm9sPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgZm9ybUNvbnRyb2wkID0gdGhpcy5fZm9ybUNvbnRyb2xPYnMucGlwZShmaWx0ZXJNYXliZSgpKTtcblxuICByZWFkb25seSB2YWx1ZSQgPSB0aGlzLmZvcm1Db250cm9sJC5waXBlKFxuICAgIHN3aXRjaE1hcCgoY29udHJvbCkgPT4gY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShzdGFydFdpdGgoY29udHJvbC52YWx1ZSkpKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHpvb20kOiBPYnNlcnZhYmxlPE1hcGJveFpvb21MZXZlbD4gPSB0aGlzLnZhbHVlJC5waXBlKGZpbHRlck1heWJlKCksIHNoYXJlUmVwbGF5KDEpKTtcbiAgcmVhZG9ubHkgY2VudGVyJCA9IHRoaXMuX2NlbnRlci5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIHJlYWRvbmx5IGNvbXBhY3Q6IENvbXBhY3RDb250ZXh0U3RvcmUsIHJlYWRvbmx5IGRieE1hcGJveFNlcnZpY2U6IERieE1hcGJveFNlcnZpY2UsIHJlYWRvbmx5IGRieE1hcGJveE1hcFN0b3JlOiBEYnhNYXBib3hNYXBTdG9yZSwgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IGNlbnRlcigpOiBMYXRMbmdQb2ludCB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucHJvcHMuY2VudGVyIHx8IGxhdExuZ1BvaW50KHRoaXMuZGJ4TWFwYm94U2VydmljZS5kZWZhdWx0Q2VudGVyKTtcbiAgfVxuXG4gIGdldCBmb3JtR3JvdXBOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQua2V5IGFzIHN0cmluZztcbiAgfVxuXG4gIGdldCBmb3JtR3JvdXAoKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5wcm9wcz8ubGFiZWw7XG4gIH1cblxuICBnZXQgZGVzY3JpcHRpb24oKTogTWF5YmU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMuZGVzY3JpcHRpb247XG4gIH1cblxuICBnZXQgaXNSZWFkb25seU9yRGlzYWJsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJvcHMucmVhZG9ubHkgfHwgdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIGdldCBzaG93TWFwKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLnNob3dNYXAgPz8gdHJ1ZTtcbiAgfVxuXG4gIGdldCBsb2NrTWFwVG9ab29tTGV2ZWxzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnByb3BzLmxvY2tNYXBUb1pvb21MZXZlbHMgPz8gZmFsc2U7XG4gIH1cblxuICBnZXQgbWluWm9vbSgpOiBNYXBib3hab29tTGV2ZWwge1xuICAgIHJldHVybiBtYXBib3hab29tTGV2ZWwodGhpcy5maWVsZC5wcm9wcy5taW5ab29tIHx8IE1BUEJPWF9NSU5fWk9PTV9MRVZFTCk7XG4gIH1cblxuICBnZXQgbWF4Wm9vbSgpOiBNYXBib3hab29tTGV2ZWwge1xuICAgIHJldHVybiBtYXBib3hab29tTGV2ZWwodGhpcy5maWVsZC5wcm9wcy5tYXhab29tIHx8IE1BUEJPWF9NQVhfWk9PTV9MRVZFTCk7XG4gIH1cblxuICBnZXQgem9vbVN0ZXAoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbWFwYm94Wm9vbUxldmVsKHRoaXMuZmllbGQucHJvcHMuem9vbVN0ZXAgfHwgMSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb3JtQ29udHJvbE9icy5uZXh0KHRoaXMuZm9ybUNvbnRyb2wpO1xuICAgIHRoaXMuX2NlbnRlci5uZXh0KHRoaXMuY2VudGVyKTtcblxuICAgIC8vIHNldC9zeW5jIHByb3BzIGZvciBlcnJvciBtZXNzYWdlc1xuICAgICh0aGlzLnByb3BzIGFzIEZvcm1seUZpZWxkUHJvcHMpLm1pbiA9IHRoaXMubWluWm9vbTtcbiAgICAodGhpcy5wcm9wcyBhcyBGb3JtbHlGaWVsZFByb3BzKS5tYXggPSB0aGlzLm1heFpvb207XG5cbiAgICB0aGlzLmRieE1hcGJveE1hcFN0b3JlLnNldFpvb20odGhpcy56b29tJCk7XG5cbiAgICAvLyBTZXQgY2VudGVyIG9ubHkgaWYgc2hvd01hcCBpcyBmYWxzZS5cbiAgICBpZiAodGhpcy5zaG93TWFwKSB7XG4gICAgICB0aGlzLmRieE1hcGJveE1hcFN0b3JlLnNldENlbnRlcih0aGlzLmNlbnRlciQpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnByb3BzLnJlYWRvbmx5KSB7XG4gICAgICB0aGlzLmZvcm1Db250cm9sLmRpc2FibGUoKTtcblxuICAgICAgaWYgKHRoaXMuc2hvd01hcCkge1xuICAgICAgICB0aGlzLmRieE1hcGJveE1hcFN0b3JlLnNldFpvb21EaXNhYmxlZCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5sb2NrTWFwVG9ab29tTGV2ZWxzKSB7XG4gICAgICAvLyBzZXQgem9vbSBsaW1pdHMgb24gdGhlIG1hcFxuICAgICAgdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5zZXRab29tUmFuZ2UoeyBtaW46IHRoaXMubWluWm9vbSwgbWF4OiB0aGlzLm1heFpvb20gfSk7XG5cbiAgICAgIC8vIGZsYXQgdG8gdW5kbyB0aGVtIGxhdGVyIGlmIG5vdCB1c2luZyB0aGUgc2FtZSBtYXBcbiAgICAgIHRoaXMuX3VuZG9ab29tTGltaXQgPSAhdGhpcy5zaG93TWFwO1xuICAgIH1cblxuICAgIHRoaXMuX3N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmRieE1hcGJveE1hcFN0b3JlLnpvb20kLnN1YnNjcmliZSgoem9vbSkgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzUmVhZG9ubHlPckRpc2FibGVkKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRWYWx1ZSh6b29tKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX2Zvcm1Db250cm9sT2JzLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fY2VudGVyLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fc3ViLmRlc3Ryb3koKTtcblxuICAgIGlmICghdGhpcy5fdW5kb1pvb21MaW1pdCkge1xuICAgICAgdGhpcy5kYnhNYXBib3hNYXBTdG9yZS5zZXRab29tUmFuZ2Uoe30pO1xuICAgIH1cbiAgfVxuXG4gIHNldFZhbHVlKHpvb20/OiBNYXliZTxab29tTGV2ZWw+KSB7XG4gICAgdGhpcy5mb3JtQ29udHJvbC5zZXRWYWx1ZSh6b29tKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICB0aGlzLmZvcm1Db250cm9sLm1hcmtBc0RpcnR5KCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { formlyField, propsAndConfigForFieldConfig } from '@dereekb/dbx-form';
|
|
2
|
+
export function mapboxZoomField(config = {}) {
|
|
3
|
+
const { key = 'zoom', showMap, center, minZoom, maxZoom, zoomStep } = config;
|
|
4
|
+
const classGetter = 'dbx-mat-form-field-disable-underline';
|
|
5
|
+
const fieldConfig = {
|
|
6
|
+
...formlyField({
|
|
7
|
+
key,
|
|
8
|
+
type: 'mapbox-zoom-picker',
|
|
9
|
+
...propsAndConfigForFieldConfig(config, {
|
|
10
|
+
classGetter,
|
|
11
|
+
label: config.label ?? 'Zoom',
|
|
12
|
+
autocomplete: false,
|
|
13
|
+
showMap,
|
|
14
|
+
center,
|
|
15
|
+
minZoom,
|
|
16
|
+
maxZoom,
|
|
17
|
+
zoomStep
|
|
18
|
+
})
|
|
19
|
+
})
|
|
20
|
+
};
|
|
21
|
+
return fieldConfig;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL21hcGJveC9zcmMvbGliL2ZpZWxkL3pvb20vem9vbS5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVDLFdBQVcsRUFBc0IsNEJBQTRCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQU12SSxNQUFNLFVBQVUsZUFBZSxDQUFDLFNBQWdDLEVBQUU7SUFDaEUsTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUU3RSxNQUFNLFdBQVcsR0FBRyxzQ0FBc0MsQ0FBQztJQUMzRCxNQUFNLFdBQVcsR0FBc0I7UUFDckMsR0FBRyxXQUFXLENBQUM7WUFDYixHQUFHO1lBQ0gsSUFBSSxFQUFFLG9CQUFvQjtZQUMxQixHQUFHLDRCQUE0QixDQUFDLE1BQU0sRUFBRTtnQkFDdEMsV0FBVztnQkFDWCxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxNQUFNO2dCQUM3QixZQUFZLEVBQUUsS0FBSztnQkFDbkIsT0FBTztnQkFDUCxNQUFNO2dCQUNOLE9BQU87Z0JBQ1AsT0FBTztnQkFDUCxRQUFRO2FBQ1QsQ0FBQztTQUNILENBQUM7S0FDSCxDQUFDO0lBRUYsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaXB0aW9uRmllbGRDb25maWcsIEZpZWxkQ29uZmlnLCBmb3JtbHlGaWVsZCwgTGFiZWxlZEZpZWxkQ29uZmlnLCBwcm9wc0FuZENvbmZpZ0ZvckZpZWxkQ29uZmlnIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWZvcm0nO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IERieEZvcm1NYXBib3hab29tQ29tcG9uZW50RmllbGRQcm9wcyB9IGZyb20gJy4vem9vbS5maWVsZC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hcGJveFpvb21GaWVsZENvbmZpZyBleHRlbmRzIE9taXQ8TGFiZWxlZEZpZWxkQ29uZmlnLCAna2V5Jz4sIERlc2NyaXB0aW9uRmllbGRDb25maWcsIFBhcnRpYWw8RmllbGRDb25maWc+LCBQaWNrPERieEZvcm1NYXBib3hab29tQ29tcG9uZW50RmllbGRQcm9wcywgJ3Nob3dNYXAnIHwgJ2NlbnRlcicgfCAnbWluWm9vbScgfCAnbWF4Wm9vbScgfCAnem9vbVN0ZXAnPiB7fVxuXG5leHBvcnQgZnVuY3Rpb24gbWFwYm94Wm9vbUZpZWxkKGNvbmZpZzogTWFwYm94Wm9vbUZpZWxkQ29uZmlnID0ge30pOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIGNvbnN0IHsga2V5ID0gJ3pvb20nLCBzaG93TWFwLCBjZW50ZXIsIG1pblpvb20sIG1heFpvb20sIHpvb21TdGVwIH0gPSBjb25maWc7XG5cbiAgY29uc3QgY2xhc3NHZXR0ZXIgPSAnZGJ4LW1hdC1mb3JtLWZpZWxkLWRpc2FibGUtdW5kZXJsaW5lJztcbiAgY29uc3QgZmllbGRDb25maWc6IEZvcm1seUZpZWxkQ29uZmlnID0ge1xuICAgIC4uLmZvcm1seUZpZWxkKHtcbiAgICAgIGtleSxcbiAgICAgIHR5cGU6ICdtYXBib3gtem9vbS1waWNrZXInLFxuICAgICAgLi4ucHJvcHNBbmRDb25maWdGb3JGaWVsZENvbmZpZyhjb25maWcsIHtcbiAgICAgICAgY2xhc3NHZXR0ZXIsXG4gICAgICAgIGxhYmVsOiBjb25maWcubGFiZWwgPz8gJ1pvb20nLFxuICAgICAgICBhdXRvY29tcGxldGU6IGZhbHNlLFxuICAgICAgICBzaG93TWFwLFxuICAgICAgICBjZW50ZXIsXG4gICAgICAgIG1pblpvb20sXG4gICAgICAgIG1heFpvb20sXG4gICAgICAgIHpvb21TdGVwXG4gICAgICB9KVxuICAgIH0pXG4gIH07XG5cbiAgcmV0dXJuIGZpZWxkQ29uZmlnO1xufVxuIl19
|