GithubHelp home page GithubHelp logo

skbkontur / retail-ui Goto Github PK

View Code? Open in Web Editor NEW
249.0 42.0 127.0 241.21 MB

React controls to implement standards at https://guides.kontur.ru/

Home Page: http://tech.skbkontur.ru/react-ui/

JavaScript 3.12% HTML 0.05% TypeScript 85.33% Batchfile 0.01% C# 11.16% Less 0.30% Shell 0.04%
react uikit components react-ui

retail-ui's People

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

retail-ui's Issues

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

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

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

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

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

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

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

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

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

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

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

https://yadi.sk/i/Wz8JQquh3AxVxv

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

[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);

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

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

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

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

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

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

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

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

Modal

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

[ComboBox] метод focus()

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

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

[ComboBox] autoFocus

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

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

right

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

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

wrong

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

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

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

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

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

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

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

Типа такого:

popup

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

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

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

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

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

Не работает 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> - все ок.

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

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

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

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

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

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.