@dereekb/dbx-form 12.6.21 → 13.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/LICENSE +1 -1
- package/fesm2022/dereekb-dbx-form-calendar.mjs +86 -86
- package/fesm2022/dereekb-dbx-form-calendar.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-form-mapbox.mjs +28 -28
- package/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-form.mjs +429 -600
- package/fesm2022/dereekb-dbx-form.mjs.map +1 -1
- package/lib/formly/field/value/phone/_phone.scss +1 -0
- package/lib/style/_theming.scss +196 -1
- package/package.json +26 -32
- package/types/dereekb-dbx-form-calendar.d.ts +679 -0
- package/types/dereekb-dbx-form-mapbox.d.ts +216 -0
- package/types/dereekb-dbx-form.d.ts +3050 -0
- package/calendar/index.d.ts +0 -1
- package/calendar/lib/calendar.module.d.ts +0 -19
- package/calendar/lib/calendar.schedule.selection.cell.component.d.ts +0 -16
- package/calendar/lib/calendar.schedule.selection.component.d.ts +0 -74
- package/calendar/lib/calendar.schedule.selection.d.ts +0 -29
- package/calendar/lib/calendar.schedule.selection.days.component.d.ts +0 -15
- package/calendar/lib/calendar.schedule.selection.days.form.component.d.ts +0 -10
- package/calendar/lib/calendar.schedule.selection.dialog.button.component.d.ts +0 -15
- package/calendar/lib/calendar.schedule.selection.dialog.component.d.ts +0 -24
- package/calendar/lib/calendar.schedule.selection.form.d.ts +0 -4
- package/calendar/lib/calendar.schedule.selection.popover.button.component.d.ts +0 -17
- package/calendar/lib/calendar.schedule.selection.popover.component.d.ts +0 -14
- package/calendar/lib/calendar.schedule.selection.popover.content.component.d.ts +0 -5
- package/calendar/lib/calendar.schedule.selection.range.component.d.ts +0 -52
- package/calendar/lib/calendar.schedule.selection.store.d.ts +0 -282
- package/calendar/lib/calendar.schedule.selection.store.provide.d.ts +0 -23
- package/calendar/lib/calendar.schedule.selection.toggle.button.component.d.ts +0 -18
- package/calendar/lib/field/index.d.ts +0 -1
- package/calendar/lib/field/schedule/calendar.schedule.field.component.d.ts +0 -102
- package/calendar/lib/field/schedule/calendar.schedule.field.d.ts +0 -6
- package/calendar/lib/field/schedule/calendar.schedule.module.d.ts +0 -8
- package/calendar/lib/field/schedule/index.d.ts +0 -3
- package/calendar/lib/index.d.ts +0 -17
- package/esm2022/calendar/dereekb-dbx-form-calendar.mjs +0 -5
- package/esm2022/calendar/index.mjs +0 -2
- package/esm2022/calendar/lib/calendar.module.mjs +0 -84
- package/esm2022/calendar/lib/calendar.schedule.selection.cell.component.mjs +0 -42
- package/esm2022/calendar/lib/calendar.schedule.selection.component.mjs +0 -156
- package/esm2022/calendar/lib/calendar.schedule.selection.days.component.mjs +0 -47
- package/esm2022/calendar/lib/calendar.schedule.selection.days.form.component.mjs +0 -22
- package/esm2022/calendar/lib/calendar.schedule.selection.dialog.button.component.mjs +0 -32
- package/esm2022/calendar/lib/calendar.schedule.selection.dialog.component.mjs +0 -59
- package/esm2022/calendar/lib/calendar.schedule.selection.form.mjs +0 -15
- package/esm2022/calendar/lib/calendar.schedule.selection.mjs +0 -31
- package/esm2022/calendar/lib/calendar.schedule.selection.popover.button.component.mjs +0 -50
- package/esm2022/calendar/lib/calendar.schedule.selection.popover.component.mjs +0 -41
- package/esm2022/calendar/lib/calendar.schedule.selection.popover.content.component.mjs +0 -34
- package/esm2022/calendar/lib/calendar.schedule.selection.range.component.mjs +0 -165
- package/esm2022/calendar/lib/calendar.schedule.selection.store.mjs +0 -785
- package/esm2022/calendar/lib/calendar.schedule.selection.store.provide.mjs +0 -48
- package/esm2022/calendar/lib/calendar.schedule.selection.toggle.button.component.mjs +0 -67
- package/esm2022/calendar/lib/field/index.mjs +0 -3
- package/esm2022/calendar/lib/field/schedule/calendar.schedule.field.component.mjs +0 -154
- package/esm2022/calendar/lib/field/schedule/calendar.schedule.field.mjs +0 -28
- package/esm2022/calendar/lib/field/schedule/calendar.schedule.module.mjs +0 -26
- package/esm2022/calendar/lib/field/schedule/index.mjs +0 -4
- package/esm2022/calendar/lib/index.mjs +0 -18
- package/esm2022/dereekb-dbx-form.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/lib/form/action/form.action.dialog.component.mjs +0 -79
- package/esm2022/lib/form/action/form.action.directive.mjs +0 -167
- package/esm2022/lib/form/action/form.action.module.mjs +0 -19
- package/esm2022/lib/form/action/index.mjs +0 -5
- package/esm2022/lib/form/action/transition/form.action.transition.module.mjs +0 -19
- package/esm2022/lib/form/action/transition/form.action.transition.safety.directive.mjs +0 -28
- package/esm2022/lib/form/action/transition/index.mjs +0 -3
- package/esm2022/lib/form/form.angular.util.mjs +0 -13
- package/esm2022/lib/form/form.mjs +0 -42
- package/esm2022/lib/form/form.module.mjs +0 -17
- package/esm2022/lib/form/index.mjs +0 -6
- package/esm2022/lib/form/io/form.change.directive.mjs +0 -36
- package/esm2022/lib/form/io/form.input.directive.mjs +0 -95
- package/esm2022/lib/form/io/form.io.module.mjs +0 -26
- package/esm2022/lib/form/io/form.loading.directive.mjs +0 -36
- package/esm2022/lib/form/io/index.mjs +0 -5
- package/esm2022/lib/form.module.mjs +0 -18
- package/esm2022/lib/form.providers.mjs +0 -32
- package/esm2022/lib/formly/config/index.mjs +0 -2
- package/esm2022/lib/formly/config/validation.mjs +0 -23
- package/esm2022/lib/formly/field/checklist/checklist.field.mjs +0 -102
- package/esm2022/lib/formly/field/checklist/checklist.item.field.component.mjs +0 -86
- package/esm2022/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +0 -50
- package/esm2022/lib/formly/field/checklist/checklist.item.field.mjs +0 -14
- package/esm2022/lib/formly/field/checklist/checklist.item.field.module.mjs +0 -30
- package/esm2022/lib/formly/field/checklist/checklist.item.mjs +0 -2
- package/esm2022/lib/formly/field/checklist/index.mjs +0 -7
- package/esm2022/lib/formly/field/component/component.field.component.mjs +0 -25
- package/esm2022/lib/formly/field/component/component.field.mjs +0 -7
- package/esm2022/lib/formly/field/component/component.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/component/index.mjs +0 -4
- package/esm2022/lib/formly/field/field.mjs +0 -97
- package/esm2022/lib/formly/field/form.field.module.mjs +0 -22
- package/esm2022/lib/formly/field/index.mjs +0 -9
- package/esm2022/lib/formly/field/selection/index.mjs +0 -8
- package/esm2022/lib/formly/field/selection/list/index.mjs +0 -4
- package/esm2022/lib/formly/field/selection/list/list.field.component.mjs +0 -90
- package/esm2022/lib/formly/field/selection/list/list.field.mjs +0 -15
- package/esm2022/lib/formly/field/selection/list/list.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/selection/pickable/index.mjs +0 -8
- package/esm2022/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +0 -37
- package/esm2022/lib/formly/field/selection/pickable/pickable.field.directive.mjs +0 -272
- package/esm2022/lib/formly/field/selection/pickable/pickable.field.mjs +0 -26
- package/esm2022/lib/formly/field/selection/pickable/pickable.field.module.mjs +0 -33
- package/esm2022/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +0 -130
- package/esm2022/lib/formly/field/selection/pickable/pickable.mjs +0 -2
- package/esm2022/lib/formly/field/selection/pickable/pickable.util.mjs +0 -35
- package/esm2022/lib/formly/field/selection/searchable/index.mjs +0 -9
- package/esm2022/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +0 -70
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +0 -90
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.directive.mjs +0 -288
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.mjs +0 -69
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.module.mjs +0 -34
- package/esm2022/lib/formly/field/selection/searchable/searchable.mjs +0 -2
- package/esm2022/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +0 -72
- package/esm2022/lib/formly/field/selection/searchable/text.chip.field.mjs +0 -15
- package/esm2022/lib/formly/field/selection/selection.field.mjs +0 -39
- package/esm2022/lib/formly/field/selection/selection.mjs +0 -2
- package/esm2022/lib/formly/field/selection/selection.module.mjs +0 -28
- package/esm2022/lib/formly/field/selection/sourceselect/index.mjs +0 -5
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.field.component.mjs +0 -325
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.field.mjs +0 -14
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.mjs +0 -2
- package/esm2022/lib/formly/field/texteditor/index.mjs +0 -4
- package/esm2022/lib/formly/field/texteditor/texteditor.field.component.mjs +0 -97
- package/esm2022/lib/formly/field/texteditor/texteditor.field.mjs +0 -21
- package/esm2022/lib/formly/field/texteditor/texteditor.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/value/array/array.field.component.mjs +0 -231
- package/esm2022/lib/formly/field/value/array/array.field.mjs +0 -28
- package/esm2022/lib/formly/field/value/array/array.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/value/array/index.mjs +0 -4
- package/esm2022/lib/formly/field/value/boolean/boolean.field.mjs +0 -51
- package/esm2022/lib/formly/field/value/boolean/boolean.field.module.mjs +0 -19
- package/esm2022/lib/formly/field/value/boolean/index.mjs +0 -3
- package/esm2022/lib/formly/field/value/date/date.field.module.mjs +0 -36
- package/esm2022/lib/formly/field/value/date/date.value.mjs +0 -133
- package/esm2022/lib/formly/field/value/date/datetime.field.component.mjs +0 -737
- package/esm2022/lib/formly/field/value/date/datetime.field.mjs +0 -151
- package/esm2022/lib/formly/field/value/date/datetime.field.service.mjs +0 -23
- package/esm2022/lib/formly/field/value/date/datetime.mjs +0 -26
- package/esm2022/lib/formly/field/value/date/datetime.preset.mjs +0 -31
- package/esm2022/lib/formly/field/value/date/fixeddaterange.field.component.mjs +0 -521
- package/esm2022/lib/formly/field/value/date/index.mjs +0 -10
- package/esm2022/lib/formly/field/value/hidden.field.mjs +0 -8
- package/esm2022/lib/formly/field/value/index.mjs +0 -9
- package/esm2022/lib/formly/field/value/number/index.mjs +0 -3
- package/esm2022/lib/formly/field/value/number/number.field.mjs +0 -75
- package/esm2022/lib/formly/field/value/number/number.field.module.mjs +0 -18
- package/esm2022/lib/formly/field/value/phone/index.mjs +0 -4
- package/esm2022/lib/formly/field/value/phone/phone.field.component.mjs +0 -104
- package/esm2022/lib/formly/field/value/phone/phone.field.mjs +0 -66
- package/esm2022/lib/formly/field/value/phone/phone.field.module.mjs +0 -26
- package/esm2022/lib/formly/field/value/text/index.mjs +0 -5
- package/esm2022/lib/formly/field/value/text/text.additional.field.mjs +0 -114
- package/esm2022/lib/formly/field/value/text/text.address.field.mjs +0 -73
- package/esm2022/lib/formly/field/value/text/text.field.mjs +0 -47
- package/esm2022/lib/formly/field/value/text/text.field.module.mjs +0 -20
- package/esm2022/lib/formly/field/value/value.module.mjs +0 -31
- package/esm2022/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +0 -32
- package/esm2022/lib/formly/field/wrapper/expand.wrapper.component.mjs +0 -34
- package/esm2022/lib/formly/field/wrapper/expand.wrapper.delegate.mjs +0 -58
- package/esm2022/lib/formly/field/wrapper/flex.wrapper.component.mjs +0 -38
- package/esm2022/lib/formly/field/wrapper/index.mjs +0 -13
- package/esm2022/lib/formly/field/wrapper/info.wrapper.component.mjs +0 -48
- package/esm2022/lib/formly/field/wrapper/section.wrapper.component.mjs +0 -31
- package/esm2022/lib/formly/field/wrapper/style.wrapper.component.mjs +0 -53
- package/esm2022/lib/formly/field/wrapper/subsection.wrapper.component.mjs +0 -30
- package/esm2022/lib/formly/field/wrapper/toggle.wrapper.component.mjs +0 -55
- package/esm2022/lib/formly/field/wrapper/working.wrapper.component.mjs +0 -45
- package/esm2022/lib/formly/field/wrapper/wrapper.key.mjs +0 -10
- package/esm2022/lib/formly/field/wrapper/wrapper.mjs +0 -77
- package/esm2022/lib/formly/field/wrapper/wrapper.module.mjs +0 -101
- package/esm2022/lib/formly/form/form.form.mjs +0 -17
- package/esm2022/lib/formly/form/form.form.module.mjs +0 -20
- package/esm2022/lib/formly/form/index.mjs +0 -4
- package/esm2022/lib/formly/form/search.form.component.mjs +0 -35
- package/esm2022/lib/formly/formly.component.template.mjs +0 -29
- package/esm2022/lib/formly/formly.context.directive.mjs +0 -23
- package/esm2022/lib/formly/formly.context.mjs +0 -102
- package/esm2022/lib/formly/formly.directive.mjs +0 -84
- package/esm2022/lib/formly/formly.form.component.mjs +0 -194
- package/esm2022/lib/formly/formly.module.mjs +0 -40
- package/esm2022/lib/formly/formly.providers.mjs +0 -8
- package/esm2022/lib/formly/index.mjs +0 -12
- package/esm2022/lib/formly/template/available.mjs +0 -18
- package/esm2022/lib/formly/template/available.module.mjs +0 -18
- package/esm2022/lib/formly/template/index.mjs +0 -8
- package/esm2022/lib/formly/template/login.mjs +0 -92
- package/esm2022/lib/formly/template/login.module.mjs +0 -17
- package/esm2022/lib/formly/template/timezone.mjs +0 -46
- package/esm2022/lib/formly/template/timezone.module.mjs +0 -17
- package/esm2022/lib/formly/template/website.mjs +0 -25
- package/esm2022/lib/index.mjs +0 -7
- package/esm2022/lib/layout/form.layout.module.mjs +0 -20
- package/esm2022/lib/layout/form.spacer.directive.mjs +0 -20
- package/esm2022/lib/layout/index.mjs +0 -3
- package/esm2022/lib/validator/available.mjs +0 -31
- package/esm2022/lib/validator/boolean.mjs +0 -12
- package/esm2022/lib/validator/email.mjs +0 -6
- package/esm2022/lib/validator/field.mjs +0 -31
- package/esm2022/lib/validator/index.mjs +0 -8
- package/esm2022/lib/validator/number.mjs +0 -53
- package/esm2022/lib/validator/phone.mjs +0 -61
- package/esm2022/lib/validator/website.mjs +0 -68
- package/esm2022/mapbox/dereekb-dbx-form-mapbox.mjs +0 -5
- package/esm2022/mapbox/index.mjs +0 -3
- package/esm2022/mapbox/lib/field/index.mjs +0 -3
- package/esm2022/mapbox/lib/field/latlng/index.mjs +0 -5
- package/esm2022/mapbox/lib/field/latlng/latlng.field.component.mjs +0 -262
- package/esm2022/mapbox/lib/field/latlng/latlng.field.marker.component.mjs +0 -34
- package/esm2022/mapbox/lib/field/latlng/latlng.field.mjs +0 -35
- package/esm2022/mapbox/lib/field/latlng/latlng.module.mjs +0 -26
- package/esm2022/mapbox/lib/field/zoom/index.mjs +0 -4
- package/esm2022/mapbox/lib/field/zoom/zoom.field.component.mjs +0 -146
- package/esm2022/mapbox/lib/field/zoom/zoom.field.mjs +0 -23
- package/esm2022/mapbox/lib/field/zoom/zoom.module.mjs +0 -26
- package/esm2022/mapbox/lib/mapbox.module.mjs +0 -16
- package/index.d.ts +0 -1
- package/lib/form/action/form.action.dialog.component.d.ts +0 -63
- package/lib/form/action/form.action.directive.d.ts +0 -66
- package/lib/form/action/form.action.module.d.ts +0 -10
- package/lib/form/action/index.d.ts +0 -4
- package/lib/form/action/transition/form.action.transition.module.d.ts +0 -10
- package/lib/form/action/transition/form.action.transition.safety.directive.d.ts +0 -17
- package/lib/form/action/transition/index.d.ts +0 -2
- package/lib/form/form.angular.util.d.ts +0 -15
- package/lib/form/form.d.ts +0 -92
- package/lib/form/form.module.d.ts +0 -9
- package/lib/form/index.d.ts +0 -5
- package/lib/form/io/form.change.directive.d.ts +0 -17
- package/lib/form/io/form.input.directive.d.ts +0 -28
- package/lib/form/io/form.io.module.d.ts +0 -16
- package/lib/form/io/form.loading.directive.d.ts +0 -23
- package/lib/form/io/index.d.ts +0 -4
- package/lib/form.module.d.ts +0 -10
- package/lib/form.providers.d.ts +0 -8
- package/lib/formly/config/index.d.ts +0 -1
- package/lib/formly/config/validation.d.ts +0 -23
- package/lib/formly/field/checklist/checklist.field.d.ts +0 -44
- package/lib/formly/field/checklist/checklist.item.d.ts +0 -36
- package/lib/formly/field/checklist/checklist.item.field.component.d.ts +0 -43
- package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +0 -10
- package/lib/formly/field/checklist/checklist.item.field.d.ts +0 -7
- package/lib/formly/field/checklist/checklist.item.field.module.d.ts +0 -10
- package/lib/formly/field/checklist/index.d.ts +0 -6
- package/lib/formly/field/component/component.field.component.d.ts +0 -12
- package/lib/formly/field/component/component.field.d.ts +0 -3
- package/lib/formly/field/component/component.field.module.d.ts +0 -8
- package/lib/formly/field/component/index.d.ts +0 -3
- package/lib/formly/field/field.d.ts +0 -99
- package/lib/formly/field/form.field.module.d.ts +0 -12
- package/lib/formly/field/index.d.ts +0 -8
- package/lib/formly/field/selection/index.d.ts +0 -7
- package/lib/formly/field/selection/list/index.d.ts +0 -3
- package/lib/formly/field/selection/list/list.field.component.d.ts +0 -55
- package/lib/formly/field/selection/list/list.field.d.ts +0 -8
- package/lib/formly/field/selection/list/list.field.module.d.ts +0 -8
- package/lib/formly/field/selection/pickable/index.d.ts +0 -7
- package/lib/formly/field/selection/pickable/pickable.chip.field.component.d.ts +0 -10
- package/lib/formly/field/selection/pickable/pickable.d.ts +0 -26
- package/lib/formly/field/selection/pickable/pickable.field.d.ts +0 -8
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +0 -169
- package/lib/formly/field/selection/pickable/pickable.field.module.d.ts +0 -9
- package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +0 -39
- package/lib/formly/field/selection/pickable/pickable.util.d.ts +0 -14
- package/lib/formly/field/selection/searchable/index.d.ts +0 -8
- package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +0 -28
- package/lib/formly/field/selection/searchable/searchable.d.ts +0 -39
- package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +0 -22
- package/lib/formly/field/selection/searchable/searchable.field.d.ts +0 -25
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +0 -163
- package/lib/formly/field/selection/searchable/searchable.field.module.d.ts +0 -10
- package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +0 -24
- package/lib/formly/field/selection/searchable/text.chip.field.d.ts +0 -8
- package/lib/formly/field/selection/selection.d.ts +0 -26
- package/lib/formly/field/selection/selection.field.d.ts +0 -38
- package/lib/formly/field/selection/selection.module.d.ts +0 -18
- package/lib/formly/field/selection/sourceselect/index.d.ts +0 -4
- package/lib/formly/field/selection/sourceselect/sourceselect.d.ts +0 -116
- package/lib/formly/field/selection/sourceselect/sourceselect.field.component.d.ts +0 -95
- package/lib/formly/field/selection/sourceselect/sourceselect.field.d.ts +0 -7
- package/lib/formly/field/selection/sourceselect/sourceselect.field.module.d.ts +0 -8
- package/lib/formly/field/texteditor/index.d.ts +0 -3
- package/lib/formly/field/texteditor/texteditor.field.component.d.ts +0 -24
- package/lib/formly/field/texteditor/texteditor.field.d.ts +0 -6
- package/lib/formly/field/texteditor/texteditor.field.module.d.ts +0 -8
- package/lib/formly/field/value/array/array.field.component.d.ts +0 -89
- package/lib/formly/field/value/array/array.field.d.ts +0 -40
- package/lib/formly/field/value/array/array.field.module.d.ts +0 -8
- package/lib/formly/field/value/array/index.d.ts +0 -3
- package/lib/formly/field/value/boolean/boolean.field.d.ts +0 -8
- package/lib/formly/field/value/boolean/boolean.field.module.d.ts +0 -9
- package/lib/formly/field/value/boolean/index.d.ts +0 -2
- package/lib/formly/field/value/date/date.field.module.d.ts +0 -10
- package/lib/formly/field/value/date/date.value.d.ts +0 -32
- package/lib/formly/field/value/date/datetime.d.ts +0 -56
- package/lib/formly/field/value/date/datetime.field.component.d.ts +0 -307
- package/lib/formly/field/value/date/datetime.field.d.ts +0 -31
- package/lib/formly/field/value/date/datetime.field.service.d.ts +0 -12
- package/lib/formly/field/value/date/datetime.preset.d.ts +0 -2
- package/lib/formly/field/value/date/fixeddaterange.field.component.d.ts +0 -163
- package/lib/formly/field/value/date/index.d.ts +0 -9
- package/lib/formly/field/value/hidden.field.d.ts +0 -4
- package/lib/formly/field/value/index.d.ts +0 -8
- package/lib/formly/field/value/number/index.d.ts +0 -2
- package/lib/formly/field/value/number/number.field.d.ts +0 -46
- package/lib/formly/field/value/number/number.field.module.d.ts +0 -8
- package/lib/formly/field/value/phone/index.d.ts +0 -3
- package/lib/formly/field/value/phone/phone.field.component.d.ts +0 -35
- package/lib/formly/field/value/phone/phone.field.d.ts +0 -28
- package/lib/formly/field/value/phone/phone.field.module.d.ts +0 -8
- package/lib/formly/field/value/text/index.d.ts +0 -4
- package/lib/formly/field/value/text/text.additional.field.d.ts +0 -24
- package/lib/formly/field/value/text/text.address.field.d.ts +0 -43
- package/lib/formly/field/value/text/text.field.d.ts +0 -21
- package/lib/formly/field/value/text/text.field.module.d.ts +0 -10
- package/lib/formly/field/value/value.module.d.ts +0 -21
- package/lib/formly/field/wrapper/autotouch.wrapper.component.d.ts +0 -11
- package/lib/formly/field/wrapper/expand.wrapper.component.d.ts +0 -14
- package/lib/formly/field/wrapper/expand.wrapper.delegate.d.ts +0 -31
- package/lib/formly/field/wrapper/flex.wrapper.component.d.ts +0 -25
- package/lib/formly/field/wrapper/index.d.ts +0 -12
- package/lib/formly/field/wrapper/info.wrapper.component.d.ts +0 -11
- package/lib/formly/field/wrapper/section.wrapper.component.d.ts +0 -10
- package/lib/formly/field/wrapper/style.wrapper.component.d.ts +0 -27
- package/lib/formly/field/wrapper/subsection.wrapper.component.d.ts +0 -10
- package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +0 -17
- package/lib/formly/field/wrapper/working.wrapper.component.d.ts +0 -21
- package/lib/formly/field/wrapper/wrapper.d.ts +0 -35
- package/lib/formly/field/wrapper/wrapper.key.d.ts +0 -9
- package/lib/formly/field/wrapper/wrapper.module.d.ts +0 -17
- package/lib/formly/form/form.form.d.ts +0 -11
- package/lib/formly/form/form.form.module.d.ts +0 -10
- package/lib/formly/form/index.d.ts +0 -3
- package/lib/formly/form/search.form.component.d.ts +0 -13
- package/lib/formly/formly.component.template.d.ts +0 -19
- package/lib/formly/formly.context.d.ts +0 -57
- package/lib/formly/formly.context.directive.d.ts +0 -18
- package/lib/formly/formly.directive.d.ts +0 -56
- package/lib/formly/formly.form.component.d.ts +0 -52
- package/lib/formly/formly.module.d.ts +0 -15
- package/lib/formly/formly.providers.d.ts +0 -1
- package/lib/formly/index.d.ts +0 -11
- package/lib/formly/template/available.d.ts +0 -7
- package/lib/formly/template/available.module.d.ts +0 -8
- package/lib/formly/template/index.d.ts +0 -7
- package/lib/formly/template/login.d.ts +0 -66
- package/lib/formly/template/login.module.d.ts +0 -7
- package/lib/formly/template/timezone.d.ts +0 -20
- package/lib/formly/template/timezone.module.d.ts +0 -7
- package/lib/formly/template/website.d.ts +0 -15
- package/lib/index.d.ts +0 -6
- package/lib/layout/form.layout.module.d.ts +0 -10
- package/lib/layout/form.spacer.directive.d.ts +0 -8
- package/lib/layout/index.d.ts +0 -2
- package/lib/validator/available.d.ts +0 -30
- package/lib/validator/boolean.d.ts +0 -2
- package/lib/validator/email.d.ts +0 -2
- package/lib/validator/field.d.ts +0 -32
- package/lib/validator/index.d.ts +0 -7
- package/lib/validator/number.d.ts +0 -23
- package/lib/validator/phone.d.ts +0 -16
- package/lib/validator/website.d.ts +0 -31
- package/mapbox/index.d.ts +0 -2
- package/mapbox/lib/field/index.d.ts +0 -2
- package/mapbox/lib/field/latlng/index.d.ts +0 -4
- package/mapbox/lib/field/latlng/latlng.field.component.d.ts +0 -116
- package/mapbox/lib/field/latlng/latlng.field.d.ts +0 -6
- package/mapbox/lib/field/latlng/latlng.field.marker.component.d.ts +0 -12
- package/mapbox/lib/field/latlng/latlng.module.d.ts +0 -8
- package/mapbox/lib/field/zoom/index.d.ts +0 -3
- package/mapbox/lib/field/zoom/zoom.field.component.d.ts +0 -68
- package/mapbox/lib/field/zoom/zoom.field.d.ts +0 -6
- package/mapbox/lib/field/zoom/zoom.module.d.ts +0 -8
- package/mapbox/lib/mapbox.module.d.ts +0 -8
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { FormlyModule } from '@ngx-formly/core';
|
|
3
|
-
import { DbxDateTimeFieldComponent } from './datetime.field.component';
|
|
4
|
-
import { DbxFormFormlyWrapperModule } from '../../wrapper/wrapper.module';
|
|
5
|
-
import { DbxFixedDateRangeFieldComponent } from './fixeddaterange.field.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@ngx-formly/core";
|
|
8
|
-
const importsAndExports = [DbxDateTimeFieldComponent, DbxFixedDateRangeFieldComponent, DbxFormFormlyWrapperModule];
|
|
9
|
-
export class DbxFormFormlyDateFieldModule {
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, imports: [DbxDateTimeFieldComponent, DbxFixedDateRangeFieldComponent, DbxFormFormlyWrapperModule, i1.FormlyModule], exports: [DbxDateTimeFieldComponent, DbxFixedDateRangeFieldComponent, DbxFormFormlyWrapperModule] });
|
|
12
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, imports: [importsAndExports, FormlyModule.forChild({
|
|
13
|
-
types: [
|
|
14
|
-
//
|
|
15
|
-
{ name: 'datetime', component: DbxDateTimeFieldComponent, wrappers: ['style', 'form-field'] },
|
|
16
|
-
{ name: 'fixeddaterange', component: DbxFixedDateRangeFieldComponent, wrappers: ['style', 'form-field'] }
|
|
17
|
-
]
|
|
18
|
-
}), DbxFormFormlyWrapperModule] });
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, decorators: [{
|
|
21
|
-
type: NgModule,
|
|
22
|
-
args: [{
|
|
23
|
-
imports: [
|
|
24
|
-
...importsAndExports,
|
|
25
|
-
FormlyModule.forChild({
|
|
26
|
-
types: [
|
|
27
|
-
//
|
|
28
|
-
{ name: 'datetime', component: DbxDateTimeFieldComponent, wrappers: ['style', 'form-field'] },
|
|
29
|
-
{ name: 'fixeddaterange', component: DbxFixedDateRangeFieldComponent, wrappers: ['style', 'form-field'] }
|
|
30
|
-
]
|
|
31
|
-
})
|
|
32
|
-
],
|
|
33
|
-
exports: importsAndExports
|
|
34
|
-
}]
|
|
35
|
-
}] });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9kYXRlL2RhdGUuZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzFFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7QUFFbkYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLHlCQUF5QixFQUFFLCtCQUErQixFQUFFLDBCQUEwQixDQUFDLENBQUM7QUFlbkgsTUFBTSxPQUFPLDRCQUE0Qjt3R0FBNUIsNEJBQTRCO3lHQUE1Qiw0QkFBNEIsWUFmZCx5QkFBeUIsRUFBRSwrQkFBK0IsRUFBRSwwQkFBMEIsOEJBQXRGLHlCQUF5QixFQUFFLCtCQUErQixFQUFFLDBCQUEwQjt5R0FlcEcsNEJBQTRCLFlBWGxDLGlCQUFpQixFQUNwQixZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUNwQixLQUFLLEVBQUU7b0JBQ0wsRUFBRTtvQkFDRixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsRUFBRTtvQkFDN0YsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsU0FBUyxFQUFFLCtCQUErQixFQUFFLFFBQVEsRUFBRSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsRUFBRTtpQkFDMUc7YUFDRixDQUFDLEVBWGlGLDBCQUEwQjs7NEZBZXBHLDRCQUE0QjtrQkFieEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsR0FBRyxpQkFBaUI7d0JBQ3BCLFlBQVksQ0FBQyxRQUFRLENBQUM7NEJBQ3BCLEtBQUssRUFBRTtnQ0FDTCxFQUFFO2dDQUNGLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUseUJBQXlCLEVBQUUsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxFQUFFO2dDQUM3RixFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsK0JBQStCLEVBQUUsUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxFQUFFOzZCQUMxRzt5QkFDRixDQUFDO3FCQUNIO29CQUNELE9BQU8sRUFBRSxpQkFBaUI7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1seU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgRGJ4RGF0ZVRpbWVGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXRpbWUuZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IERieEZvcm1Gb3JtbHlXcmFwcGVyTW9kdWxlIH0gZnJvbSAnLi4vLi4vd3JhcHBlci93cmFwcGVyLm1vZHVsZSc7XG5pbXBvcnQgeyBEYnhGaXhlZERhdGVSYW5nZUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi9maXhlZGRhdGVyYW5nZS5maWVsZC5jb21wb25lbnQnO1xuXG5jb25zdCBpbXBvcnRzQW5kRXhwb3J0cyA9IFtEYnhEYXRlVGltZUZpZWxkQ29tcG9uZW50LCBEYnhGaXhlZERhdGVSYW5nZUZpZWxkQ29tcG9uZW50LCBEYnhGb3JtRm9ybWx5V3JhcHBlck1vZHVsZV07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICAuLi5pbXBvcnRzQW5kRXhwb3J0cyxcbiAgICBGb3JtbHlNb2R1bGUuZm9yQ2hpbGQoe1xuICAgICAgdHlwZXM6IFtcbiAgICAgICAgLy9cbiAgICAgICAgeyBuYW1lOiAnZGF0ZXRpbWUnLCBjb21wb25lbnQ6IERieERhdGVUaW1lRmllbGRDb21wb25lbnQsIHdyYXBwZXJzOiBbJ3N0eWxlJywgJ2Zvcm0tZmllbGQnXSB9LFxuICAgICAgICB7IG5hbWU6ICdmaXhlZGRhdGVyYW5nZScsIGNvbXBvbmVudDogRGJ4Rml4ZWREYXRlUmFuZ2VGaWVsZENvbXBvbmVudCwgd3JhcHBlcnM6IFsnc3R5bGUnLCAnZm9ybS1maWVsZCddIH1cbiAgICAgIF1cbiAgICB9KVxuICBdLFxuICBleHBvcnRzOiBpbXBvcnRzQW5kRXhwb3J0c1xufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtRm9ybWx5RGF0ZUZpZWxkTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { parseISO8601DayStringToDate, toJsDate, formatToISO8601DayStringForSystem, formatToISO8601DateString, isSameDateHoursAndMinutes, parseJsDateString } from '@dereekb/date';
|
|
2
|
-
import { dateFromMinuteOfDay, dateToMinuteOfDay } from '@dereekb/util';
|
|
3
|
-
export var DbxDateTimeValueMode;
|
|
4
|
-
(function (DbxDateTimeValueMode) {
|
|
5
|
-
/**
|
|
6
|
-
* Value is returned/parsed as a Date.
|
|
7
|
-
*/
|
|
8
|
-
DbxDateTimeValueMode[DbxDateTimeValueMode["DATE"] = 0] = "DATE";
|
|
9
|
-
/**
|
|
10
|
-
* Value is returned/parsed as an ISO8601DateString
|
|
11
|
-
*/
|
|
12
|
-
DbxDateTimeValueMode[DbxDateTimeValueMode["DATE_STRING"] = 1] = "DATE_STRING";
|
|
13
|
-
/**
|
|
14
|
-
* Value is returned/parsed as an ISO8601DayString, relative to the current timezone.
|
|
15
|
-
*/
|
|
16
|
-
DbxDateTimeValueMode[DbxDateTimeValueMode["DAY_STRING"] = 2] = "DAY_STRING";
|
|
17
|
-
/**
|
|
18
|
-
* Value is returned/parsed as a Unix timestamp, relative to the current timezone.
|
|
19
|
-
*/
|
|
20
|
-
DbxDateTimeValueMode[DbxDateTimeValueMode["UNIX_TIMESTAMP"] = 3] = "UNIX_TIMESTAMP";
|
|
21
|
-
/**
|
|
22
|
-
* Value is returned/parsed as a minute of the day, relative to the current timezone.
|
|
23
|
-
*/
|
|
24
|
-
DbxDateTimeValueMode[DbxDateTimeValueMode["MINUTE_OF_DAY"] = 4] = "MINUTE_OF_DAY";
|
|
25
|
-
/**
|
|
26
|
-
* Value is returned/parsed as a minute of the day, relative to the system timezone.
|
|
27
|
-
*/
|
|
28
|
-
DbxDateTimeValueMode[DbxDateTimeValueMode["SYSTEM_MINUTE_OF_DAY"] = 5] = "SYSTEM_MINUTE_OF_DAY";
|
|
29
|
-
})(DbxDateTimeValueMode || (DbxDateTimeValueMode = {}));
|
|
30
|
-
export function dbxDateTimeInputValueParseFactory(mode, timezoneInstance) {
|
|
31
|
-
let factory;
|
|
32
|
-
let useTimezoneInstance = true;
|
|
33
|
-
switch (mode) {
|
|
34
|
-
case DbxDateTimeValueMode.DAY_STRING:
|
|
35
|
-
factory = (x) => {
|
|
36
|
-
let result;
|
|
37
|
-
switch (typeof x) {
|
|
38
|
-
case 'string':
|
|
39
|
-
result = parseISO8601DayStringToDate(x);
|
|
40
|
-
break;
|
|
41
|
-
case 'number':
|
|
42
|
-
result = new Date(x);
|
|
43
|
-
break;
|
|
44
|
-
default:
|
|
45
|
-
result = x;
|
|
46
|
-
break;
|
|
47
|
-
}
|
|
48
|
-
return result;
|
|
49
|
-
};
|
|
50
|
-
useTimezoneInstance = false; // day strings do not use timezones
|
|
51
|
-
break;
|
|
52
|
-
case DbxDateTimeValueMode.SYSTEM_MINUTE_OF_DAY:
|
|
53
|
-
case DbxDateTimeValueMode.MINUTE_OF_DAY:
|
|
54
|
-
factory = (x) => {
|
|
55
|
-
let result;
|
|
56
|
-
switch (typeof x) {
|
|
57
|
-
case 'number':
|
|
58
|
-
result = dateFromMinuteOfDay(x);
|
|
59
|
-
break;
|
|
60
|
-
case 'string':
|
|
61
|
-
result = parseJsDateString(x);
|
|
62
|
-
break;
|
|
63
|
-
default:
|
|
64
|
-
result = x;
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
return result;
|
|
68
|
-
};
|
|
69
|
-
if (mode === DbxDateTimeValueMode.SYSTEM_MINUTE_OF_DAY) {
|
|
70
|
-
useTimezoneInstance = false;
|
|
71
|
-
}
|
|
72
|
-
break;
|
|
73
|
-
case DbxDateTimeValueMode.UNIX_TIMESTAMP:
|
|
74
|
-
case DbxDateTimeValueMode.DATE_STRING:
|
|
75
|
-
case DbxDateTimeValueMode.DATE:
|
|
76
|
-
default:
|
|
77
|
-
factory = (x) => (x != null ? toJsDate(x) : x);
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
if (timezoneInstance && useTimezoneInstance) {
|
|
81
|
-
const originalFactory = factory;
|
|
82
|
-
factory = (input) => {
|
|
83
|
-
const date = originalFactory(input);
|
|
84
|
-
const result = date ? timezoneInstance.systemDateToTargetDate(date) : date;
|
|
85
|
-
return result;
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
return factory;
|
|
89
|
-
}
|
|
90
|
-
export function dbxDateTimeOutputValueFactory(mode, timezoneInstance) {
|
|
91
|
-
let factory;
|
|
92
|
-
let useTimezoneInstance = true;
|
|
93
|
-
switch (mode) {
|
|
94
|
-
case DbxDateTimeValueMode.DAY_STRING:
|
|
95
|
-
factory = (x) => (x != null ? formatToISO8601DayStringForSystem(x) : x);
|
|
96
|
-
useTimezoneInstance = false; // day strings do not use timezones
|
|
97
|
-
break;
|
|
98
|
-
case DbxDateTimeValueMode.DATE_STRING:
|
|
99
|
-
factory = (x) => (x != null ? formatToISO8601DateString(x) : x);
|
|
100
|
-
break;
|
|
101
|
-
case DbxDateTimeValueMode.UNIX_TIMESTAMP:
|
|
102
|
-
factory = (x) => (x != null ? x.getTime() : x);
|
|
103
|
-
break;
|
|
104
|
-
case DbxDateTimeValueMode.SYSTEM_MINUTE_OF_DAY:
|
|
105
|
-
case DbxDateTimeValueMode.MINUTE_OF_DAY:
|
|
106
|
-
factory = (x) => (x != null ? dateToMinuteOfDay(x) : x);
|
|
107
|
-
if (mode === DbxDateTimeValueMode.SYSTEM_MINUTE_OF_DAY) {
|
|
108
|
-
useTimezoneInstance = false;
|
|
109
|
-
}
|
|
110
|
-
break;
|
|
111
|
-
case DbxDateTimeValueMode.DATE:
|
|
112
|
-
default:
|
|
113
|
-
factory = (x) => x;
|
|
114
|
-
break;
|
|
115
|
-
}
|
|
116
|
-
if (timezoneInstance && useTimezoneInstance) {
|
|
117
|
-
const originalFactory = factory;
|
|
118
|
-
factory = (input) => {
|
|
119
|
-
const date = input ? timezoneInstance.targetDateToSystemDate(input) : input;
|
|
120
|
-
const result = originalFactory(date);
|
|
121
|
-
return result;
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
return factory;
|
|
125
|
-
}
|
|
126
|
-
export function dbxDateTimeIsSameDateTimeFieldValue(a, b) {
|
|
127
|
-
const typeofA = typeof a;
|
|
128
|
-
return a && b ? (typeofA === 'string' || typeofA === 'number' ? a === b : isSameDateHoursAndMinutes(a, b)) : a == b;
|
|
129
|
-
}
|
|
130
|
-
export function dbxDateRangeIsSameDateRangeFieldValue(a, b) {
|
|
131
|
-
return a && b ? dbxDateTimeIsSameDateTimeFieldValue(a.start, b.start) && dbxDateTimeIsSameDateTimeFieldValue(a.end, b.end) : a == b;
|
|
132
|
-
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS52YWx1ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3ZhbHVlL2RhdGUvZGF0ZS52YWx1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXNDLDJCQUEyQixFQUFFLFFBQVEsRUFBRSxpQ0FBaUMsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsRUFBdUMsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM1AsT0FBTyxFQUFxQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRyxNQUFNLENBQU4sSUFBWSxvQkF5Qlg7QUF6QkQsV0FBWSxvQkFBb0I7SUFDOUI7O09BRUc7SUFDSCwrREFBUSxDQUFBO0lBQ1I7O09BRUc7SUFDSCw2RUFBZSxDQUFBO0lBQ2Y7O09BRUc7SUFDSCwyRUFBYyxDQUFBO0lBQ2Q7O09BRUc7SUFDSCxtRkFBa0IsQ0FBQTtJQUNsQjs7T0FFRztJQUNILGlGQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gsK0ZBQXdCLENBQUE7QUFDMUIsQ0FBQyxFQXpCVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBeUIvQjtBQUVELE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxJQUEwQixFQUFFLGdCQUFzRDtJQUNsSSxJQUFJLE9BQTZELENBQUM7SUFDbEUsSUFBSSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7SUFFL0IsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssb0JBQW9CLENBQUMsVUFBVTtZQUNsQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDZCxJQUFJLE1BQW1CLENBQUM7Z0JBRXhCLFFBQVEsT0FBTyxDQUFDLEVBQUUsQ0FBQztvQkFDakIsS0FBSyxRQUFRO3dCQUNYLE1BQU0sR0FBRywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3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QUFtQyxDQUFDLENBQTBDLEVBQUUsQ0FBMEM7SUFDeEksTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsQ0FBUyxFQUFFLENBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEksQ0FBQztBQUVELE1BQU0sVUFBVSxxQ0FBcUMsQ0FBQyxDQUF3QyxFQUFFLENBQXdDO0lBQ3RJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksbUNBQW1DLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgRGF0ZVRpbWV6b25lVXRjTm9ybWFsSW5zdGFuY2UsIHBhcnNlSVNPODYwMURheVN0cmluZ1RvRGF0ZSwgdG9Kc0RhdGUsIGZvcm1hdFRvSVNPODYwMURheVN0cmluZ0ZvclN5c3RlbSwgZm9ybWF0VG9JU084NjAxRGF0ZVN0cmluZywgaXNTYW1lRGF0ZUhvdXJzQW5kTWludXRlcywgdHlwZSBEYXRlUmFuZ2VXaXRoRGF0ZU9yU3RyaW5nVmFsdWUsIHBhcnNlSnNEYXRlU3RyaW5nIH0gZnJvbSAnQGRlcmVla2IvZGF0ZSc7XG5pbXBvcnQgeyB0eXBlIElTTzg2MDFEYXlTdHJpbmcsIHR5cGUgTWF5YmUsIGRhdGVGcm9tTWludXRlT2ZEYXksIGRhdGVUb01pbnV0ZU9mRGF5IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBlbnVtIERieERhdGVUaW1lVmFsdWVNb2RlIHtcbiAgLyoqXG4gICAqIFZhbHVlIGlzIHJldHVybmVkL3BhcnNlZCBhcyBhIERhdGUuXG4gICAqL1xuICBEQVRFID0gMCxcbiAgLyoqXG4gICAqIFZhbHVlIGlzIHJldHVybmVkL3BhcnNlZCBhcyBhbiBJU084NjAxRGF0ZVN0cmluZ1xuICAgKi9cbiAgREFURV9TVFJJTkcgPSAxLFxuICAvKipcbiAgICogVmFsdWUgaXMgcmV0dXJuZWQvcGFyc2VkIGFzIGFuIElTTzg2MDFEYXlTdHJpbmcsIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHRpbWV6b25lLlxuICAgKi9cbiAgREFZX1NUUklORyA9IDIsXG4gIC8qKlxuICAgKiBWYWx1ZSBpcyByZXR1cm5lZC9wYXJzZWQgYXMgYSBVbml4IHRpbWVzdGFtcCwgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdGltZXpvbmUuXG4gICAqL1xuICBVTklYX1RJTUVTVEFNUCA9IDMsXG4gIC8qKlxuICAgKiBWYWx1ZSBpcyByZXR1cm5lZC9wYXJzZWQgYXMgYSBtaW51dGUgb2YgdGhlIGRheSwgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgdGltZXpvbmUuXG4gICAqL1xuICBNSU5VVEVfT0ZfREFZID0gNCxcbiAgLyoqXG4gICAqIFZhbHVlIGlzIHJldHVybmVkL3BhcnNlZCBhcyBhIG1pbnV0ZSBvZiB0aGUgZGF5LCByZWxhdGl2ZSB0byB0aGUgc3lzdGVtIHRpbWV6b25lLlxuICAgKi9cbiAgU1lTVEVNX01JTlVURV9PRl9EQVkgPSA1XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYnhEYXRlVGltZUlucHV0VmFsdWVQYXJzZUZhY3RvcnkobW9kZTogRGJ4RGF0ZVRpbWVWYWx1ZU1vZGUsIHRpbWV6b25lSW5zdGFuY2U6IE1heWJlPERhdGVUaW1lem9uZVV0Y05vcm1hbEluc3RhbmNlPik6IChkYXRlOiBNYXliZTxEYXRlIHwgc3RyaW5nIHwgbnVtYmVyPikgPT4gTWF5YmU8RGF0ZT4ge1xuICBsZXQgZmFjdG9yeTogKGRhdGU6IE1heWJlPERhdGUgfCBzdHJpbmcgfCBudW1iZXI+KSA9PiBNYXliZTxEYXRlPjtcbiAgbGV0IHVzZVRpbWV6b25lSW5zdGFuY2UgPSB0cnVlO1xuXG4gIHN3aXRjaCAobW9kZSkge1xuICAgIGNhc2UgRGJ4RGF0ZVRpbWVWYWx1ZU1vZGUuREFZX1NUUklORzpcbiAgICAgIGZhY3RvcnkgPSAoeCkgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0OiBNYXliZTxEYXRlPjtcblxuICAgICAgICBzd2l0Y2ggKHR5cGVvZiB4KSB7XG4gICAgICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgICAgIHJlc3VsdCA9IHBhcnNlSVNPODYwMURheVN0cmluZ1RvRGF0ZSh4KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ251bWJlcic6XG4gICAgICAgICAgICByZXN1bHQgPSBuZXcgRGF0ZSh4KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXN1bHQgPSB4O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICAgIHVzZVRpbWV6b25lSW5zdGFuY2UgPSBmYWxzZTsgLy8gZGF5IHN0cmluZ3MgZG8gbm90IHVzZSB0aW1lem9uZXNcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4RGF0ZVRpbWVWYWx1ZU1vZGUuU1lTVEVNX01JTlVURV9PRl9EQVk6XG4gICAgY2FzZSBEYnhEYXRlVGltZVZhbHVlTW9kZS5NSU5VVEVfT0ZfREFZOlxuICAgICAgZmFjdG9yeSA9ICh4KSA9PiB7XG4gICAgICAgIGxldCByZXN1bHQ6IE1heWJlPERhdGU+O1xuXG4gICAgICAgIHN3aXRjaCAodHlwZW9mIHgpIHtcbiAgICAgICAgICBjYXNlICdudW1iZXInOlxuICAgICAgICAgICAgcmVzdWx0ID0gZGF0ZUZyb21NaW51dGVPZkRheSh4KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgJ3N0cmluZyc6XG4gICAgICAgICAgICByZXN1bHQgPSBwYXJzZUpzRGF0ZVN0cmluZyh4KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXN1bHQgPSB4O1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcblxuICAgICAgaWYgKG1vZGUgPT09IERieERhdGVUaW1lVmFsdWVNb2RlLlNZU1RFTV9NSU5VVEVfT0ZfREFZKSB7XG4gICAgICAgIHVzZVRpbWV6b25lSW5zdGFuY2UgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBEYnhEYXRlVGltZVZhbHVlTW9kZS5VTklYX1RJTUVTVEFNUDpcbiAgICBjYXNlIERieERhdGVUaW1lVmFsdWVNb2RlLkRBVEVfU1RSSU5HOlxuICAgIGNhc2UgRGJ4RGF0ZVRpbWVWYWx1ZU1vZGUuREFURTpcbiAgICBkZWZhdWx0OlxuICAgICAgZmFjdG9yeSA9ICh4KSA9PiAoeCAhPSBudWxsID8gdG9Kc0RhdGUoeCBhcyBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyKSA6IHgpO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICBpZiAodGltZXpvbmVJbnN0YW5jZSAmJiB1c2VUaW1lem9uZUluc3RhbmNlKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxGYWN0b3J5ID0gZmFjdG9yeTtcblxuICAgIGZhY3RvcnkgPSAoaW5wdXQpID0+IHtcbiAgICAgIGNvbnN0IGRhdGUgPSBvcmlnaW5hbEZhY3RvcnkoaW5wdXQpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gZGF0ZSA/IHRpbWV6b25lSW5zdGFuY2Uuc3lzdGVtRGF0ZVRvVGFyZ2V0RGF0ZShkYXRlKSA6IGRhdGU7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG4gIH1cblxuICByZXR1cm4gZmFjdG9yeTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRieERhdGVUaW1lT3V0cHV0VmFsdWVGYWN0b3J5KG1vZGU6IERieERhdGVUaW1lVmFsdWVNb2RlLCB0aW1lem9uZUluc3RhbmNlOiBNYXliZTxEYXRlVGltZXpvbmVVdGNOb3JtYWxJbnN0YW5jZT4pOiAoZGF0ZTogTWF5YmU8RGF0ZT4pID0+IE1heWJlPERhdGUgfCBzdHJpbmcgfCBudW1iZXI+IHtcbiAgbGV0IGZhY3Rvcnk6IChkYXRlOiBNYXliZTxEYXRlPikgPT4gTWF5YmU8RGF0ZSB8IHN0cmluZyB8IG51bWJlcj47XG4gIGxldCB1c2VUaW1lem9uZUluc3RhbmNlID0gdHJ1ZTtcblxuICBzd2l0Y2ggKG1vZGUpIHtcbiAgICBjYXNlIERieERhdGVUaW1lVmFsdWVNb2RlLkRBWV9TVFJJTkc6XG4gICAgICBmYWN0b3J5ID0gKHgpID0+ICh4ICE9IG51bGwgPyBmb3JtYXRUb0lTTzg2MDFEYXlTdHJpbmdGb3JTeXN0ZW0oeCkgOiB4KTtcbiAgICAgIHVzZVRpbWV6b25lSW5zdGFuY2UgPSBmYWxzZTsgLy8gZGF5IHN0cmluZ3MgZG8gbm90IHVzZSB0aW1lem9uZXNcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4RGF0ZVRpbWVWYWx1ZU1vZGUuREFURV9TVFJJTkc6XG4gICAgICBmYWN0b3J5ID0gKHgpID0+ICh4ICE9IG51bGwgPyBmb3JtYXRUb0lTTzg2MDFEYXRlU3RyaW5nKHgpIDogeCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieERhdGVUaW1lVmFsdWVNb2RlLlVOSVhfVElNRVNUQU1QOlxuICAgICAgZmFjdG9yeSA9ICh4KSA9PiAoeCAhPSBudWxsID8geC5nZXRUaW1lKCkgOiB4KTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4RGF0ZVRpbWVWYWx1ZU1vZGUuU1lTVEVNX01JTlVURV9PRl9EQVk6XG4gICAgY2FzZSBEYnhEYXRlVGltZVZhbHVlTW9kZS5NSU5VVEVfT0ZfREFZOlxuICAgICAgZmFjdG9yeSA9ICh4KSA9PiAoeCAhPSBudWxsID8gZGF0ZVRvTWludXRlT2ZEYXkoeCkgOiB4KTtcblxuICAgICAgaWYgKG1vZGUgPT09IERieERhdGVUaW1lVmFsdWVNb2RlLlNZU1RFTV9NSU5VVEVfT0ZfREFZKSB7XG4gICAgICAgIHVzZVRpbWV6b25lSW5zdGFuY2UgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRGJ4RGF0ZVRpbWVWYWx1ZU1vZGUuREFURTpcbiAgICBkZWZhdWx0OlxuICAgICAgZmFjdG9yeSA9ICh4KSA9PiB4O1xuICAgICAgYnJlYWs7XG4gIH1cblxuICBpZiAodGltZXpvbmVJbnN0YW5jZSAmJiB1c2VUaW1lem9uZUluc3RhbmNlKSB7XG4gICAgY29uc3Qgb3JpZ2luYWxGYWN0b3J5ID0gZmFjdG9yeTtcblxuICAgIGZhY3RvcnkgPSAoaW5wdXQpID0+IHtcbiAgICAgIGNvbnN0IGRhdGUgPSBpbnB1dCA/IHRpbWV6b25lSW5zdGFuY2UudGFyZ2V0RGF0ZVRvU3lzdGVtRGF0ZShpbnB1dCkgOiBpbnB1dDtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG9yaWdpbmFsRmFjdG9yeShkYXRlKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBmYWN0b3J5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGJ4RGF0ZVRpbWVJc1NhbWVEYXRlVGltZUZpZWxkVmFsdWUoYTogTWF5YmU8RGF0ZSB8IElTTzg2MDFEYXlTdHJpbmcgfCBudW1iZXI+LCBiOiBNYXliZTxEYXRlIHwgSVNPODYwMURheVN0cmluZyB8IG51bWJlcj4pIHtcbiAgY29uc3QgdHlwZW9mQSA9IHR5cGVvZiBhO1xuICByZXR1cm4gYSAmJiBiID8gKHR5cGVvZkEgPT09ICdzdHJpbmcnIHx8IHR5cGVvZkEgPT09ICdudW1iZXInID8gYSA9PT0gYiA6IGlzU2FtZURhdGVIb3Vyc0FuZE1pbnV0ZXMoYSBhcyBEYXRlLCBiIGFzIERhdGUpKSA6IGEgPT0gYjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRieERhdGVSYW5nZUlzU2FtZURhdGVSYW5nZUZpZWxkVmFsdWUoYTogTWF5YmU8RGF0ZVJhbmdlV2l0aERhdGVPclN0cmluZ1ZhbHVlPiwgYjogTWF5YmU8RGF0ZVJhbmdlV2l0aERhdGVPclN0cmluZ1ZhbHVlPikge1xuICByZXR1cm4gYSAmJiBiID8gZGJ4RGF0ZVRpbWVJc1NhbWVEYXRlVGltZUZpZWxkVmFsdWUoYS5zdGFydCwgYi5zdGFydCkgJiYgZGJ4RGF0ZVRpbWVJc1NhbWVEYXRlVGltZUZpZWxkVmFsdWUoYS5lbmQsIGIuZW5kKSA6IGEgPT0gYjtcbn1cbiJdfQ==
|