Giter VIP home page Giter VIP logo

retail-ui's Introduction

Экосистема React UI

Проекты

  • Контур.Гайды. Требования к дизайну интерфейсов Контура
  • React UI. Библиотека общих компонентов
  • UI Parking. Коллекция переиспользуемых решений, не вошедших в общую библиотеку

Пакеты

Имя Описание Документация Репозиторий
@skbkontur/react-ui npm Библиотека компонентов tech.skbkontur.ru github.com
@skbkontur/react-ui-validations npm Библиотека валидаций tech.skbkontur.ru github.com
@skbkontur/icons npm Набор иконок pages.kontur.host git.skbkontur.ru
react-ui-codemod npm Коллекция кодмодов github.com github.com
@skbkontur/react-ui-addons npm Специфичные компоненты pages.kontur.host git.skbkontur.ru
@skbkontur/side-menu npm Компонент главного меню pages.kontur.host git.skbkontur.ru
@skbkontur/react-error-pages npm Страницы ошибок pages.kontur.host git.skbkontur.ru
@skbkontur/mini-skeleton npm Мини-скелетоны pages.kontur.host git.skbkontur.ru
@skbkontur/logos npm Логотипы pages.kontur.host git.skbkontur.ru
@skbkontur/colors npm Библиотека цветов pages.kontur.host git.skbkontur.ru

Подключение шрифта

О том как подключить шрифт можно прочитать в Гайдах

Для доступа к разделу в гайде нужно авторизоваться на сайте Гайдов (кнопка для входа находится в подвале сайта)

Устаревшие пакеты

Имя Описание Документация Репозиторий
retail-ui npm Библиотека react-ui c less-кастомизацией tech.skbkontur.ru github.com
react-ui-validations npm Библиотека валидаций для retail-ui tech.skbkontur.ru github.com
@skbkontur/react-icons npm Набор иконок (поиск) pages.kontur.host git.skbkontur.ru

retail-ui's People

Contributors

21alexander21 avatar bae1 avatar bytimo avatar dependabot[bot] avatar dzekh avatar egorovechkin avatar exactlynosense avatar frumcheg avatar funkicide avatar halex2005 avatar helenaish avatar jackuait avatar kga-kontur avatar khlutkova avatar lossir avatar mshatikhin avatar nanot1m avatar pravosud avatar pvolok avatar rustho avatar schwj avatar shururup avatar slawwan avatar stathamjason avatar step-off avatar taranovakn avatar tihonove avatar wkich avatar yakoff19 avatar zhzz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

retail-ui's Issues

Modal

Если открыть два модала, а потом закрыть только один, то слетает затенение.

[ComboBox] Неккоректное поведение при рендеринге combobox на hover

Пример ошибки по ссылке.
Проблема заключается в том, что меню combobox рендерится не внутри самого компонента, а в body, используя паттерн Portal. Поэтому при наведении на меню, событие hover у основого контейнера пропадает и combobox теряется.

В FF и IE ломается vertical-align: baseline рядом с кнопками и селектами

