@wlcm/angular 17.3.4 → 17.4.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/dist/README.md +62 -0
- package/dist/button/.npmignore +2 -0
- package/dist/core/.npmignore +2 -0
- package/dist/date-range-picker/.npmignore +2 -0
- package/dist/filters/.npmignore +2 -0
- package/dist/forms/.npmignore +2 -0
- package/dist/package.json +92 -0
- package/dist/phone-input/.npmignore +2 -0
- package/dist/phone-input/esm2022/lib/components/country-code-select/country-code-select.component.mjs +32 -0
- package/dist/phone-input/esm2022/lib/components/phone-input-container/phone-input-container.component.mjs +103 -0
- package/dist/phone-input/esm2022/lib/directives/phone-input.directive.mjs +124 -0
- package/{phone-input → dist/phone-input}/fesm2022/wlcm-angular-phone-input.mjs +19 -8
- package/dist/phone-input/fesm2022/wlcm-angular-phone-input.mjs.map +1 -0
- package/{phone-input → dist/phone-input}/lib/components/country-code-select/country-code-select.component.d.ts +3 -0
- package/dist/search-field/.npmignore +2 -0
- package/dist/stepper/.npmignore +2 -0
- package/dist/stepper/README.md +7 -0
- package/dist/stepper/esm2022/index.mjs +11 -0
- package/dist/stepper/esm2022/lib/components/step/step.component.mjs +53 -0
- package/dist/stepper/esm2022/lib/components/step-header/step-header.component.mjs +79 -0
- package/dist/stepper/esm2022/lib/components/stepper/stepper.component.mjs +15 -0
- package/dist/stepper/esm2022/lib/components/stepper-header/stepper-header.component.mjs +16 -0
- package/dist/stepper/esm2022/lib/constants/step.constants.mjs +9 -0
- package/dist/stepper/esm2022/lib/constants/stepper.stepper.mjs +3 -0
- package/dist/stepper/esm2022/lib/directives/load-on-active-step.directive.mjs +51 -0
- package/dist/stepper/esm2022/lib/models/step.models.mjs +60 -0
- package/dist/stepper/esm2022/lib/models/stepper.models.mjs +114 -0
- package/dist/stepper/esm2022/lib/stepper.module.mjs +34 -0
- package/dist/stepper/esm2022/wlcm-angular-stepper.mjs +5 -0
- package/dist/stepper/fesm2022/wlcm-angular-stepper.mjs +385 -0
- package/dist/stepper/fesm2022/wlcm-angular-stepper.mjs.map +1 -0
- package/dist/stepper/index.d.ts +10 -0
- package/dist/stepper/lib/components/step/step.component.d.ts +16 -0
- package/dist/stepper/lib/components/step-header/step-header.component.d.ts +20 -0
- package/dist/stepper/lib/components/stepper/stepper.component.d.ts +6 -0
- package/dist/stepper/lib/components/stepper-header/stepper-header.component.d.ts +8 -0
- package/dist/stepper/lib/constants/step.constants.d.ts +4 -0
- package/dist/stepper/lib/constants/stepper.stepper.d.ts +3 -0
- package/dist/stepper/lib/directives/load-on-active-step.directive.d.ts +13 -0
- package/dist/stepper/lib/models/step.models.d.ts +43 -0
- package/dist/stepper/lib/models/stepper.models.d.ts +44 -0
- package/dist/stepper/lib/stepper.module.d.ts +12 -0
- package/dist/styles/components/stepper/_step-header.scss +123 -0
- package/dist/styles/components/stepper/_step.scss +15 -0
- package/dist/styles/components/stepper/_stepper-header.scss +13 -0
- package/dist/styles/components/stepper/_stepper.scss +6 -0
- package/dist/styles/components/stepper/indes.scss +9 -0
- package/{styles → dist/styles}/core/_all-theme.scss +2 -0
- package/package.json +61 -2
- package/phone-input/esm2022/lib/components/country-code-select/country-code-select.component.mjs +0 -26
- package/phone-input/esm2022/lib/components/phone-input-container/phone-input-container.component.mjs +0 -103
- package/phone-input/esm2022/lib/directives/phone-input.directive.mjs +0 -119
- package/phone-input/fesm2022/wlcm-angular-phone-input.mjs.map +0 -1
- /package/{button → dist/button}/README.md +0 -0
- /package/{button → dist/button}/esm2022/index.mjs +0 -0
- /package/{button → dist/button}/esm2022/lib/button.module.mjs +0 -0
- /package/{button → dist/button}/esm2022/lib/components/button/button.component.mjs +0 -0
- /package/{button → dist/button}/esm2022/lib/models/button.models.mjs +0 -0
- /package/{button → dist/button}/esm2022/wlcm-angular-button.mjs +0 -0
- /package/{button → dist/button}/fesm2022/wlcm-angular-button.mjs +0 -0
- /package/{button → dist/button}/fesm2022/wlcm-angular-button.mjs.map +0 -0
- /package/{button → dist/button}/index.d.ts +0 -0
- /package/{button → dist/button}/lib/button.module.d.ts +0 -0
- /package/{button → dist/button}/lib/components/button/button.component.d.ts +0 -0
- /package/{button → dist/button}/lib/models/button.models.d.ts +0 -0
- /package/{core → dist/core}/README.md +0 -0
- /package/{core → dist/core}/esm2022/index.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/components/calendar-icon/calendar-icon.component.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/components/chevron-down-icon/chevron-down-icon.component.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/components/close-icon/close-icon.component.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/components/search-icon/search-icon.component.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/constants/http.constants.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/constants/icon.contants.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/directives/icon.directive.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/models/icon.models.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/models/option.models.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/models/paginated-data.models.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/models/query-params.models.mjs +0 -0
- /package/{core → dist/core}/esm2022/lib/utils/stream.utils.mjs +0 -0
- /package/{core → dist/core}/esm2022/wlcm-angular-core.mjs +0 -0
- /package/{core → dist/core}/fesm2022/wlcm-angular-core.mjs +0 -0
- /package/{core → dist/core}/fesm2022/wlcm-angular-core.mjs.map +0 -0
- /package/{core → dist/core}/index.d.ts +0 -0
- /package/{core → dist/core}/lib/components/calendar-icon/calendar-icon.component.d.ts +0 -0
- /package/{core → dist/core}/lib/components/chevron-down-icon/chevron-down-icon.component.d.ts +0 -0
- /package/{core → dist/core}/lib/components/close-icon/close-icon.component.d.ts +0 -0
- /package/{core → dist/core}/lib/components/search-icon/search-icon.component.d.ts +0 -0
- /package/{core → dist/core}/lib/constants/http.constants.d.ts +0 -0
- /package/{core → dist/core}/lib/constants/icon.contants.d.ts +0 -0
- /package/{core → dist/core}/lib/directives/icon.directive.d.ts +0 -0
- /package/{core → dist/core}/lib/models/icon.models.d.ts +0 -0
- /package/{core → dist/core}/lib/models/option.models.d.ts +0 -0
- /package/{core → dist/core}/lib/models/paginated-data.models.d.ts +0 -0
- /package/{core → dist/core}/lib/models/query-params.models.d.ts +0 -0
- /package/{core → dist/core}/lib/utils/stream.utils.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/README.md +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/index.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/components/calendar-header/calendar-header.component.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/components/date-range-picker/date-range-picker.component.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/components/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/components/date-range-picker-input/date-range-picker-input.component.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/constants/date-range-selection-model.constants.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/constants/date-range-trigger-selection-model.constants.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/date-range-picker.module.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/directives/date-range-picker-input-base.directive.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/directives/date-range-picker-input-end.directive.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/directives/date-range-picker-input-start.directive.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/directives/date-range-picker-trigger.directive.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/directives/left-calendar.directive.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/directives/right-calendar.directive.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/models/data-range-calendar.models.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/models/date-range-validation.models.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/services/date-adapter.service.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/utils/date-range-input.validators.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/lib/utils/date-range-picker-errors.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/esm2022/wlcm-angular-date-range-picker.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/fesm2022/wlcm-angular-date-range-picker.mjs +0 -0
- /package/{date-range-picker → dist/date-range-picker}/fesm2022/wlcm-angular-date-range-picker.mjs.map +0 -0
- /package/{date-range-picker → dist/date-range-picker}/index.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/components/calendar-header/calendar-header.component.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/components/date-range-picker/date-range-picker.component.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/components/date-range-picker-bottom-panel/date-range-picker-bottom-panel.component.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/components/date-range-picker-input/date-range-picker-input.component.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/constants/date-range-selection-model.constants.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/constants/date-range-trigger-selection-model.constants.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/date-range-picker.module.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/directives/date-range-picker-input-base.directive.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/directives/date-range-picker-input-end.directive.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/directives/date-range-picker-input-start.directive.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/directives/date-range-picker-trigger.directive.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/directives/left-calendar.directive.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/directives/right-calendar.directive.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/models/data-range-calendar.models.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/models/date-range-validation.models.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/services/date-adapter.service.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/utils/date-range-input.validators.d.ts +0 -0
- /package/{date-range-picker → dist/date-range-picker}/lib/utils/date-range-picker-errors.d.ts +0 -0
- /package/{filters → dist/filters}/README.md +0 -0
- /package/{filters → dist/filters}/esm2022/index.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/components/filters/filters.component.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/components/filters-button/filters-button.component.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/components/filters-panel/filters-panel.component.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/components/filters-unit/filters-unit.component.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/directives/filters-content.directive.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/directives/filters-trigger.directive.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/filters.module.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/models/filters-default-selection-model.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/models/filters-trigger.base.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/models/filters.models.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/pipes/is-filters-param-checked.pipe.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/pipes/total-filters-applied.pipe.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/lib/filters/utils/filters.utils.mjs +0 -0
- /package/{filters → dist/filters}/esm2022/wlcm-angular-filters.mjs +0 -0
- /package/{filters → dist/filters}/fesm2022/wlcm-angular-filters.mjs +0 -0
- /package/{filters → dist/filters}/fesm2022/wlcm-angular-filters.mjs.map +0 -0
- /package/{filters → dist/filters}/index.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/components/filters/filters.component.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/components/filters-button/filters-button.component.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/components/filters-panel/filters-panel.component.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/components/filters-unit/filters-unit.component.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/directives/filters-content.directive.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/directives/filters-trigger.directive.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/filters.module.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/models/filters-default-selection-model.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/models/filters-trigger.base.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/models/filters.models.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/pipes/is-filters-param-checked.pipe.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/pipes/total-filters-applied.pipe.d.ts +0 -0
- /package/{filters → dist/filters}/lib/filters/utils/filters.utils.d.ts +0 -0
- /package/{forms → dist/forms}/README.md +0 -0
- /package/{forms → dist/forms}/esm2022/index.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/components/autocomplete/autocomplete.component.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/components/checkbox/checkbox.component.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/components/error/error.component.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/components/form-field/form-field.component.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/components/index.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/components/label/label.component.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/components/select/select.component.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/constants/form-elements.constants.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/constants/form-errors.constants.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/constants/form-field.constants.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/constants/form-state-handlers.constants.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/constants/index.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/directives/ac-input-binder.directive.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/directives/autocomplete.directive.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/directives/form-field-custom-container.directive.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/directives/form-field-hint.directive.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/directives/form-field-prefix.directive.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/directives/form-field-suffix.directive.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/directives/input.directive.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/directives/select-input-binder.directive.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/forms.module.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/models/_index.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/models/form-errors.models.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/models/form.models.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/models/input.models.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/pipes/errors-mapper.pipe.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/services/form-state-handler.service.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/lib/forms/services/index.mjs +0 -0
- /package/{forms → dist/forms}/esm2022/wlcm-angular-forms.mjs +0 -0
- /package/{forms → dist/forms}/fesm2022/wlcm-angular-forms.mjs +0 -0
- /package/{forms → dist/forms}/fesm2022/wlcm-angular-forms.mjs.map +0 -0
- /package/{forms → dist/forms}/index.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/components/autocomplete/autocomplete.component.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/components/checkbox/checkbox.component.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/components/error/error.component.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/components/form-field/form-field.component.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/components/index.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/components/label/label.component.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/components/select/select.component.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/constants/form-elements.constants.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/constants/form-errors.constants.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/constants/form-field.constants.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/constants/form-state-handlers.constants.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/constants/index.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/directives/ac-input-binder.directive.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/directives/autocomplete.directive.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/directives/form-field-custom-container.directive.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/directives/form-field-hint.directive.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/directives/form-field-prefix.directive.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/directives/form-field-suffix.directive.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/directives/input.directive.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/directives/select-input-binder.directive.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/forms.module.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/models/_index.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/models/form-errors.models.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/models/form.models.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/models/input.models.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/pipes/errors-mapper.pipe.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/services/form-state-handler.service.d.ts +0 -0
- /package/{forms → dist/forms}/lib/forms/services/index.d.ts +0 -0
- /package/{index.d.ts → dist/index.d.ts} +0 -0
- /package/{index.mjs → dist/index.mjs} +0 -0
- /package/{phone-input → dist/phone-input}/README.md +0 -0
- /package/{phone-input → dist/phone-input}/esm2022/index.mjs +0 -0
- /package/{phone-input → dist/phone-input}/esm2022/lib/constants/country-code-options.constants.mjs +0 -0
- /package/{phone-input → dist/phone-input}/esm2022/lib/constants/phone-adapter.constants.mjs +0 -0
- /package/{phone-input → dist/phone-input}/esm2022/lib/models/country-code.models.mjs +0 -0
- /package/{phone-input → dist/phone-input}/esm2022/lib/models/phone-adapter.models.mjs +0 -0
- /package/{phone-input → dist/phone-input}/esm2022/lib/models/phone.models.mjs +0 -0
- /package/{phone-input → dist/phone-input}/esm2022/lib/phone-input.module.mjs +0 -0
- /package/{phone-input → dist/phone-input}/esm2022/lib/pipes/phone-code.pipe.mjs +0 -0
- /package/{phone-input → dist/phone-input}/esm2022/wlcm-angular-phone-input.mjs +0 -0
- /package/{phone-input → dist/phone-input}/index.d.ts +0 -0
- /package/{phone-input → dist/phone-input}/lib/components/phone-input-container/phone-input-container.component.d.ts +0 -0
- /package/{phone-input → dist/phone-input}/lib/constants/country-code-options.constants.d.ts +0 -0
- /package/{phone-input → dist/phone-input}/lib/constants/phone-adapter.constants.d.ts +0 -0
- /package/{phone-input → dist/phone-input}/lib/directives/phone-input.directive.d.ts +0 -0
- /package/{phone-input → dist/phone-input}/lib/models/country-code.models.d.ts +0 -0
- /package/{phone-input → dist/phone-input}/lib/models/phone-adapter.models.d.ts +0 -0
- /package/{phone-input → dist/phone-input}/lib/models/phone.models.d.ts +0 -0
- /package/{phone-input → dist/phone-input}/lib/phone-input.module.d.ts +0 -0
- /package/{phone-input → dist/phone-input}/lib/pipes/phone-code.pipe.d.ts +0 -0
- /package/{search-field → dist/search-field}/README.md +0 -0
- /package/{search-field → dist/search-field}/esm2022/index.mjs +0 -0
- /package/{search-field → dist/search-field}/esm2022/lib/components/search-field/search-field.component.mjs +0 -0
- /package/{search-field → dist/search-field}/esm2022/lib/search-field.module.mjs +0 -0
- /package/{search-field → dist/search-field}/esm2022/wlcm-angular-search-field.mjs +0 -0
- /package/{search-field → dist/search-field}/fesm2022/wlcm-angular-search-field.mjs +0 -0
- /package/{search-field → dist/search-field}/fesm2022/wlcm-angular-search-field.mjs.map +0 -0
- /package/{search-field → dist/search-field}/index.d.ts +0 -0
- /package/{search-field → dist/search-field}/lib/components/search-field/search-field.component.d.ts +0 -0
- /package/{search-field → dist/search-field}/lib/search-field.module.d.ts +0 -0
- /package/{styles → dist/styles}/components/button/index.scss +0 -0
- /package/{styles → dist/styles}/components/common/index.scss +0 -0
- /package/{styles → dist/styles}/components/date-range-picker/_date-range-picker-body.scss +0 -0
- /package/{styles → dist/styles}/components/date-range-picker/_date-range-picker-header.scss +0 -0
- /package/{styles → dist/styles}/components/date-range-picker/_date-range-picker-input.scss +0 -0
- /package/{styles → dist/styles}/components/date-range-picker/_date-range-picker-panel.scss +0 -0
- /package/{styles → dist/styles}/components/date-range-picker/index.scss +0 -0
- /package/{styles → dist/styles}/components/filters/_filters-panel.scss +0 -0
- /package/{styles → dist/styles}/components/filters/_filters-unit.scss +0 -0
- /package/{styles → dist/styles}/components/filters/index.scss +0 -0
- /package/{styles → dist/styles}/components/forms/_autocomplete.scss +0 -0
- /package/{styles → dist/styles}/components/forms/_checkbox.scss +0 -0
- /package/{styles → dist/styles}/components/forms/_error.scss +0 -0
- /package/{styles → dist/styles}/components/forms/_form-field.scss +0 -0
- /package/{styles → dist/styles}/components/forms/_label.scss +0 -0
- /package/{styles → dist/styles}/components/forms/_radio.scss +0 -0
- /package/{styles → dist/styles}/components/forms/_select.scss +0 -0
- /package/{styles → dist/styles}/components/forms/index.scss +0 -0
- /package/{styles → dist/styles}/components/phone-input/_country-code-select.scss +0 -0
- /package/{styles → dist/styles}/components/phone-input/_phone-input-container.scss +0 -0
- /package/{styles → dist/styles}/components/phone-input/indes.scss +0 -0
- /package/{styles → dist/styles}/components/search-field/index.scss +0 -0
- /package/{styles → dist/styles}/components/table/_table-head-data.scss +0 -0
- /package/{styles → dist/styles}/components/table/_table-head.scss +0 -0
- /package/{styles → dist/styles}/components/table/_table-row-data.scss +0 -0
- /package/{styles → dist/styles}/components/table/_table-row.scss +0 -0
- /package/{styles → dist/styles}/components/table/_table.scss +0 -0
- /package/{styles → dist/styles}/components/table/index.scss +0 -0
- /package/{styles → dist/styles}/core/_core.scss +0 -0
- /package/{styles → dist/styles}/core/_utils.scss +0 -0
- /package/{styles → dist/styles}/wlcm.scss +0 -0
@@ -0,0 +1,43 @@
|
|
1
|
+
import { Observable } from 'rxjs';
|
2
|
+
import * as i0 from "@angular/core";
|
3
|
+
export type WlcmStepDisableValue = 'on_any_previous_incomplete' | boolean;
|
4
|
+
export interface WlcmStepOptions {
|
5
|
+
completed?: boolean;
|
6
|
+
disabled?: WlcmStepDisableValue;
|
7
|
+
}
|
8
|
+
export declare abstract class WlcmStep {
|
9
|
+
abstract set key(value: unknown);
|
10
|
+
abstract get key(): unknown;
|
11
|
+
abstract key$: Observable<unknown>;
|
12
|
+
abstract set label(value: string);
|
13
|
+
abstract get label(): string;
|
14
|
+
abstract label$: Observable<string>;
|
15
|
+
abstract set completed(value: boolean);
|
16
|
+
abstract get completed(): boolean;
|
17
|
+
abstract completed$: Observable<boolean>;
|
18
|
+
abstract set disabled(value: WlcmStepDisableValue);
|
19
|
+
abstract get disabled(): WlcmStepDisableValue;
|
20
|
+
abstract disabled$: Observable<WlcmStepDisableValue>;
|
21
|
+
}
|
22
|
+
export declare abstract class WlcmStepBase extends WlcmStep {
|
23
|
+
protected options: WlcmStepOptions;
|
24
|
+
set key(value: unknown);
|
25
|
+
get key(): unknown;
|
26
|
+
private readonly _key$;
|
27
|
+
readonly key$: Observable<unknown>;
|
28
|
+
set label(value: string);
|
29
|
+
get label(): string;
|
30
|
+
private readonly _label$;
|
31
|
+
readonly label$: Observable<string>;
|
32
|
+
set completed(value: boolean);
|
33
|
+
get completed(): boolean;
|
34
|
+
private readonly _completed$;
|
35
|
+
readonly completed$: Observable<boolean>;
|
36
|
+
set disabled(value: WlcmStepDisableValue);
|
37
|
+
get disabled(): WlcmStepDisableValue;
|
38
|
+
private readonly _disabled$;
|
39
|
+
readonly disabled$: Observable<WlcmStepDisableValue>;
|
40
|
+
constructor(options: WlcmStepOptions);
|
41
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepBase, never>;
|
42
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmStepBase, never, never, { "key": { "alias": "key"; "required": false; }; "label": { "alias": "label"; "required": true; }; "completed": { "alias": "completed"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, never, false, never>;
|
43
|
+
}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import { ChangeDetectorRef, Signal } from '@angular/core';
|
2
|
+
import { Observable } from 'rxjs';
|
3
|
+
import { WlcmStep } from './step.models';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
export declare abstract class WlcmStepsNavigator {
|
6
|
+
abstract get active(): WlcmStep;
|
7
|
+
abstract readonly active$: Observable<WlcmStep | null>;
|
8
|
+
abstract get minIncompleteStepIndex(): number;
|
9
|
+
abstract readonly minIncompleteStepIndex$: Observable<number>;
|
10
|
+
abstract get isActiveCompleted(): boolean;
|
11
|
+
abstract next(): void;
|
12
|
+
abstract previous(): void;
|
13
|
+
abstract activate(key: unknown): void;
|
14
|
+
abstract canActivateNext(): boolean;
|
15
|
+
abstract isCurrentOrPrevious(key: unknown): boolean;
|
16
|
+
abstract getStepIndex(key: unknown): number | undefined;
|
17
|
+
}
|
18
|
+
export declare class WlcmStepperBase extends WlcmStepsNavigator {
|
19
|
+
protected changeDetector: ChangeDetectorRef;
|
20
|
+
private _listUpdated$;
|
21
|
+
private _keyToIndexMap;
|
22
|
+
protected _steps: Signal<ReadonlyArray<WlcmStep>>;
|
23
|
+
private readonly _active$;
|
24
|
+
readonly active$: Observable<WlcmStep | null>;
|
25
|
+
private readonly _minIncompleteStepIndex$;
|
26
|
+
readonly minIncompleteStepIndex$: Observable<number>;
|
27
|
+
constructor(changeDetector: ChangeDetectorRef);
|
28
|
+
get active(): WlcmStep;
|
29
|
+
get isActiveCompleted(): boolean;
|
30
|
+
get minIncompleteStepIndex(): number;
|
31
|
+
next(): void;
|
32
|
+
previous(): void;
|
33
|
+
activate(key: unknown): void;
|
34
|
+
canActivateNext(): boolean;
|
35
|
+
isCurrentOrPrevious(key: unknown): boolean;
|
36
|
+
getStepIndex(key: unknown): number | undefined;
|
37
|
+
private get _activeIndex();
|
38
|
+
private _getStep;
|
39
|
+
private _handleUpdatedList;
|
40
|
+
private _handleKeyChanges;
|
41
|
+
private _handleCompleteChanges;
|
42
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepperBase, never>;
|
43
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<WlcmStepperBase, never, never, {}, {}, ["_steps"], never, false, never>;
|
44
|
+
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import * as i0 from "@angular/core";
|
2
|
+
import * as i1 from "@angular/common";
|
3
|
+
import * as i2 from "./components/step/step.component";
|
4
|
+
import * as i3 from "./components/stepper/stepper.component";
|
5
|
+
import * as i4 from "./components/step-header/step-header.component";
|
6
|
+
import * as i5 from "./components/stepper-header/stepper-header.component";
|
7
|
+
import * as i6 from "./directives/load-on-active-step.directive";
|
8
|
+
export declare class WlcmStepperModule {
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<WlcmStepperModule, never>;
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<WlcmStepperModule, never, [typeof i1.CommonModule, typeof i2.WlcmStepComponent, typeof i3.WlcmStepperComponent, typeof i4.WlcmStepHeaderComponent, typeof i5.WlcmStepperHeaderComponent, typeof i6.WlcmLoadOnActiveStepDirective], [typeof i2.WlcmStepComponent, typeof i3.WlcmStepperComponent, typeof i4.WlcmStepHeaderComponent, typeof i5.WlcmStepperHeaderComponent, typeof i6.WlcmLoadOnActiveStepDirective]>;
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<WlcmStepperModule>;
|
12
|
+
}
|
@@ -0,0 +1,123 @@
|
|
1
|
+
@use 'sass:map';
|
2
|
+
@use '../../core/utils' as utils;
|
3
|
+
|
4
|
+
@keyframes pass-indicator-animation {
|
5
|
+
from {
|
6
|
+
right: 100%;
|
7
|
+
}
|
8
|
+
|
9
|
+
to {
|
10
|
+
right: 0;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
@keyframes complete-indicator-animation {
|
15
|
+
from {
|
16
|
+
width: 30%;
|
17
|
+
height: 30%;
|
18
|
+
}
|
19
|
+
|
20
|
+
to {
|
21
|
+
width: calc(100% + 4px);
|
22
|
+
height: calc(100% + 4px);
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
@mixin theme($theme-config) {
|
27
|
+
$theme: utils.using-theme($theme_config);
|
28
|
+
|
29
|
+
.wlcm-step-header {
|
30
|
+
&.wlcm-step-header-passed {
|
31
|
+
.wlcm-step-header-complete-indicator {
|
32
|
+
border-color: map-get($theme, primary-color);
|
33
|
+
}
|
34
|
+
|
35
|
+
.wlcm-step-header-label {
|
36
|
+
color: map-get($theme, primary-color);
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
&.wlcm-step-header-completed {
|
41
|
+
.wlcm-step-header-complete-indicator {
|
42
|
+
&::before {
|
43
|
+
content: '';
|
44
|
+
display: block;
|
45
|
+
position: absolute;
|
46
|
+
border-radius: 50%;
|
47
|
+
background: map-get($theme, primary-color);
|
48
|
+
animation: complete-indicator-animation 250ms
|
49
|
+
cubic-bezier(0.4, 0, 0.6, 1) forwards;
|
50
|
+
}
|
51
|
+
}
|
52
|
+
}
|
53
|
+
|
54
|
+
&.wlcm-step-header-passed,
|
55
|
+
&.wlcm-step-header-completed {
|
56
|
+
.wlcm-step-header-pass-indicator {
|
57
|
+
&::before {
|
58
|
+
content: '';
|
59
|
+
left: 0;
|
60
|
+
height: 2px;
|
61
|
+
display: block;
|
62
|
+
position: absolute;
|
63
|
+
background: map-get($theme, primary-color);
|
64
|
+
animation: pass-indicator-animation 250ms cubic-bezier(0.4, 0, 0.6, 1)
|
65
|
+
forwards;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
70
|
+
&.wlcm-step-header-disabled {
|
71
|
+
.wlcm-step-header-button {
|
72
|
+
opacity: 0.7;
|
73
|
+
pointer-events: none;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
.wlcm-step-header-button {
|
79
|
+
padding: 0;
|
80
|
+
width: 100%;
|
81
|
+
border: none;
|
82
|
+
outline: none;
|
83
|
+
display: flex;
|
84
|
+
flex-direction: column;
|
85
|
+
background: none;
|
86
|
+
cursor: pointer;
|
87
|
+
}
|
88
|
+
|
89
|
+
.wlcm-step-header-label {
|
90
|
+
display: inline-block;
|
91
|
+
font-family: map-get($theme, bold-font-family);
|
92
|
+
color: map-get($theme, field-outline-color);
|
93
|
+
margin-bottom: 5px;
|
94
|
+
line-height: 20px;
|
95
|
+
font-size: 14px;
|
96
|
+
}
|
97
|
+
|
98
|
+
.wlcm-step-header-progress-bar {
|
99
|
+
width: 100%;
|
100
|
+
height: 16px;
|
101
|
+
display: flex;
|
102
|
+
align-items: center;
|
103
|
+
}
|
104
|
+
|
105
|
+
.wlcm-step-header-complete-indicator {
|
106
|
+
width: 16px;
|
107
|
+
height: 16px;
|
108
|
+
border-radius: 50%;
|
109
|
+
border: 2px solid map-get($theme, field-outline-color);
|
110
|
+
box-sizing: border-box;
|
111
|
+
display: flex;
|
112
|
+
align-items: center;
|
113
|
+
justify-content: center;
|
114
|
+
position: relative;
|
115
|
+
}
|
116
|
+
|
117
|
+
.wlcm-step-header-pass-indicator {
|
118
|
+
flex: 1;
|
119
|
+
height: 2px;
|
120
|
+
background: map-get($theme, field-outline-color);
|
121
|
+
position: relative;
|
122
|
+
}
|
123
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
@use 'sass:map';
|
2
|
+
@use '../../core/utils' as utils;
|
3
|
+
|
4
|
+
@mixin theme($theme-config) {
|
5
|
+
$theme: utils.using-theme($theme_config);
|
6
|
+
|
7
|
+
.wlcm-stepper-header {
|
8
|
+
display: grid;
|
9
|
+
grid-auto-columns: 1fr;
|
10
|
+
grid-auto-flow: column;
|
11
|
+
align-items: center;
|
12
|
+
}
|
13
|
+
}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
@use './stepper-header' as stepperHeader;
|
2
|
+
@use './step-header' as stepHeader;
|
3
|
+
@use './step' as step;
|
4
|
+
|
5
|
+
@mixin theme($theme-config) {
|
6
|
+
@include stepperHeader.theme($theme-config);
|
7
|
+
@include stepHeader.theme($theme-config);
|
8
|
+
@include step.theme($theme-config);
|
9
|
+
}
|
@@ -7,6 +7,7 @@
|
|
7
7
|
@use '../components/search-field/index' as searchField;
|
8
8
|
@use '../components/date-range-picker/index' as dateRangePicker;
|
9
9
|
@use '../components/phone-input/indes.scss' as phoneInput;
|
10
|
+
@use '../components/stepper/indes.scss' as stepper;
|
10
11
|
@use '../components/table/index.scss' as table;
|
11
12
|
|
12
13
|
@mixin all-component-themes($theme-config) {
|
@@ -17,5 +18,6 @@
|
|
17
18
|
@include searchField.theme($theme-config);
|
18
19
|
@include dateRangePicker.theme($theme-config);
|
19
20
|
@include phoneInput.theme($theme-config);
|
21
|
+
@include stepper.theme($theme-config);
|
20
22
|
@include table.theme($theme-config);
|
21
23
|
}
|
package/package.json
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
{
|
2
2
|
"name": "@wlcm/angular",
|
3
|
-
"version": "17.
|
3
|
+
"version": "17.4.0",
|
4
4
|
"license": "MIT",
|
5
|
+
"scripts": {
|
6
|
+
"start": "nx serve sandbox",
|
7
|
+
"build": "./builders/build-package.sh",
|
8
|
+
"publish": "./builders/publish-package.sh",
|
9
|
+
"generate-lib": "./builders/generators/lib.sh",
|
10
|
+
"run:sandbox": "nx serve sandbox"
|
11
|
+
},
|
5
12
|
"type": "module",
|
6
13
|
"module": "./index.mjs",
|
7
14
|
"typings": "./index.d.ts",
|
@@ -54,6 +61,12 @@
|
|
54
61
|
"esm2022": "./phone-input/esm2022/wlcm-angular-phone-input.mjs",
|
55
62
|
"fesm2022": "./phone-input/fesm2022/wlcm-angular-phone-input.mjs",
|
56
63
|
"default": "./phone-input/fesm2022/wlcm-angular-phone-input.mjs"
|
64
|
+
},
|
65
|
+
"./stepper": {
|
66
|
+
"types": "./stepper/index.d.ts",
|
67
|
+
"esm2022": "./stepper/esm2022/wlcm-angular-stepper.mjs",
|
68
|
+
"fesm2022": "./stepper/fesm2022/wlcm-angular-stepper.mjs",
|
69
|
+
"default": "./stepper/fesm2022/wlcm-angular-stepper.mjs"
|
57
70
|
}
|
58
71
|
},
|
59
72
|
"dependencies": {
|
@@ -82,5 +95,51 @@
|
|
82
95
|
"uuid": "^9.0.1",
|
83
96
|
"zone.js": "~0.14.3"
|
84
97
|
},
|
85
|
-
"devDependencies": {
|
98
|
+
"devDependencies": {
|
99
|
+
"@angular-devkit/build-angular": "~17.3.0",
|
100
|
+
"@angular-devkit/core": "~17.3.0",
|
101
|
+
"@angular-devkit/schematics": "~17.3.0",
|
102
|
+
"@angular-eslint/eslint-plugin": "~17.3.0",
|
103
|
+
"@angular-eslint/eslint-plugin-template": "~17.3.0",
|
104
|
+
"@angular-eslint/template-parser": "~17.3.0",
|
105
|
+
"@angular/cli": "~17.3.0",
|
106
|
+
"@angular/compiler-cli": "~17.3.0",
|
107
|
+
"@angular/language-service": "~17.3.0",
|
108
|
+
"@nx/cypress": "18.3.2",
|
109
|
+
"@nx/eslint": "18.3.2",
|
110
|
+
"@nx/eslint-plugin": "18.3.2",
|
111
|
+
"@nx/jest": "18.3.2",
|
112
|
+
"@nx/js": "18.3.2",
|
113
|
+
"@nx/web": "18.3.2",
|
114
|
+
"@nx/workspace": "18.3.2",
|
115
|
+
"@schematics/angular": "~17.3.0",
|
116
|
+
"@swc-node/register": "~1.8.0",
|
117
|
+
"@swc/core": "~1.3.85",
|
118
|
+
"@swc/helpers": "~0.5.2",
|
119
|
+
"@types/jest": "^29.4.0",
|
120
|
+
"@types/node": "18.16.9",
|
121
|
+
"@types/uuid": "^9.0.8",
|
122
|
+
"@typescript-eslint/eslint-plugin": "^7.3.0",
|
123
|
+
"@typescript-eslint/parser": "^7.3.0",
|
124
|
+
"autoprefixer": "^10.4.0",
|
125
|
+
"cypress": "^13.6.6",
|
126
|
+
"esbuild": "^0.19.2",
|
127
|
+
"eslint": "~8.57.0",
|
128
|
+
"eslint-config-prettier": "^9.0.0",
|
129
|
+
"eslint-plugin-cypress": "^2.13.4",
|
130
|
+
"jest": "^29.4.1",
|
131
|
+
"jest-environment-jsdom": "^29.4.1",
|
132
|
+
"jest-preset-angular": "~14.0.3",
|
133
|
+
"jshon": "^0.0.20121031",
|
134
|
+
"json": "^11.0.0",
|
135
|
+
"jsonc-eslint-parser": "^2.1.0",
|
136
|
+
"ng-packagr": "~17.3.0",
|
137
|
+
"nx": "18.3.2",
|
138
|
+
"postcss": "^8.4.5",
|
139
|
+
"postcss-url": "~10.1.3",
|
140
|
+
"prettier": "^2.6.2",
|
141
|
+
"ts-jest": "^29.1.0",
|
142
|
+
"ts-node": "10.9.1",
|
143
|
+
"typescript": "~5.4.2"
|
144
|
+
}
|
86
145
|
}
|
package/phone-input/esm2022/lib/components/country-code-select/country-code-select.component.mjs
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
import { Component, Inject, input, output } from '@angular/core';
|
2
|
-
import { WlcmFormsModule } from '@wlcm/angular/forms';
|
3
|
-
import { CommonModule } from '@angular/common';
|
4
|
-
import { WLCM_COUNTRY_CODE_OPTIONS } from '../../constants/country-code-options.constants';
|
5
|
-
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
6
|
-
import { PhoneCodePipe } from '../../pipes/phone-code.pipe';
|
7
|
-
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@wlcm/angular/forms";
|
9
|
-
import * as i2 from "@angular/forms";
|
10
|
-
export class WlcmCountryCodeSelectComponent {
|
11
|
-
constructor(options) {
|
12
|
-
this.options = options;
|
13
|
-
this.changed = output();
|
14
|
-
this.control = input(new FormControl('US'));
|
15
|
-
}
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCountryCodeSelectComponent, deps: [{ token: WLCM_COUNTRY_CODE_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.5", type: WlcmCountryCodeSelectComponent, isStandalone: true, selector: "wlcm-country-code-select", inputs: { control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changed: "changed" }, host: { classAttribute: "wlcm-country-code-select" }, ngImport: i0, template: "<wlcm-select\n [options]=\"options\"\n [formControl]=\"control()\"\n [optionTemplate]=\"optionTemplate\"\n [triggerTemplate]=\"triggerTemplate\"\n (selectionChange)=\"changed.emit($event)\"\n></wlcm-select>\n\n<ng-template #optionTemplate let-option>\n <span class=\"emoji-flag\">{{ option.emojiFlag }}</span>\n\n {{ option.viewValue }}\n</ng-template>\n\n<ng-template #triggerTemplate let-selected>\n <div class=\"wlcm-country-code-select-trigger\">\n +{{ selected?.value | phoneCode }}\n </div>\n</ng-template>\n", styles: [".emoji-flag{font-size:20px;vertical-align:bottom;margin-right:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: WlcmFormsModule }, { kind: "component", type: i1.WlcmSelectComponent, selector: "wlcm-select", inputs: ["multiple", "placeholder", "options", "optionTemplate", "triggerTemplate"], outputs: ["selectionChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: PhoneCodePipe, name: "phoneCode" }] }); }
|
18
|
-
}
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmCountryCodeSelectComponent, decorators: [{
|
20
|
-
type: Component,
|
21
|
-
args: [{ selector: 'wlcm-country-code-select', host: { class: 'wlcm-country-code-select' }, standalone: true, imports: [CommonModule, WlcmFormsModule, ReactiveFormsModule, PhoneCodePipe], template: "<wlcm-select\n [options]=\"options\"\n [formControl]=\"control()\"\n [optionTemplate]=\"optionTemplate\"\n [triggerTemplate]=\"triggerTemplate\"\n (selectionChange)=\"changed.emit($event)\"\n></wlcm-select>\n\n<ng-template #optionTemplate let-option>\n <span class=\"emoji-flag\">{{ option.emojiFlag }}</span>\n\n {{ option.viewValue }}\n</ng-template>\n\n<ng-template #triggerTemplate let-selected>\n <div class=\"wlcm-country-code-select-trigger\">\n +{{ selected?.value | phoneCode }}\n </div>\n</ng-template>\n", styles: [".emoji-flag{font-size:20px;vertical-align:bottom;margin-right:8px}\n"] }]
|
22
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
23
|
-
type: Inject,
|
24
|
-
args: [WLCM_COUNTRY_CODE_OPTIONS]
|
25
|
-
}] }] });
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnRyeS1jb2RlLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9tb2R1bGVzL3Bob25lLWlucHV0L3NyYy9saWIvY29tcG9uZW50cy9jb3VudHJ5LWNvZGUtc2VsZWN0L2NvdW50cnktY29kZS1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9waG9uZS1pbnB1dC9zcmMvbGliL2NvbXBvbmVudHMvY291bnRyeS1jb2RlLXNlbGVjdC9jb3VudHJ5LWNvZGUtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFpQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQVU1RCxNQUFNLE9BQU8sOEJBQThCO0lBS3pDLFlBQXlELE9BQWdDO1FBQWhDLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBSnpGLFlBQU8sR0FBMEIsTUFBTSxFQUFFLENBQUM7UUFFMUMsWUFBTyxHQUE2QixLQUFLLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUUyQixDQUFDOzhHQUxsRiw4QkFBOEIsa0JBS3JCLHlCQUF5QjtrR0FMbEMsOEJBQThCLHFUQ2pCM0MsZ2hCQW1CQSw2SEROWSxZQUFZLDhCQUFFLGVBQWUsK05BQUUsbUJBQW1CLHFUQUFFLGFBQWE7OzJGQUloRSw4QkFBOEI7a0JBUjFDLFNBQVM7K0JBQ0UsMEJBQTBCLFFBQzlCLEVBQUUsS0FBSyxFQUFFLDBCQUEwQixFQUFFLGNBQy9CLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxDQUFDOzswQkFTL0QsTUFBTTsyQkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXRTaWduYWwsIE91dHB1dEVtaXR0ZXJSZWYsIGlucHV0LCBvdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdsY21Gb3Jtc01vZHVsZSB9IGZyb20gJ0B3bGNtL2FuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgV0xDTV9DT1VOVFJZX0NPREVfT1BUSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb3VudHJ5LWNvZGUtb3B0aW9ucy5jb25zdGFudHMnO1xuaW1wb3J0IHsgV2xjbUNvdW50cnlDb2RlT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvdW50cnktY29kZS5tb2RlbHMnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQaG9uZUNvZGVQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvcGhvbmUtY29kZS5waXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2xjbS1jb3VudHJ5LWNvZGUtc2VsZWN0JyxcbiAgaG9zdDogeyBjbGFzczogJ3dsY20tY291bnRyeS1jb2RlLXNlbGVjdCcgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgV2xjbUZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBQaG9uZUNvZGVQaXBlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvdW50cnktY29kZS1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY291bnRyeS1jb2RlLXNlbGVjdC5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFdsY21Db3VudHJ5Q29kZVNlbGVjdENvbXBvbmVudCB7XG4gIGNoYW5nZWQ6IE91dHB1dEVtaXR0ZXJSZWY8YW55PiA9IG91dHB1dCgpO1xuXG4gIGNvbnRyb2w6IElucHV0U2lnbmFsPEZvcm1Db250cm9sPiA9IGlucHV0KG5ldyBGb3JtQ29udHJvbCgnVVMnKSk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChXTENNX0NPVU5UUllfQ09ERV9PUFRJT05TKSBwcm90ZWN0ZWQgb3B0aW9uczogV2xjbUNvdW50cnlDb2RlT3B0aW9uW10pIHt9XG59XG4iLCI8d2xjbS1zZWxlY3RcbiAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gIFtmb3JtQ29udHJvbF09XCJjb250cm9sKClcIlxuICBbb3B0aW9uVGVtcGxhdGVdPVwib3B0aW9uVGVtcGxhdGVcIlxuICBbdHJpZ2dlclRlbXBsYXRlXT1cInRyaWdnZXJUZW1wbGF0ZVwiXG4gIChzZWxlY3Rpb25DaGFuZ2UpPVwiY2hhbmdlZC5lbWl0KCRldmVudClcIlxuPjwvd2xjbS1zZWxlY3Q+XG5cbjxuZy10ZW1wbGF0ZSAjb3B0aW9uVGVtcGxhdGUgbGV0LW9wdGlvbj5cbiAgPHNwYW4gY2xhc3M9XCJlbW9qaS1mbGFnXCI+e3sgb3B0aW9uLmVtb2ppRmxhZyB9fTwvc3Bhbj5cblxuICB7eyBvcHRpb24udmlld1ZhbHVlIH19XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RyaWdnZXJUZW1wbGF0ZSBsZXQtc2VsZWN0ZWQ+XG4gIDxkaXYgY2xhc3M9XCJ3bGNtLWNvdW50cnktY29kZS1zZWxlY3QtdHJpZ2dlclwiPlxuICAgICt7eyBzZWxlY3RlZD8udmFsdWUgfCBwaG9uZUNvZGUgfX1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
package/phone-input/esm2022/lib/components/phone-input-container/phone-input-container.component.mjs
DELETED
@@ -1,103 +0,0 @@
|
|
1
|
-
import { __decorate, __metadata } from "tslib";
|
2
|
-
import { CommonModule } from '@angular/common';
|
3
|
-
import { Component, ContentChild, NgZone, ViewChild, forwardRef, inject } from '@angular/core';
|
4
|
-
import { WlcmPhoneInputDirective } from '../../directives/phone-input.directive';
|
5
|
-
import { WLCM_INPUT_BINDER } from '@wlcm/angular/forms';
|
6
|
-
import { WLCM_PHONE_ADAPTER } from '../../constants/phone-adapter.constants';
|
7
|
-
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
8
|
-
import { Subject, fromEvent, merge, tap } from 'rxjs';
|
9
|
-
import { AsYouType, getPhoneCode, isValidNumber, parsePhoneNumber } from 'libphonenumber-js';
|
10
|
-
import { WlcmCountryCodeSelectComponent } from '../country-code-select/country-code-select.component';
|
11
|
-
import { FormControl } from '@angular/forms';
|
12
|
-
import * as i0 from "@angular/core";
|
13
|
-
let WlcmPhoneInputContainerComponent = class WlcmPhoneInputContainerComponent {
|
14
|
-
constructor(_zone) {
|
15
|
-
this._zone = _zone;
|
16
|
-
this._focusStream$ = new Subject();
|
17
|
-
this._blurStream$ = new Subject();
|
18
|
-
this.focus$ = this._focusStream$.asObservable();
|
19
|
-
this.blur$ = this._blurStream$.asObservable();
|
20
|
-
this.control = new FormControl('US');
|
21
|
-
this._asYouType = new AsYouType('US');
|
22
|
-
this.parseValue = (value) => {
|
23
|
-
if (!value || value.length === 0)
|
24
|
-
return '';
|
25
|
-
if (isValidNumber(value)) {
|
26
|
-
const result = parsePhoneNumber(value, 'US');
|
27
|
-
if (result.country)
|
28
|
-
this.control.setValue(result.country);
|
29
|
-
return result.nationalNumber;
|
30
|
-
}
|
31
|
-
return value;
|
32
|
-
};
|
33
|
-
this.formatValue = (value) => {
|
34
|
-
this._asYouType.reset();
|
35
|
-
this._asYouType.input(`+${this.currentCallingCode}${value}`);
|
36
|
-
const countryCode = this._asYouType.getCountry();
|
37
|
-
if (countryCode)
|
38
|
-
this.control.setValue(countryCode);
|
39
|
-
return this._asYouType.getNumber()?.number ?? '';
|
40
|
-
};
|
41
|
-
}
|
42
|
-
ngAfterContentInit() {
|
43
|
-
if (!this.phoneInput) {
|
44
|
-
throw new Error('The [wlcmPhoneInput] directive must be provided.');
|
45
|
-
}
|
46
|
-
this.handleInputEvents();
|
47
|
-
}
|
48
|
-
isFocused() {
|
49
|
-
return this.phoneInput.element === document.activeElement;
|
50
|
-
}
|
51
|
-
focus() {
|
52
|
-
this.phoneInput.element.focus();
|
53
|
-
}
|
54
|
-
handleCountryChange() {
|
55
|
-
this.phoneInput._updateControl();
|
56
|
-
}
|
57
|
-
get currentCallingCode() {
|
58
|
-
return getPhoneCode(this.control.value);
|
59
|
-
}
|
60
|
-
handleInputEvents() {
|
61
|
-
this._zone.runOutsideAngular(() => {
|
62
|
-
merge(fromEvent(this.phoneInput.element, 'focus').pipe(tap(() => this._focusStream$.next())), fromEvent(this.phoneInput.element, 'blur').pipe(tap(() => this._blurStream$.next())))
|
63
|
-
.pipe(untilDestroyed(this))
|
64
|
-
.subscribe();
|
65
|
-
});
|
66
|
-
}
|
67
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmPhoneInputContainerComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
68
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.5", type: WlcmPhoneInputContainerComponent, isStandalone: true, selector: "wlcm-phone-input-container", host: { classAttribute: "wlcm-phone-input-container" }, providers: [
|
69
|
-
{
|
70
|
-
provide: WLCM_INPUT_BINDER,
|
71
|
-
useFactory: () => {
|
72
|
-
const container = inject(WlcmPhoneInputContainerComponent, { self: true });
|
73
|
-
return { bind: () => container };
|
74
|
-
},
|
75
|
-
},
|
76
|
-
{ provide: WLCM_PHONE_ADAPTER, useExisting: forwardRef(() => WlcmPhoneInputContainerComponent) },
|
77
|
-
], queries: [{ propertyName: "phoneInput", first: true, predicate: WlcmPhoneInputDirective, descendants: true }], viewQueries: [{ propertyName: "codeSelect", first: true, predicate: WlcmCountryCodeSelectComponent, descendants: true }], ngImport: i0, template: "<wlcm-country-code-select\n [control]=\"control\"\n (changed)=\"handleCountryChange()\"\n></wlcm-country-code-select>\n\n<div class=\"wlcm-phone-input-container-divider\"></div>\n\n<ng-content select=\"[wlcmPhoneInput]\"></ng-content>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: WlcmCountryCodeSelectComponent, selector: "wlcm-country-code-select", inputs: ["control"], outputs: ["changed"] }] }); }
|
78
|
-
};
|
79
|
-
WlcmPhoneInputContainerComponent = __decorate([
|
80
|
-
UntilDestroy(),
|
81
|
-
__metadata("design:paramtypes", [NgZone])
|
82
|
-
], WlcmPhoneInputContainerComponent);
|
83
|
-
export { WlcmPhoneInputContainerComponent };
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.5", ngImport: i0, type: WlcmPhoneInputContainerComponent, decorators: [{
|
85
|
-
type: Component,
|
86
|
-
args: [{ selector: 'wlcm-phone-input-container', host: { class: 'wlcm-phone-input-container' }, standalone: true, imports: [CommonModule, WlcmCountryCodeSelectComponent], providers: [
|
87
|
-
{
|
88
|
-
provide: WLCM_INPUT_BINDER,
|
89
|
-
useFactory: () => {
|
90
|
-
const container = inject(WlcmPhoneInputContainerComponent, { self: true });
|
91
|
-
return { bind: () => container };
|
92
|
-
},
|
93
|
-
},
|
94
|
-
{ provide: WLCM_PHONE_ADAPTER, useExisting: forwardRef(() => WlcmPhoneInputContainerComponent) },
|
95
|
-
], template: "<wlcm-country-code-select\n [control]=\"control\"\n (changed)=\"handleCountryChange()\"\n></wlcm-country-code-select>\n\n<div class=\"wlcm-phone-input-container-divider\"></div>\n\n<ng-content select=\"[wlcmPhoneInput]\"></ng-content>\n" }]
|
96
|
-
}], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { codeSelect: [{
|
97
|
-
type: ViewChild,
|
98
|
-
args: [WlcmCountryCodeSelectComponent]
|
99
|
-
}], phoneInput: [{
|
100
|
-
type: ContentChild,
|
101
|
-
args: [WlcmPhoneInputDirective]
|
102
|
-
}] } });
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZHVsZXMvcGhvbmUtaW5wdXQvc3JjL2xpYi9jb21wb25lbnRzL3Bob25lLWlucHV0LWNvbnRhaW5lci9waG9uZS1pbnB1dC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kdWxlcy9waG9uZS1pbnB1dC9zcmMvbGliL2NvbXBvbmVudHMvcGhvbmUtaW5wdXQtY29udGFpbmVyL3Bob25lLWlucHV0LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLGlCQUFpQixFQUFzQixNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVsRSxPQUFPLEVBQUUsU0FBUyxFQUE0QixZQUFZLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkgsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDdEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFn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SUFBSSxFQUFFLENBQUMsQ0FBQztnQ0FFN0csT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQzs0QkFDbkMsQ0FBQzt5QkFDRjt3QkFDRCxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQ0FBaUMsQ0FBQyxFQUFFO3FCQUNqRzsyRUFXa0QsVUFBVTtzQkFBNUQsU0FBUzt1QkFBQyw4QkFBOEI7Z0JBRU0sVUFBVTtzQkFBeEQsWUFBWTt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIE5nWm9uZSwgVmlld0NoaWxkLCBmb3J3YXJkUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdsY21QaG9uZUlucHV0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9waG9uZS1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgV0xDTV9JTlBVVF9CSU5ERVIsIFdsY21Gb3JtRmllbGRJbnB1dCB9IGZyb20gJ0B3bGNtL2FuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgV0xDTV9QSE9ORV9BREFQVEVSIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL3Bob25lLWFkYXB0ZXIuY29uc3RhbnRzJztcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgZnJvbUV2ZW50LCBtZXJnZSwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBXbGNtUGhvbmVBZGFwdGVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3Bob25lLWFkYXB0ZXIubW9kZWxzJztcbmltcG9ydCB7IEFzWW91VHlwZSwgQ291bnRyeUNvZGUsIFBob25lTnVtYmVyLCBnZXRQaG9uZUNvZGUsIGlzVmFsaWROdW1iZXIsIHBhcnNlUGhvbmVOdW1iZXIgfSBmcm9tICdsaWJwaG9uZW51bWJlci1qcyc7XG5pbXBvcnQgeyBXbGNtQ291bnRyeUNvZGVTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi9jb3VudHJ5LWNvZGUtc2VsZWN0L2NvdW50cnktY29kZS1zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AVW50aWxEZXN0cm95KClcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dsY20tcGhvbmUtaW5wdXQtY29udGFpbmVyJyxcbiAgaG9zdDogeyBjbGFzczogJ3dsY20tcGhvbmUtaW5wdXQtY29udGFpbmVyJyB9LFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBXbGNtQ291bnRyeUNvZGVTZWxlY3RDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vcGhvbmUtaW5wdXQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3Bob25lLWlucHV0LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFdMQ01fSU5QVVRfQklOREVSLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICBjb25zdCBjb250YWluZXI6IFdsY21QaG9uZUlucHV0Q29udGFpbmVyQ29tcG9uZW50ID0gaW5qZWN0KFdsY21QaG9uZUlucHV0Q29udGFpbmVyQ29tcG9uZW50LCB7IHNlbGY6IHRydWUgfSk7XG5cbiAgICAgICAgcmV0dXJuIHsgYmluZDogKCkgPT4gY29udGFpbmVyIH07XG4gICAgICB9LFxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBXTENNX1BIT05FX0FEQVBURVIsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFdsY21QaG9uZUlucHV0Q29udGFpbmVyQ29tcG9uZW50KSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBXbGNtUGhvbmVJbnB1dENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIFdsY21Gb3JtRmllbGRJbnB1dCwgV2xjbVBob25lQWRhcHRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzU3RyZWFtJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYmx1clN0cmVhbSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGZvY3VzJDogT2JzZXJ2YWJsZTx2b2lkPiA9IHRoaXMuX2ZvY3VzU3RyZWFtJC5hc09ic2VydmFibGUoKTtcblxuICBibHVyJDogT2JzZXJ2YWJsZTx2b2lkPiA9IHRoaXMuX2JsdXJTdHJlYW0kLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIEBWaWV3Q2hpbGQoV2xjbUNvdW50cnlDb2RlU2VsZWN0Q29tcG9uZW50KSBwcml2YXRlIGNvZGVTZWxlY3QhOiBXbGNtQ291bnRyeUNvZGVTZWxlY3RDb21wb25lbnQ7XG5cbiAgQENvbnRlbnRDaGlsZChXbGNtUGhvbmVJbnB1dERpcmVjdGl2ZSkgcHJpdmF0ZSBwaG9uZUlucHV0ITogV2xjbVBob25lSW5wdXREaXJlY3RpdmU7XG5cbiAgcmVhZG9ubHkgY29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJ1VTJyk7XG5cbiAgcHJpdmF0ZSBfYXNZb3VUeXBlID0gbmV3IEFzWW91VHlwZSgnVVMnKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF96b25lOiBOZ1pvbmUpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5waG9uZUlucHV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSBbd2xjbVBob25lSW5wdXRdIGRpcmVjdGl2ZSBtdXN0IGJlIHByb3ZpZGVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuaGFuZGxlSW5wdXRFdmVudHMoKTtcbiAgfVxuXG4gIGlzRm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5waG9uZUlucHV0LmVsZW1lbnQgPT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBmb2N1cygpOiB2b2lkIHtcbiAgICB0aGlzLnBob25lSW5wdXQuZWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcGFyc2VWYWx1ZSA9ICh2YWx1ZTogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBpZiAoIXZhbHVlIHx8IHZhbHVlLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xuXG4gICAgaWYgKGlzVmFsaWROdW1iZXIodmFsdWUpKSB7XG4gICAgICBjb25zdCByZXN1bHQ6IFBob25lTnVtYmVyID0gcGFyc2VQaG9uZU51bWJlcih2YWx1ZSwgJ1VTJyk7XG5cbiAgICAgIGlmIChyZXN1bHQuY291bnRyeSkgdGhpcy5jb250cm9sLnNldFZhbHVlKHJlc3VsdC5jb3VudHJ5KTtcblxuICAgICAgcmV0dXJuIHJlc3VsdC5uYXRpb25hbE51bWJlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH07XG5cbiAgZm9ybWF0VmFsdWUgPSAodmFsdWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgdGhpcy5fYXNZb3VUeXBlLnJlc2V0KCk7XG5cbiAgICB0aGlzLl9hc1lvdVR5cGUuaW5wdXQoYCske3RoaXMuY3VycmVudENhbGxpbmdDb2RlfSR7dmFsdWV9YCk7XG5cbiAgICBjb25zdCBjb3VudHJ5Q29kZTogQ291bnRyeUNvZGUgfCB1bmRlZmluZWQgPSB0aGlzLl9hc1lvdVR5cGUuZ2V0Q291bnRyeSgpO1xuXG4gICAgaWYgKGNvdW50cnlDb2RlKSB0aGlzLmNvbnRyb2wuc2V0VmFsdWUoY291bnRyeUNvZGUpO1xuXG4gICAgcmV0dXJuIHRoaXMuX2FzWW91VHlwZS5nZXROdW1iZXIoKT8ubnVtYmVyID8/ICcnO1xuICB9O1xuXG4gIGhhbmRsZUNvdW50cnlDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5waG9uZUlucHV0Ll91cGRhdGVDb250cm9sKCk7XG4gIH1cblxuICBwcml2YXRlIGdldCBjdXJyZW50Q2FsbGluZ0NvZGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0UGhvbmVDb2RlKHRoaXMuY29udHJvbC52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUlucHV0RXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgbWVyZ2UoXG4gICAgICAgIGZyb21FdmVudCh0aGlzLnBob25lSW5wdXQuZWxlbWVudCwgJ2ZvY3VzJykucGlwZSh0YXAoKCkgPT4gdGhpcy5fZm9jdXNTdHJlYW0kLm5leHQoKSkpLFxuICAgICAgICBmcm9tRXZlbnQodGhpcy5waG9uZUlucHV0LmVsZW1lbnQsICdibHVyJykucGlwZSh0YXAoKCkgPT4gdGhpcy5fYmx1clN0cmVhbSQubmV4dCgpKSlcbiAgICAgIClcbiAgICAgICAgLnBpcGUodW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHdsY20tY291bnRyeS1jb2RlLXNlbGVjdFxuICBbY29udHJvbF09XCJjb250cm9sXCJcbiAgKGNoYW5nZWQpPVwiaGFuZGxlQ291bnRyeUNoYW5nZSgpXCJcbj48L3dsY20tY291bnRyeS1jb2RlLXNlbGVjdD5cblxuPGRpdiBjbGFzcz1cIndsY20tcGhvbmUtaW5wdXQtY29udGFpbmVyLWRpdmlkZXJcIj48L2Rpdj5cblxuPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3dsY21QaG9uZUlucHV0XVwiPjwvbmctY29udGVudD5cbiJdfQ==
|