# @auto-euro/ae-header

> auto-euro header component

Latest version **0.0.1** (published 2023-10-11) · ISC license · 0 weekly downloads

## Install

```sh
npm install @auto-euro/ae-header
pnpm add @auto-euro/ae-header
yarn add @auto-euro/ae-header
bun add @auto-euro/ae-header
```

## Health

**Score 20/100 (F)** — status: abandoned.

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.1 |
| Published | 2023-10-11 |
| First published | 2023-09-11 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 2.7 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | auto-euro |
| Maintainers | dantedg, sallivan_v, pe.unidata, levushkinam |

## Links

- npm: https://www.npmjs.com/package/@auto-euro/ae-header
- Repository: git@git02.autoeuro.ru:devshop/top
- npm.io page: https://npm.io/package/@auto-euro/ae-header

## Recent versions

- 0.0.1 (latest) — 2023-10-11
- 0.0.0 — 2023-09-11

## README

# top

В этом репозитории готовим общую "шапку" для сайтов Авто-Евро, реализованную на Vue v2.6

Цель проекта - предоставить коллегам репозиторий, в котором содержатся компоненты с настроенным взаимодействием
через events и props.

Начнем с описания иерархии компонентов в шапке.

## Getting started

### Подключить пакет в проект

Выполнить команду `npm i @auto-euro/ae-header`.

Импортировать компонент в нужном месте

```import AEHeader from '@auto-euro/ae-header';```

Название импортируемого компонента может быть произвольным.

### Подключить пакет для локальной разработки/тестирования

- Перейти в папку пакета и выполнить команду `npm link`.

- В проекте, в котором нужно подключить локальную версию проекта, в директории с package.json файлом выполнить команду `npm link`.

Для отключения локального пакета, выполнить команду `npm unlink`.


### Props

| Name                         | Type           | Require | Default  | Description                                                                                                                                                                                                                   |
|------------------------------|----------------|---------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `obtain`                     | Object         | True    | {}       | Объект отображаемого адреса и способа получения                                                                                                                                                                               |
| `user-erp-id`                | String, Number | False   | ''       | Erp-id пользователя. Передача параметра обозначает залогиненного пользователя                                                                                                                                                 |                                                   |
| `brands`                     | Array          | False   | []       | Список брендов                                                                                                                                                                                                                |
| `logo-link`                  | String         | False   | ''       | Ссылка для перехода по клику на логотип                                                                                                                                                                                       |
| `favorite-link`              | String         | False   | ''       | Ссылка для перехода по клику на иконку "Избранное"                                                                                                                                                                            |
| `cart-link`                  | String         | False   | ''       | Ссылка для перехода по клику на иконку "Корзина"                                                                                                                                                                              |
| `user-login-url`             | String         | False   | ''       | Ссылка для перехода по клику на "Войти"                                                                                                                                                                                       |
| `user-logout-url`            | String         | False   | ''       | Ссылка для перехода по клику на "Выйти"                                                                                                                                                                                       |
| `user-registration-url`      | String         | False   | ''       | Ссылка для перехода по клику на "Зарегистрироваться"                                                                                                                                                                          |
| `navigation-items`           | Array          | False   | []       | Список ссылок для перехода                                                                                                                                                                                                    |
| `user-menu-navigation-items` | Array          | False   | []       | Список ссылок для перехода из меню пользователя                                                                                                                                                                               |
| `catalog-menu-categories`    | Array          | False   | []       | Дерево меню каталога                                                                                                                                                                                                          |
| `pick-points-list`           | Array          | False   | []       | Список адресов самовывоза                                                                                                                                                                                                     |
| `user-addresses`             | Array          | False   | []       | Список адресов доставки                                                                                                                                                                                                       |
| `get-geolocation`            | Boolean        | False   | false    | Нужно ли использовать определение местоположения по геоолокации                                                                                                                                                               |
| `create-address`             | Function       | False   | () => {} | Функция создания адреса. При клике на "Добавить адрес" вызываем эту функцию. Входящий параметр соответствует возвращаемому из onCallbackCreateAddress объекту. Если запрос выполнен успешно вызываем onCallbackCreateAddress. |


### Emits

### Props

| Name                      | Description                                                                                                    |
|---------------------------|----------------------------------------------------------------------------------------------------------------|
| `selectDeliveryAddress`   | Объект адреса, возвращаемый при выборе адреса в разделе "Доставка". Соответствует объекту из user-addresses    |
| `selectPickupAddress`     | Объект адреса, возвращаемый при выборе адреса в разделе "Самовывоз". Соответствует объекту из pick-points-list |
| `onCallbackCreateAddress` | Объект адреса, возвращаемый для создания. Соответствует объекту из user-addresses                              |
| `updateAddress`           | Объект адреса, возвращаемый для обновления. Соответствует объекту из user-addresses                            |


### Data models

**obtain**

| Name    | Type   | Require | Default | Description     |
|---------|--------|---------|---------|-----------------|
| address | String | True    | ''      | Адрес в 'шапке' |
| erp_id  | String | True    | ''      | erp id адреса   |

**user-menu-navigation-items**

-модель объектов в массиве