Если поставить текст рядом с кнопкой или селектом, то фаерфокс и ИЕ делают так:
image
image
Оказывается, проблема эта известна давно, и, мало того, так и надо, даже в спеке так написано (последняя строка) .
Если я всё правильно понимаю, у нас всё ломается из-за overflow: hidden в Button-caption.
Даже не знаю, что предложить. :(

[Sticky] Уходит в рекурсию при задании отступов

Если задать margin дочернему элементу, неправильно вычисляется высота дочернего элемента.
Воспроизвести можно в коде из документации:

const style = {
  padding: 10,
  background: '#f99',
  margin: 10,
};

let stop = null;

ReactDOM.render((
  <div>
    <Sticky side="top" getStop={() => stop}>
      {fixed => (
        <div style={style}>
          Small loan of a million dollars
          {fixed ? ' fixed' : <div>not fixed</div>}
        </div>
      )}
    </Sticky>
    Great

    <div style={{height: 1000}} />
    <div ref={(el) => stop = el}
      style={{borderTop: '1px solid #000'}}
    />
    <div style={{height: 1000}} />

    <Sticky side="bottom" getStop={() => stop} offset={20}>
      <div style={style}>Make America Great Again</div>
    </Sticky>

    <div style={{height: 100}} />
  </div>
), mountNode);

[Dropdown] Вид отображения ссылкой

Хочется чтобы дропдаун меню открывалось не кнопкой, а ссылкой.

Вообще было бы замечательно вынести (реализовать) компонент popup, который не будет привязан к кнопке.

Типа такого:

popup

[Icon] Размытые иконки

Иконки размываются в IE10 или если в любом браузере открыть инструменты разработчика.
Вот, например, скриншоты с одной и той же страницы в хроме на винде:
image image

[ComboBox] метод focus()

Как поставить фокус в ComboBox?

Если сейчас такой возможности нет, то предлагаю добавить метод focus() как у Input

[DatePicker] свойство pos

В ситуация когда DatePicker прибит к правой стороне календарь уходит за правую границу страницы.

Предложение:

Сделать свойство pos, аналогично как у ToolTip

Версионирование и changelog

Не хватает следующих возможностей:

  • понимать, какие изменения были внесены в новой версии,
  • быстро отличать мажорные релизы от минорных,
  • для каждой подключаемой компоненты выбирать конкретно ту версию, которая необходима.

Не работает RadioGroup.Prevent

Есть код:

var items = ['One', 'Two', 'Three'];
function renderItem(value, data) {
  return (
    <div>
      {data}
      <RadioGroup.Prevent>{data}</RadioGroup.Prevent>
    </div>
  )
}

ReactDOM.render((
  <div>
    <RadioGroup items={items} renderItem={renderItem}/>
  </div>
), mountNode);

Вместо радиокнопок вижу Warning: Invariant Violation: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined.

Если из renderItem убрать <RadioGroup.Prevent>{data}</RadioGroup.Prevent> - все ок.

[Modal] Реакция на уменьшение высоты контента.

Лайтбокс замечательно реагирует на увеличение высоты контента, однако обратное действие остаётся для него незамеченным: GIF с демонстрацией

UPD:, при увеличении высоты контента, футер сначала уезжает за пределы экрана и появляется прилипшим только при скролле

В полях с календарем добавить маску ввода

В полях с подключенными календарями добавить маску ввода, чтобы при вводе пользователем даты вручную, не используя календарь, можно было не использовать разделители или использовать любой разделитель. Подробно поведение описано в Контур.гайдах в разделе «Ввод текста» - см. http://guides.kontur/controls/calendar/. Пункт про использование стрелок для изменения значения в секциях даты имеет низкий приоритет.

[ComboBox] autoFocus

При передаче в ComboBox autoFocus={true}, он должен себя вести так же, как и при получении фокуса.

Демонстрация:

right

Сейчас при autoFocus={true} он ведет себя не совсем корректно.
Появляется фокус, но не ставится курсор, не запускается поиск, не показываются результаты.

Демонстрация:

wrong

[Button] Стиль ховера по дефолтной кнопке

При наведении мыши на серую кнопку она промигивает по центру - выглядит очень странно (у меня два моника на маке, с одним моником такой фигни нет), все остальные ховеры кнопок работают нормально.

попробовал поменять градиент (брал последовательно из html color shades) без дерганья начинает работать с цвета #E0E0E0

сейчас у кнопки градиент
background-image: linear-gradient(-180deg, #FFFFFF, #EBEBEB);

я поменял на (стало норм):
background-image: linear-gradient(-180deg, #FFFFFF, #E0E0E0);

Раздражает дерганье очень сильно, так как стиль ховера используется не только на кнопке и баг повторяется везде где серый градиент.

Снял это всё на телефон, можете глянуть =)

https://yadi.sk/i/Wz8JQquh3AxVxv

Если снимать через захват экрана, баг на видео не проявляется.

Lookup не находит Modal по tid

Есть модал, который открывается по ссылке из комбобокса, у него прописан tid:

<Modal tid="NewContractorModal"></Modal>

При выполнении Lookup.findOne('NewContractorModal') находится элемент в теге noscript, внутри которого ничего нет.

Перенесли tid внутрь модала вот так:

<Modal><div tid="NewContractorModal"></div></Modal>

и Lookup стал находить модал правильно.

Очень хочется, чтобы в первом случае скрипт находил модал правильно.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.