gitextract_z09_3irc/ ├── .github/ │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .husky/ │ └── pre-commit ├── .nvmrc ├── CHANGELOG.md ├── CHANGELOG.ru.md ├── CLA.md ├── CONTRIBUTING.md ├── CONTRIBUTING.ru.md ├── LICENSE.txt ├── MIGRATION.md ├── MIGRATION.ru.md ├── PLAN.md ├── README.md ├── README.ru.md ├── SUMMARY.md ├── build/ │ ├── platforms/ │ │ ├── desktop.js │ │ └── touch.js │ ├── plugins/ │ │ ├── vite-plugin-bem-levels.js │ │ └── vite-plugin-bem-levels.test.js │ ├── vite.config.js │ └── vite.test.config.js ├── common.blocks/ │ ├── clearfix/ │ │ ├── clearfix.css │ │ ├── clearfix.en.md │ │ ├── clearfix.en.title.txt │ │ ├── clearfix.ru.md │ │ └── clearfix.ru.title.txt │ ├── cookie/ │ │ ├── cookie.en.md │ │ ├── cookie.js │ │ ├── cookie.ru.md │ │ └── cookie.spec.js │ ├── dom/ │ │ ├── dom.deps.js │ │ ├── dom.en.md │ │ ├── dom.js │ │ ├── dom.ru.md │ │ └── dom.spec.js │ ├── events/ │ │ ├── __channels/ │ │ │ ├── events__channels.deps.js │ │ │ ├── events__channels.en.md │ │ │ ├── events__channels.ru.md │ │ │ └── events__channels.vanilla.js │ │ ├── __observable/ │ │ │ ├── _type/ │ │ │ │ ├── events__observable_type_bem-dom.deps.js │ │ │ │ ├── events__observable_type_bem-dom.js │ │ │ │ └── events__observable_type_bem-dom.spec.js │ │ │ ├── events__observable.deps.js │ │ │ ├── events__observable.js │ │ │ └── events__observable.spec.js │ │ ├── events.deps.js │ │ ├── events.en.md │ │ ├── events.ru.md │ │ ├── events.spec.js │ │ └── events.vanilla.js │ ├── functions/ │ │ ├── __debounce/ │ │ │ ├── functions__debounce.spec.js │ │ │ └── functions__debounce.vanilla.js │ │ ├── __throttle/ │ │ │ ├── functions__throttle.spec.js │ │ │ └── functions__throttle.vanilla.js │ │ ├── functions.en.md │ │ ├── functions.ru.md │ │ ├── functions.spec.js │ │ └── functions.vanilla.js │ ├── i-bem/ │ │ ├── __collection/ │ │ │ ├── i-bem__collection.js │ │ │ └── i-bem__collection.spec.js │ │ ├── __internal/ │ │ │ ├── i-bem__internal.ru.title.txt │ │ │ ├── i-bem__internal.spec.js │ │ │ └── i-bem__internal.vanilla.js │ │ ├── i-bem.deps.js │ │ ├── i-bem.en.md │ │ ├── i-bem.en.title.txt │ │ ├── i-bem.ru.md │ │ ├── i-bem.ru.title.txt │ │ ├── i-bem.spec.js │ │ └── i-bem.vanilla.js │ ├── i-bem-dom/ │ │ ├── __collection/ │ │ │ ├── i-bem-dom__collection.deps.js │ │ │ ├── i-bem-dom__collection.js │ │ │ └── i-bem-dom__collection.spec.js │ │ ├── __events/ │ │ │ ├── _type/ │ │ │ │ ├── i-bem-dom__events_type_bem.deps.js │ │ │ │ ├── i-bem-dom__events_type_bem.js │ │ │ │ ├── i-bem-dom__events_type_bem.spec.js │ │ │ │ ├── i-bem-dom__events_type_dom.deps.js │ │ │ │ ├── i-bem-dom__events_type_dom.js │ │ │ │ └── i-bem-dom__events_type_dom.spec.js │ │ │ ├── i-bem-dom__events.deps.js │ │ │ └── i-bem-dom__events.js │ │ ├── __init/ │ │ │ ├── _auto/ │ │ │ │ ├── i-bem-dom__init_auto.deps.js │ │ │ │ └── i-bem-dom__init_auto.js │ │ │ ├── i-bem-dom__init.deps.js │ │ │ ├── i-bem-dom__init.js │ │ │ └── i-bem-dom__init.spec.js │ │ ├── i-bem-dom.deps.js │ │ ├── i-bem-dom.en.md │ │ ├── i-bem-dom.js │ │ ├── i-bem-dom.ru.md │ │ ├── i-bem-dom.spec.js │ │ └── i-bem-dom.tests/ │ │ ├── benchmarks.bemjson.js │ │ └── benchmarks.blocks/ │ │ ├── b1/ │ │ │ ├── b1.deps.js │ │ │ └── b1.js │ │ ├── b2/ │ │ │ ├── b2.deps.js │ │ │ └── b2.js │ │ └── page/ │ │ ├── page.deps.js │ │ └── page.js │ ├── i18n/ │ │ ├── i18n.deps.js │ │ ├── i18n.en.md │ │ ├── i18n.i18n.js │ │ ├── i18n.ru.md │ │ ├── i18n.test.js │ │ ├── i18n.tests/ │ │ │ ├── blocks/ │ │ │ │ ├── logo/ │ │ │ │ │ ├── logo.bemhtml.js │ │ │ │ │ ├── logo.bh.js │ │ │ │ │ ├── logo.deps.js │ │ │ │ │ ├── logo.i18n/ │ │ │ │ │ │ ├── en.js │ │ │ │ │ │ └── ru.js │ │ │ │ │ ├── logo.i18n.js │ │ │ │ │ └── logo.js │ │ │ │ └── page/ │ │ │ │ ├── __js/ │ │ │ │ │ ├── page__js.bemhtml.js │ │ │ │ │ └── page__js.bh.js │ │ │ │ └── page.i18n/ │ │ │ │ ├── en.js │ │ │ │ └── ru.js │ │ │ └── simple.bemjson.js │ │ └── i18n.tmpl-specs/ │ │ ├── 10-simple.bemjson.js │ │ ├── 10-simple.html │ │ └── blocks/ │ │ └── greeting-card/ │ │ ├── greeting-card.bemhtml.js │ │ ├── greeting-card.bh.js │ │ └── greeting-card.deps.js │ ├── identify/ │ │ ├── identify.en.md │ │ ├── identify.ru.md │ │ ├── identify.spec.js │ │ └── identify.vanilla.js │ ├── idle/ │ │ ├── _start/ │ │ │ └── idle_start_auto.js │ │ ├── idle.deps.js │ │ ├── idle.en.md │ │ ├── idle.js │ │ └── idle.ru.md │ ├── inherit/ │ │ ├── inherit.en.md │ │ ├── inherit.ru.md │ │ ├── inherit.spec.js │ │ └── inherit.vanilla.js │ ├── jquery/ │ │ ├── __config/ │ │ │ ├── jquery__config.js │ │ │ └── jquery__config.ru.md │ │ ├── jquery.deps.js │ │ ├── jquery.en.md │ │ ├── jquery.js │ │ ├── jquery.ru.md │ │ └── jquery.ru.title.txt │ ├── keyboard/ │ │ ├── __codes/ │ │ │ └── keyboard__codes.js │ │ ├── keyboard.en.md │ │ └── keyboard.ru.md │ ├── loader/ │ │ ├── _type/ │ │ │ ├── loader_type_bundle.js │ │ │ ├── loader_type_js.js │ │ │ └── loader_type_js.spec.js │ │ ├── loader.en.md │ │ └── loader.ru.md │ ├── next-tick/ │ │ ├── next-tick.en.md │ │ ├── next-tick.ru.md │ │ ├── next-tick.spec.js │ │ └── next-tick.vanilla.js │ ├── objects/ │ │ ├── objects.en.md │ │ ├── objects.ru.md │ │ ├── objects.spec.js │ │ └── objects.vanilla.js │ ├── page/ │ │ ├── __css/ │ │ │ ├── page__css.bemhtml.js │ │ │ └── page__css.bh.js │ │ ├── __js/ │ │ │ ├── page__js.bemhtml.js │ │ │ └── page__js.bh.js │ │ ├── page.bemhtml.js │ │ ├── page.bh.js │ │ ├── page.deps.js │ │ ├── page.en.md │ │ ├── page.en.title.txt │ │ ├── page.examples/ │ │ │ ├── .bem/ │ │ │ │ └── level.js │ │ │ ├── 10-simple.bemjson.js │ │ │ ├── 10-simple.ru.title.txt │ │ │ ├── 10-simple.ru.wiki │ │ │ ├── 20-doctype.bemjson.js │ │ │ └── 20-doctype.ru.title.txt │ │ ├── page.ru.md │ │ ├── page.ru.title.txt │ │ └── page.tmpl-specs/ │ │ ├── 00-empty.bemjson.js │ │ ├── 00-empty.html │ │ ├── 10-simple.bemjson.js │ │ ├── 10-simple.html │ │ ├── 20-style.bemjson.js │ │ ├── 20-style.html │ │ ├── 25-styles.bemjson.js │ │ ├── 25-styles.html │ │ ├── 30-scripts.bemjson.js │ │ ├── 30-scripts.html │ │ ├── 40-nonce.bemjson.js │ │ ├── 40-nonce.html │ │ ├── 60-x-ua-compatible.bemjson.js │ │ ├── 60-x-ua-compatible.html │ │ ├── 70-lang.bemjson.js │ │ └── 70-lang.html │ ├── strings/ │ │ ├── __escape/ │ │ │ ├── strings__escape.spec.js │ │ │ └── strings__escape.vanilla.js │ │ ├── strings.en.md │ │ └── strings.ru.md │ ├── tick/ │ │ ├── _start/ │ │ │ └── tick_start_auto.vanilla.js │ │ ├── tick.deps.js │ │ ├── tick.en.md │ │ ├── tick.ru.md │ │ ├── tick.spec.js │ │ └── tick.vanilla.js │ ├── ua/ │ │ ├── __svg/ │ │ │ ├── ua__svg.bemhtml.js │ │ │ ├── ua__svg.bh.js │ │ │ ├── ua__svg.deps.js │ │ │ ├── ua__svg.en.title.txt │ │ │ ├── ua__svg.ru.title.txt │ │ │ └── ua__svg.tmpl-specs/ │ │ │ ├── 00-simple.bemjson.js │ │ │ └── 00-simple.html │ │ ├── ua.bemhtml.js │ │ ├── ua.bh.js │ │ ├── ua.en.md │ │ ├── ua.en.title.txt │ │ ├── ua.ru.md │ │ ├── ua.ru.title.txt │ │ └── ua.tmpl-specs/ │ │ ├── 00-simple.bemjson.js │ │ └── 00-simple.html │ └── uri/ │ ├── __querystring/ │ │ ├── uri__querystring.deps.js │ │ ├── uri__querystring.spec.js │ │ └── uri__querystring.vanilla.js │ ├── uri.en.md │ ├── uri.ru.md │ ├── uri.spec.js │ └── uri.vanilla.js ├── common.bundles/ │ └── index/ │ ├── blocks/ │ │ └── square/ │ │ ├── _color/ │ │ │ └── square_color_green.css │ │ ├── square.css │ │ ├── square.deps.js │ │ └── square.js │ └── index.bemjson.js ├── common.docs/ │ ├── bemjson/ │ │ ├── bemjson.en.md │ │ └── bemjson.ru.md │ └── i-bem-js/ │ ├── i-bem-js-collections.en.md │ ├── i-bem-js-collections.ru.md │ ├── i-bem-js-common.en.md │ ├── i-bem-js-common.ru.md │ ├── i-bem-js-context.en.md │ ├── i-bem-js-context.ru.md │ ├── i-bem-js-decl.en.md │ ├── i-bem-js-decl.ru.md │ ├── i-bem-js-dom.en.md │ ├── i-bem-js-dom.ru.md │ ├── i-bem-js-events.en.md │ ├── i-bem-js-events.ru.md │ ├── i-bem-js-extras.en.md │ ├── i-bem-js-extras.ru.md │ ├── i-bem-js-html-binding.en.md │ ├── i-bem-js-html-binding.ru.md │ ├── i-bem-js-init.en.md │ ├── i-bem-js-init.ru.md │ ├── i-bem-js-interact.en.md │ ├── i-bem-js-interact.ru.md │ ├── i-bem-js-params.en.md │ ├── i-bem-js-params.ru.md │ ├── i-bem-js-states.en.md │ ├── i-bem-js-states.ru.md │ ├── i-bem-js.en.md │ └── i-bem-js.ru.md ├── desktop.blocks/ │ ├── jquery/ │ │ ├── __config/ │ │ │ ├── jquery__config.deps.js │ │ │ └── jquery__config.js │ │ └── __event/ │ │ └── _type/ │ │ ├── jquery__event_type_winresize.deps.js │ │ └── jquery__event_type_winresize.js │ ├── page/ │ │ ├── __conditional-comment/ │ │ │ ├── page__conditional-comment.bemhtml.js │ │ │ ├── page__conditional-comment.bh.js │ │ │ └── page__conditional-comment.ru.md │ │ ├── page.deps.js │ │ ├── page.examples/ │ │ │ ├── .bem/ │ │ │ │ └── level.js │ │ │ ├── 40-es5-shims.bemjson.js │ │ │ └── 40-es5-shims.ru.title.txt │ │ ├── page.ru.md │ │ └── page.tmpl-specs/ │ │ ├── 50-conditions.bemjson.js │ │ ├── 50-conditions.html │ │ ├── 60-conditional-comments.bemjson.js │ │ ├── 60-conditional-comments.html │ │ ├── 70-custom-x-ua-compatible.bemjson.js │ │ └── 70-custom-x-ua-compatible.html │ └── ua/ │ ├── ua.js │ └── ua.ru.md ├── eslint.config.js ├── jsdoc.config.json ├── package.json ├── playwright.config.js ├── test/ │ ├── browser/ │ │ ├── bemhtml-shim.js │ │ ├── entry.js │ │ ├── index.html │ │ └── modules-shim.js │ ├── browser.spec.js │ └── dist/ │ ├── assets/ │ │ └── test.html │ ├── build-fixtures.js │ ├── config.js │ └── fixtures/ │ ├── chai.js │ ├── desktop.html │ ├── mocha.css │ ├── mocha.js │ ├── sinon-chai.js │ ├── sinon.js │ └── touch.html └── touch.blocks/ ├── page/ │ ├── __icon/ │ │ ├── page__icon.bemhtml.js │ │ └── page__icon.bh.js │ ├── page.bemhtml.js │ ├── page.bh.js │ ├── page.deps.js │ ├── page.ru.md │ └── page.tmpl-specs/ │ ├── 00-empty.html │ ├── 10-simple.html │ ├── 20-style.html │ ├── 25-styles.html │ ├── 30-scripts.html │ ├── 40-nonce.html │ ├── 60-x-ua-compatible.html │ ├── 70-lang.html │ ├── 70-zoom.bemjson.js │ └── 70-zoom.html └── ua/ ├── __dom/ │ ├── ua__dom.deps.js │ ├── ua__dom.js │ └── ua__dom.ru.md ├── ua.bemhtml.js ├── ua.bh.js ├── ua.deps.js ├── ua.js └── ua.ru.md