| Name   | Type   | Require | Default | Description                                                         |
|--------|--------|---------|---------|---------------------------------------------------------------------|
| action | String | False   | null    | Функция, котороя выполнится перед переходом. Может быть асинхронной |
| title  | String | True    | ''      | Название ссылки                                                     |
| url    | String | True    | ''      | ссылка для перехода                                                 |

**catalog-menu-categories**

-модель объектов в массиве

| Name              | Type   | Require | Default | Example                                                                     | Description                                                                       |
|-------------------|--------|---------|---------|-----------------------------------------------------------------------------|-----------------------------------------------------------------------------------|
| cropped_images    | Array  | False   | []      | [{src: String, width: Number}]                                              | Массив картинок                                                                   |
| full_description  | ?      | False   | null    |                                                                             | ?                                                                                 |
| id                | Number | True    | null    | 73657                                                                       | Id                                                                                |
| image             | String | True    | null    | 'https://cdn-01.autoeuro.ru/full_size/6134633066324365a636613938663932.jpg' | Ссылка на картинку                                                                |
| name              | String | True    | null    | 'Масла и технические жидкости'                                              | Название                                                                          |
| path              | String | True    | null    | '/masla-i-tehnicheskie-zhidkosti'                                           | Ссылка                                                                            |
| seo_canonical     | ?      | False   | null    |                                                                             | ?                                                                                 |
| seo_description   | ?      | False   | null    |                                                                             | ?                                                                                 |
| seo_title         | ?      | False   | null    |                                                                             | ?                                                                                 |
| short_description | ?      | False   | null    |                                                                             | ?                                                                                 |
| slug              | String | False   | null    |                                                                             | Транслит названия                                                                 |
| subcategory       | Array  | False   | []      |                                                                             | Массив, аналогичный catalog-menu-categories. Для реализации древовидной структуры |**catalog-menu-categories**

**pick-points-list**

-модель объектов в массиве

| Name       | Type   | Require | Default | Example                                                   | Description              |
|------------|--------|---------|---------|-----------------------------------------------------------|--------------------------|
| address    | String | True    | []      | 'г. Москва, ул. Рябиновая 28, стр.6'                      | Адрес                    |
| area       | String | False   | null    | 'Москва'                                                  |                          |
| country_id | Number | False   | null    | 643                                                       |                          |
| district   | String | False   | null    | 'Москва'                                                  |                          |
| enabled    | Number | False   | null    | 1                                                         |                          |
| erp_id     | String | True    | null    | '    A3OLM'                                               | Erp id                   |
| id         | Number | False   | null    | 1                                                         | Id                       |
| map_lat    | Number | True    | null    | 55.693597                                                 | Широта                   |
| map_lon    | Number | True    | null    | 37.421791                                                 | Долгота                  |
| name       | String | True    | null    | 'Рябиновая'                                               | Название                 |
| phones     | Array  | False   | []      | ["+7(495)120-09-41"]                                      | Массив номеров телефонов |
| region     | String | False   | null    | 'Центральный федеральный округ'                           |                          |
| type       | String | False   | null    | 'Офис продаж'                                             | Тип пвз                  |
| work_time  | Array  | False   | []      | ["пн.–пт.: с 9:00 до 20:00", "сб., вс.: с 9:00 до 18:00"] | Массив времени работы    |
| ws_id      | String | False   | null    | '     DOLM'                                               |                          |

**user-addresses**

-модель объектов в массиве

| Name         | Type    | Require | Default                                                                                            | Description                                               |
|--------------|---------|---------|----------------------------------------------------------------------------------------------------|-----------------------------------------------------------|
| contact      | Object  | False   | {comment: '', fio: '', phone: ''}                                                                  | Данные о пользователе. Для редактирования                 |
| deliveryTime | Array   | False   | [{dayName: "Понедельник", dayIsActive: true, startFromValue: "09:00", startToValue: "19:00"}, ...] | Данные о точке доставки. Для редактирования               |
| enabled      | Boolean | False   | False                                                                                              | Если false, не показываем                                 |
| id           | String  | True    | ''                                                                                                 | Id                                                        |
| map_lat      | Number  | True    | null                                                                                               | Широта                                                    |
| map_lon      | Number  | True    | null                                                                                               | Долгота                                                   |
| name         | String  | True    | null                                                                                               | Название                                                  |
| verify       | Boolean | False   | False                                                                                              | Верифицирован ли адрес. Неверифицированные нельзя выбрать |


## Версионирование пакета


Пакет лежит в директории компании `"https://www.npmjs.com/settings/auto-euro/packages"`;
Для работы с пакетом (обновление/удаление), необходимо:
- иметь учетную запись на сайте `"https://www.npmjs.com"`;
- учетная запись должна быть добавлена в комманду разработки пакета auto-euro (необходимо обратиться к владельцу пакета);
- быть авторизованным - выполнить в терминале команду `npm login` и ввести учетные данные.


Для обновления версии пакета, необходимо:
- Перед мержем изменений в код, выполнить команду `npm version <номер версии в формате [ major | minor | patch ]>` (на данном этапе все изменения в коде должны быть закомичены). Закоммитить изменение версии и запушить в репозиторий.
- Выполнить команду `npm publish --access public`.

---
_Source: https://npm.io/package/@auto-euro/ae-header · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
