From 084c823b13a6b59d46752d3d9acdb49b8fc3f248 Mon Sep 17 00:00:00 2001 From: MaxOvs Date: Mon, 26 Dec 2022 20:02:35 +0300 Subject: [PATCH 01/11] Added nativeSelectMode and Meta-data --- src/cg-select.js | 37 ++++++++++++++++++++++++- src/main.scss | 7 +++-- src/page/index.html | 54 +++++++++++++++++++++++++++++++++++++ src/page/index.js | 27 +++++++++++++++++++ src/style/nativeSelect.scss | 40 +++++++++++++++++---------- 5 files changed, 148 insertions(+), 17 deletions(-) diff --git a/src/cg-select.js b/src/cg-select.js index f1ffe59..9df2170 100644 --- a/src/cg-select.js +++ b/src/cg-select.js @@ -396,7 +396,7 @@ export class DropDown { * @description Рендер елементов в селекте. */ #render(select) { - const { styles, multiselect, searchMode, multiselectTag, darkTheme, language } = this.#options; + const { styles, multiselect, searchMode, multiselectTag, darkTheme, language, nativeSelectMode } = this.#options; const random = Math.random().toString(36).substring(2, 10); if (select || (select && styles)) { @@ -483,6 +483,10 @@ export class DropDown { this.#checkTheme(); } + if(nativeSelectMode === true){ + this.#SelectMode(nativeSelectMode); + } + this.#list = this.#element.querySelector('.list'); this.#caret = this.#element.querySelector('.caret'); @@ -835,4 +839,35 @@ export class DropDown { } }); } + + /** + * Приватный метод экземпляра класса DropDown + * @protected + * @param {boolean} nativeSelectMode + * @description Изменяет отображение селекта на мобильных устройствах + * @method #SelectMode + */ + #SelectMode(nativeSelectMode){ + let win = window.outerWidth; + + if(nativeSelectMode === true){ + const select = this.#element.querySelector('.cg-select'); + const list = this.#element.querySelector('.list'); + const nativeSelect = this.#element.querySelector('.nativeSelect'); + + + // if(win < 576){ + + + // } else if( win > 576){ + // select.classList.remove('displayHide'); + // list.classList.remove('displayHide'); + // nativeSelect.classList.remove('nativeSelectActive'); + // nativeSelect.classList.add('displayHide'); + // } + } else{ + return + } + + } } diff --git a/src/main.scss b/src/main.scss index 5ff4e87..5d0f998 100644 --- a/src/main.scss +++ b/src/main.scss @@ -258,8 +258,11 @@ input[type='checkbox'] { .label { color: white; } + //-------Behavior-------- + .active { + text-align: start; background: #8282822c; } @@ -270,7 +273,7 @@ input[type='checkbox'] { -ms-transition: 0.5s; -o-transition: 0.5s; - display: block; + display: block !important; opacity: 1; &_none { @@ -289,7 +292,7 @@ input[type='checkbox'] { } .displayHide { - display: none; + display: none !important; } /*320px - 576px*/ diff --git a/src/page/index.html b/src/page/index.html index fe5a440..a294766 100644 --- a/src/page/index.html +++ b/src/page/index.html @@ -4,6 +4,15 @@ + + + + + + Cg-Select @@ -66,6 +75,51 @@ +
+

Дефолтный селект с функцией nativeSelectMode

+ +
+

+ *При мобильном разрешении появляеться нативный селект. +

+
+ +
+ + + + + +
+              const dropdown = new DropDown({
+                selector: '.cg-dropdown_one', 
+                placeholder: 'Выберите авто', 
+                nativeSelectMode: true,
+                items: [
+                  'BMW',
+                  {
+                    id: '213sade',
+                    title: 'Opel',
+                    value: 1,
+                  },
+                  'Mersedes', 
+                  'MAN',  
+                  'Ferari', 
+                ],
+                styles: {
+                  head: {
+                    width: '830px', 
+                  },
+                  list: {
+                    width: '824px', 
+                  },
+                },
+              });
+            
+
+
+
+

Селект с данными с URL

diff --git a/src/page/index.js b/src/page/index.js index c1a5fc6..8bba396 100644 --- a/src/page/index.js +++ b/src/page/index.js @@ -34,6 +34,33 @@ const dropdown = new DropDown({ // dropdown.addLenguage(ger); +const dropdownNativeSelect = new DropDown({ + selector: '.cg-dropdown_selectNative', + placeholder: 'Выберите авто', + nativeSelectMode: true, + items: [ + 'BMW', + { + id: '213sade', + title: 'Opel', + value: 1, + }, + 'Mersedes', + 'MAN', + 'Ferari', + 'Kamaz', + 'Ural' + ], + styles: { + head: { + width: '830px', + }, + list: { + width: '824px', + }, + }, +}); + // ------------------------------URL-------------------- const dropdown3 = new DropDown({ selector: '.cg-dropdown_three', diff --git a/src/style/nativeSelect.scss b/src/style/nativeSelect.scss index c634533..98f9672 100644 --- a/src/style/nativeSelect.scss +++ b/src/style/nativeSelect.scss @@ -18,19 +18,31 @@ } } -// @media (max-width: 576px) { -// .nativeSelect { -// display: block; -// min-width: 235px; -// height: 50px; +.nativeSelectActive { + display: block; +} -// border: none; -// border-radius: 10px; -// } +@media (max-width: 12450px) { + .nativeSelect { + display: none; + } -// select[multiple='multiple'] { -// color: black; -// background-color: white; -// border-radius: 0; -// } -// } + // .cg-select { + // display: flex !important; + // } +} + +@media (max-width: 576px) { + .nativeSelect { + min-width: 235px; + height: 50px; + border: none; + border-radius: 10px; + } + + select[multiple='multiple'] { + color: black; + background-color: white; + border-radius: 0; + } +} From a166a58d5d50983b98e703580a311163791309e8 Mon Sep 17 00:00:00 2001 From: MaxOvs Date: Mon, 26 Dec 2022 21:22:55 +0300 Subject: [PATCH 02/11] Fix methodts in select --- README.md | 14 +++++++------- package.json | 2 +- src/cg-select.js | 21 +++++++++++---------- src/main.scss | 2 +- src/style/nativeSelect.scss | 14 ++++---------- 5 files changed, 24 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 87ab5ae..1670887 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # CG-SELECT -## version ~ 0.1.14 +## version ~ 0.1.16 Этот компонент позволяет создать кастомный селект. Он предлагает более гибкую настройку и использование селекта. Доступна кастомизация, мультивыбор и живой поиск по елементам. @@ -45,8 +45,8 @@ npm i cg-select ### Пример создния обычного селекта ```javascript -import {DropDown} from 'cg-select/src/cg-select'; -import 'cg-select/src/main.scss' +import { DropDown } from 'cg-select/src/cg-select'; +import 'cg-select/src/main.scss'; const dropdown = new DropDown({ selector: '.cg-dropdown_selector', @@ -88,10 +88,10 @@ const dropdown = new DropDown({ ## Compatibility -Совместимость с приложениями | JS | React | Angular | Vue | -| -------------------------- | :--: | :-----: | :-----: | :--: | -| CG-SELECT | ![image](https://github.com/apuc/cg-select/blob/main/src/images/yes.png) | ![image](https://github.com/apuc/cg-select/blob/main/src/images/yes.png) ![image](https://github.com/apuc/cg-select/blob/main/src/images/no.png) | ![image](https://github.com/apuc/cg-select/blob/main/src/images/no.png) | ![image](https://github.com/apuc/cg-select/blob/main/src/images/no.png)| -| Комментарий | Протестирован в Js приложениях и работает успешно.|Работает только с костылем в виде `setTimeout()` | тесты не проведены| тесты не проведены | +| Совместимость с приложениями | JS | React | Angular | Vue | +| ---------------------------- | :----------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :---------------------------------------------------------------------: | +| CG-SELECT | ![image](https://github.com/apuc/cg-select/blob/main/src/images/yes.png) | ![image](https://github.com/apuc/cg-select/blob/main/src/images/yes.png) ![image](https://github.com/apuc/cg-select/blob/main/src/images/no.png) | ![image](https://github.com/apuc/cg-select/blob/main/src/images/no.png) | ![image](https://github.com/apuc/cg-select/blob/main/src/images/no.png) | +| Комментарий | Протестирован в Js приложениях и работает успешно. | Работает только с костылем в виде `setTimeout()` | тесты не проведены | тесты не проведены | ## History diff --git a/package.json b/package.json index 78e8c21..9a0bc0d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cg-select", - "version": "0.1.15", + "version": "0.1.16", "description": "Feature rich Select control for React/JS with multiselect, autocomplete and styling", "author": { "name": "CraftGroup", diff --git a/src/cg-select.js b/src/cg-select.js index 9df2170..c38ade4 100644 --- a/src/cg-select.js +++ b/src/cg-select.js @@ -853,18 +853,19 @@ export class DropDown { if(nativeSelectMode === true){ const select = this.#element.querySelector('.cg-select'); const list = this.#element.querySelector('.list'); - const nativeSelect = this.#element.querySelector('.nativeSelect'); + const nativeSelect = this.#element.querySelector('.nativeSelect') - - // if(win < 576){ - + if(win < 576){ + select.classList.add('displayHide'); + list.classList.add('displayHide'); + nativeSelect.classList.add('nativeSelectActive'); - // } else if( win > 576){ - // select.classList.remove('displayHide'); - // list.classList.remove('displayHide'); - // nativeSelect.classList.remove('nativeSelectActive'); - // nativeSelect.classList.add('displayHide'); - // } + } else if( win > 576){ + select.classList.remove('displayHide'); + list.classList.remove('displayHide'); + nativeSelect.classList.remove('nativeSelectActive'); + nativeSelect.classList.add('displayHide'); + } } else{ return } diff --git a/src/main.scss b/src/main.scss index 5d0f998..6144c11 100644 --- a/src/main.scss +++ b/src/main.scss @@ -292,7 +292,7 @@ input[type='checkbox'] { } .displayHide { - display: none !important; + display: none; } /*320px - 576px*/ diff --git a/src/style/nativeSelect.scss b/src/style/nativeSelect.scss index 98f9672..596572c 100644 --- a/src/style/nativeSelect.scss +++ b/src/style/nativeSelect.scss @@ -20,16 +20,10 @@ .nativeSelectActive { display: block; -} - -@media (max-width: 12450px) { - .nativeSelect { - display: none; - } - - // .cg-select { - // display: flex !important; - // } + min-width: 235px; + height: 50px; + border: none; + border-radius: 10px; } @media (max-width: 576px) { From d8a6e846b6ae1107bf4a27bad86d048195a5d7ce Mon Sep 17 00:00:00 2001 From: MaxOvs Date: Mon, 26 Dec 2022 21:23:18 +0300 Subject: [PATCH 03/11] Fix ChengeLog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7e782f..3d2f3ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,3 +12,7 @@ - Изменеия в расположении файлов scss. - Исправлено влияние стилей селекта на JS приложение. + +### ..... - обновление 0.1.1- + +- Добавленна возможность менять отображения селекта на телефонах (нативный/cg-select) From 2d1f482a7ec6ae430c76c79a3acdeb303857198d Mon Sep 17 00:00:00 2001 From: MaxOvs Date: Tue, 27 Dec 2022 20:00:45 +0300 Subject: [PATCH 04/11] Fixed bugs and added methods in DisplayMode --- CHANGELOG.md | 5 ++-- src/cg-select.js | 61 ++++++++++++++++++++++++++++++++++---- src/main.scss | 19 ++++-------- src/page/example.js | 16 ++++++++++ src/page/example.scss | 20 +++++++++++-- src/page/index.html | 54 +++++++++++++++++++++++++++++---- src/page/index.js | 34 ++++++++++++++++----- src/style/displayMode.scss | 24 +++++++++++++++ 8 files changed, 196 insertions(+), 37 deletions(-) create mode 100644 src/style/displayMode.scss diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d2f3ce..f1436f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ - Изменеия в расположении файлов scss. - Исправлено влияние стилей селекта на JS приложение. -### ..... - обновление 0.1.1- +### ..... - обновление 0.1.16 -- Добавленна возможность менять отображения селекта на телефонах (нативный/cg-select) +- Добавленна возможность менять отображения селекта на телефонах (нативный/cg-select). +- Добавленна возможность менять отображения листа с выбором (обычный/модальное окно) diff --git a/src/cg-select.js b/src/cg-select.js index c38ade4..2c2336b 100644 --- a/src/cg-select.js +++ b/src/cg-select.js @@ -95,6 +95,8 @@ export class DropDown { darkTheme: true/false, searchMode: true/false, closeOnSelect: true/false, + nativeSelectMode: true/false, + listDisplayMode: true/false, language: 'ru/en', styles: { head: { @@ -237,11 +239,18 @@ export class DropDown { * @method buttonControl */ buttonControl(button, method) { + const {listDisplayMode} = this.#options; + + + if(listDisplayMode === true){ + return + } + this.btn = button; button.addEventListener('click', () => { - if (method === 'open') { + if (method.toLowerCase() === 'open') { this.#open(true); - } else if (method === 'close') { + } else if (method.toLowerCase() === 'close') { this.#close(); } else { return; @@ -396,7 +405,13 @@ export class DropDown { * @description Рендер елементов в селекте. */ #render(select) { - const { styles, multiselect, searchMode, multiselectTag, darkTheme, language, nativeSelectMode } = this.#options; + const { + styles, multiselect, + searchMode, multiselectTag, + darkTheme, language, + nativeSelectMode, listDisplayMode + } = this.#options; + const random = Math.random().toString(36).substring(2, 10); if (select || (select && styles)) { @@ -487,9 +502,15 @@ export class DropDown { this.#SelectMode(nativeSelectMode); } + + this.#list = this.#element.querySelector('.list'); this.#caret = this.#element.querySelector('.caret'); + if(listDisplayMode === true){ + this.#DisplayMode(listDisplayMode) + } + this.#addOptionsBehaviour(); } @@ -843,7 +864,7 @@ export class DropDown { /** * Приватный метод экземпляра класса DropDown * @protected - * @param {boolean} nativeSelectMode + * @param {boolean} nativeSelectMode параметр отвечающий за добавления нативного селекта. * @description Изменяет отображение селекта на мобильных устройствах * @method #SelectMode */ @@ -858,8 +879,7 @@ export class DropDown { if(win < 576){ select.classList.add('displayHide'); list.classList.add('displayHide'); - nativeSelect.classList.add('nativeSelectActive'); - + nativeSelect.classList.add('nativeSelectActive'); } else if( win > 576){ select.classList.remove('displayHide'); list.classList.remove('displayHide'); @@ -871,4 +891,33 @@ export class DropDown { } } + + /** + * Приватный метод экземпляра класса DropDown + * @protected + * @param {boolean} listDisplayMode параметр отвечающий за отображение выбора в виде модального окна. + * @description Изменяет отображение листа с выбором в виде модального окна. + * @method #DisplayMode + * @returns + */ + #DisplayMode(listDisplayMode){ + if(listDisplayMode === true){ + const modal = document.createElement('div'); + const body = document.querySelector('body') + const list = this.#list; + + modal.appendChild(list); + this.#element.appendChild(modal); + + this.#element.addEventListener('click', () => { + modal.classList.toggle('modal'); + list.classList.toggle('listModal'); + body.classList.toggle('overflowHide') + }); + + } else{ + return + } + + } } diff --git a/src/main.scss b/src/main.scss index 6144c11..6a42d86 100644 --- a/src/main.scss +++ b/src/main.scss @@ -2,6 +2,7 @@ @import './style/scrollbar.scss'; @import './style/svgStyle.scss'; @import './style/whiteTheme.scss'; +@import './style/displayMode.scss'; // ----Layout---- .cg-dropdown { @@ -292,7 +293,7 @@ input[type='checkbox'] { } .displayHide { - display: none; + display: none !important; } /*320px - 576px*/ @@ -302,23 +303,13 @@ input[type='checkbox'] { padding: 0; } - .container { - width: 90%; - - .header { - h1 { - font-size: 32px; - } - } - } - .list { width: 98% !important; } - // .open { - // display: none !important; - // } + .listModal { + width: 88% !important; + } .cg-select { width: 100% !important; diff --git a/src/page/example.js b/src/page/example.js index 98c3da0..f807677 100644 --- a/src/page/example.js +++ b/src/page/example.js @@ -13,6 +13,14 @@ const codeFourth = document.getElementById('codeFourth'); const fifthBtn = document.getElementById('fifth'); const codeFifth = document.getElementById('codeFifth'); +const six = document.getElementById('six') +const codeSix = document.getElementById('codeSix'); + + +const Native = document.getElementById('Native') +const codeNative = document.getElementById('codeNative') + + firstBtn.addEventListener('click', () => { codeFirst.classList.toggle("active") }) @@ -32,3 +40,11 @@ fourthBtn.addEventListener('click', () => { fifthBtn.addEventListener('click', () => { codeFifth.classList.toggle("active") }) + +six.addEventListener('click', () => { + codeSix.classList.toggle("active") +}) + +Native.addEventListener('click', () => { + codeNative.classList.toggle("active") +}) \ No newline at end of file diff --git a/src/page/example.scss b/src/page/example.scss index b196547..b1bd873 100644 --- a/src/page/example.scss +++ b/src/page/example.scss @@ -87,7 +87,6 @@ .content { margin-top: 15px; - // background-color: #6b6d76; border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; @@ -113,7 +112,6 @@ } &_submit { - //background-color: #2a2f3b; width: 200px; height: 35px; border-radius: 10px; @@ -194,3 +192,21 @@ pre { .active { display: block; } + +@media (max-width: 576px) { + .container { + width: 95%; + } + + .header { + margin-top: 15px; + h1 { + font-size: 32px; + } + } + + .example-select_title { + font-size: 14px; + height: 40px; + } +} diff --git a/src/page/index.html b/src/page/index.html index a294766..1f010d6 100644 --- a/src/page/index.html +++ b/src/page/index.html @@ -79,17 +79,15 @@

Дефолтный селект с функцией nativeSelectMode

-

+

*При мобильном разрешении появляеться нативный селект.

- - - - + +
               const dropdown = new DropDown({
                 selector: '.cg-dropdown_one', 
@@ -120,6 +118,50 @@
         
       
+
+

Дефолтный селект с функцией listDisplayMode

+ +
+

+ *При использовании данного метода лист с выбором появляеться как модальное окно. +

+
+ +
+ + + + +
+              const dropdown = new DropDown({
+                selector: '.cg-dropdown_listDisplayMode', 
+                placeholder: 'Выберите авто', 
+                listDisplayMode: true,
+                items: [
+                  'BMW',
+                  {
+                    id: '213sade',
+                    title: 'Opel',
+                    value: 1,
+                  },
+                  'Mersedes', 
+                  'MAN',  
+                  'Ferari', 
+                ],
+                styles: {
+                  head: {
+                    width: '830px', 
+                  },
+                  list: {
+                    width: '824px', 
+                  },
+                },
+              });
+            
+
+
+
+

Селект с данными с URL

@@ -272,7 +314,7 @@

Функция disabled

- +
diff --git a/src/page/index.js b/src/page/index.js index 8bba396..97649f8 100644 --- a/src/page/index.js +++ b/src/page/index.js @@ -27,13 +27,7 @@ const dropdown = new DropDown({ }, }); -// const ger = { -// placeholder: 'searcH????', -// textInListSearch: 'None', -// }; - -// dropdown.addLenguage(ger); - +// ------------------------------NativeSelect----------------------- const dropdownNativeSelect = new DropDown({ selector: '.cg-dropdown_selectNative', placeholder: 'Выберите авто', @@ -61,6 +55,32 @@ const dropdownNativeSelect = new DropDown({ }, }); +// ------------------------------listDisplayMode-------------------- +const dropdownlistDisplayMode = new DropDown({ + selector: '.cg-dropdown_listDisplayMode', + placeholder: 'Выберите авто', + listDisplayMode: true, + items: [ + 'BMW', + { + id: '213sade', + title: 'Opel', + value: 1, + }, + 'Mersedes', + 'MAN', + 'Ferari', + ], + styles: { + head: { + width: '830px', + }, + list: { + width: '824px', + }, + }, +}); + // ------------------------------URL-------------------- const dropdown3 = new DropDown({ selector: '.cg-dropdown_three', diff --git a/src/style/displayMode.scss b/src/style/displayMode.scss new file mode 100644 index 0000000..4053578 --- /dev/null +++ b/src/style/displayMode.scss @@ -0,0 +1,24 @@ +.modal { + display: flex; + justify-content: center; + background-color: rgba(0, 0, 0, 0.45); + bottom: 0; + left: 0; + position: fixed; + right: 0; + top: 0; + z-index: 9999; + + &_active { + display: flex; + } +} + +.listModal { + position: fixed !important; + top: 150px; +} + +.overflowHide { + overflow: hidden; +} From 43a92562589f53cab5d7cb97157be40fcab0a2a0 Mon Sep 17 00:00:00 2001 From: MaxOvs Date: Wed, 28 Dec 2022 20:33:21 +0300 Subject: [PATCH 05/11] Fixed package.json --- .gitignore | 1 + CHANGELOG.md | 2 +- README.md | 2 +- documentation/index.html | 2 +- index.js | 4 + package-lock.json | 64 ++----- package.json | 7 +- src/index.js | 3 - src/page/example.js | 50 ------ src/page/example.scss | 212 ----------------------- src/page/index.html | 359 --------------------------------------- src/page/index.js | 232 ------------------------- 12 files changed, 22 insertions(+), 916 deletions(-) create mode 100644 index.js delete mode 100644 src/index.js delete mode 100644 src/page/example.js delete mode 100644 src/page/example.scss delete mode 100644 src/page/index.html delete mode 100644 src/page/index.js diff --git a/.gitignore b/.gitignore index 0e1fa41..4362bc4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules dist .parcel-cache +example diff --git a/CHANGELOG.md b/CHANGELOG.md index f1436f5..4ea242d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ - Изменеия в расположении файлов scss. - Исправлено влияние стилей селекта на JS приложение. -### ..... - обновление 0.1.16 +### ..... - обновление 0.1.17 - Добавленна возможность менять отображения селекта на телефонах (нативный/cg-select). - Добавленна возможность менять отображения листа с выбором (обычный/модальное окно) diff --git a/README.md b/README.md index 1670887..3949fa3 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ const dropdown = new DropDown({ | Совместимость с приложениями | JS | React | Angular | Vue | | ---------------------------- | :----------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------------------------: | :---------------------------------------------------------------------: | :---------------------------------------------------------------------: | | CG-SELECT | ![image](https://github.com/apuc/cg-select/blob/main/src/images/yes.png) | ![image](https://github.com/apuc/cg-select/blob/main/src/images/yes.png) ![image](https://github.com/apuc/cg-select/blob/main/src/images/no.png) | ![image](https://github.com/apuc/cg-select/blob/main/src/images/no.png) | ![image](https://github.com/apuc/cg-select/blob/main/src/images/no.png) | -| Комментарий | Протестирован в Js приложениях и работает успешно. | Работает только с костылем в виде `setTimeout()` | тесты не проведены | тесты не проведены | +| Комментарий | Протестирован в Js приложениях и работает успешно. | Работает только с костылем в виде `setTimeout()` | пока недоступно | тесты не проведены | ## History diff --git a/documentation/index.html b/documentation/index.html index 6294523..594dcee 100644 --- a/documentation/index.html +++ b/documentation/index.html @@ -19,7 +19,7 @@

CG-SELECT

- -- Вернуться к примеру -- + -- Вернуться к примеру --

Этот компонент предлагает более гибкую настройку и использование селекта. Так же реализованны методы взаимодействия с селектом. diff --git a/index.js b/index.js new file mode 100644 index 0000000..5f6d2ca --- /dev/null +++ b/index.js @@ -0,0 +1,4 @@ +import { DropDown } from './src/cg-select'; + + +export default DropDown; diff --git a/package-lock.json b/package-lock.json index 0b1c114..1e9db79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cg-select", - "version": "0.1.14", + "version": "0.1.16", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cg-select", - "version": "0.1.14", + "version": "0.1.16", "license": "ISC", "dependencies": { "@parcel/optimizer-css": "^2.8.0", @@ -368,7 +368,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.7.0.tgz", "integrity": "sha512-JlXNoZXcWzLKdDlfeF3dIj5Vtel5T9vtdBN72PJ+cjC4qNHk4Uwvc5sfOBELuibGN0bVu2bwY9nUgSwCiB1iIA==", - "dev": true, "dependencies": { "@parcel/fs": "2.7.0", "@parcel/logger": "2.7.0", @@ -390,7 +389,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.7.0.tgz", "integrity": "sha512-UTKx0jejJmmO1dwTHSJuRgrO8N6PMlkxRT6sew8N6NC3Bgv6pu0EbO+RtlWt/jCvzcdLOPdIoTzj4MMZvgcMYg==", - "dev": true, "dependencies": { "chalk": "^4.1.0" }, @@ -491,7 +489,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.7.0.tgz", "integrity": "sha512-7yKZUdh314Q/kU/9+27ZYTfcnXS6VYHuG+iiUlIohnvUUybxLqVJhdMU9Q+z2QcPka1IdJWz4K4Xx0y6/4goyg==", - "dev": true, "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", "@parcel/cache": "2.7.0", @@ -546,7 +543,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.7.0.tgz", "integrity": "sha512-pdq/cTwVoL0n8yuDCRXFRSQHVWdmmIXPt3R3iT4KtYDYvOrMT2dLPT79IMqQkhYPANW8GuL15n/WxRngfRdkug==", - "dev": true, "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", "nullthrows": "^1.1.1" @@ -563,7 +559,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.7.0.tgz", "integrity": "sha512-kQDwMKgZ1U4M/G17qeDYF6bW5kybluN6ajYPc7mZcrWg+trEI/oXi81GMFaMX0BSUhwhbiN5+/Vb2wiG/Sn6ig==", - "dev": true, "engines": { "node": ">= 12.0.0" }, @@ -576,7 +571,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.7.0.tgz", "integrity": "sha512-PU5fo4Hh8y03LZgemgVREttc0wyHQUNmsJCybxTB7EjJie2CqJRumo+DFppArlvdchLwJdc9em03yQV/GNWrEg==", - "dev": true, "dependencies": { "@parcel/fs-search": "2.7.0", "@parcel/types": "2.7.0", @@ -599,7 +593,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.7.0.tgz", "integrity": "sha512-K1Hv25bnRpwQVA15RvcRuB8ZhfclnCHA8N8L6w7Ul1ncSJDxCIkIAc5hAubYNNYW3kWjCC2SOaEgFKnbvMllEQ==", - "dev": true, "dependencies": { "detect-libc": "^1.0.3" }, @@ -615,7 +608,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.7.0.tgz", "integrity": "sha512-Q6E94GS6q45PtsZh+m+gvFRp/N1Qopxhu2sxjcWsGs5iBd6IWn2oYLWOH5iVzEjWuYpW2HkB08lH6J50O63uOA==", - "dev": true, "dependencies": { "@parcel/utils": "2.7.0", "nullthrows": "^1.1.1" @@ -632,7 +624,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.7.0.tgz", "integrity": "sha512-k6bSKnIlPJMPU3yjQzfgfvF9zuJZGOAlJgzpL4BbWvdbE8BTdjzLcFn0Ujrtud94EgIkiXd22sC2HpCUWoHGdA==", - "dev": true, "dependencies": { "detect-libc": "^1.0.3", "xxhash-wasm": "^0.4.2" @@ -649,7 +640,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.7.0.tgz", "integrity": "sha512-qjMY/bYo38+o+OiIrTRldU9CwL1E7J72t+xkTP8QIcUxLWz5LYR0YbynZUVulmBSfqsykjjxCy4a+8siVr+lPw==", - "dev": true, "dependencies": { "@parcel/diagnostic": "2.7.0", "@parcel/events": "2.7.0" @@ -666,7 +656,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.7.0.tgz", "integrity": "sha512-ipOX0D6FVZFEXeb/z8MnTMq2RQEIuaILY90olVIuHEFLHHfOPEn+RK3u13HA1ChF5/9E3cMD79tu6x9JL9Kqag==", - "dev": true, "dependencies": { "chalk": "^4.1.0" }, @@ -1071,7 +1060,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.7.0.tgz", "integrity": "sha512-wmfSX1mRrTi8MeA4KrnPk/x7zGUsILCQmTo6lA4gygzAxDbM1pGuyFN8/Kt0y0SFO2lbljARtD/4an5qdotH+Q==", - "dev": true, "dependencies": { "@parcel/diagnostic": "2.7.0", "@parcel/fs": "2.7.0", @@ -1197,7 +1185,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.7.0.tgz", "integrity": "sha512-qqgx+nnMn6/0lRc4lKbLGmhNtBiT93S2gFNB4Eb4Pfz/SxVYoW+fmml+KdfOSiZffWOAH5L6NwhyD7N8aSikzw==", - "dev": true, "dependencies": { "@parcel/types": "2.7.0" }, @@ -1621,7 +1608,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.7.0.tgz", "integrity": "sha512-+dhXVUnseTCpJvBTGMp0V6X13z6O/A/+CUtwEpMGZ8XSmZ4Gk44GvaTiBOp0bJpWG4fvCKp+UmC8PYbrDiiziw==", - "dev": true, "dependencies": { "@parcel/cache": "2.7.0", "@parcel/diagnostic": "2.7.0", @@ -1636,7 +1622,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.7.0.tgz", "integrity": "sha512-jNZ5bIGg1r1RDRKi562o4kuVwnz+XJ2Ie3b0Zwrqwvgfj6AbRFIKzDd+h85dWWmcDYzKUbHp11u6VJl1u8Vapg==", - "dev": true, "dependencies": { "@parcel/codeframe": "2.7.0", "@parcel/diagnostic": "2.7.0", @@ -1675,7 +1660,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.7.0.tgz", "integrity": "sha512-99VfaOX+89+RaoTSyH9ZQtkMBFZBFMvJmVJ/GeJT6QCd2wtKBStTHlaSnQOkLD/iRjJCNwV2xpZmm8YkTwV+hg==", - "dev": true, "dependencies": { "@parcel/diagnostic": "2.7.0", "@parcel/logger": "2.7.0", @@ -1722,8 +1706,7 @@ "node_modules/abortcontroller-polyfill": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz", - "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==", - "dev": true + "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==" }, "node_modules/acorn": { "version": "8.8.0", @@ -1800,7 +1783,6 @@ "version": "3.0.9", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dev": true, "dependencies": { "safe-buffer": "^5.0.1" } @@ -1952,7 +1934,6 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "dev": true, "engines": { "node": ">=0.8" } @@ -2140,7 +2121,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", - "dev": true, "engines": { "node": ">=6" } @@ -2148,8 +2128,7 @@ "node_modules/dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, "node_modules/electron-to-chromium": { "version": "1.4.251", @@ -3251,7 +3230,6 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true, "funding": [ { "type": "github", @@ -3765,7 +3743,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.7.0.tgz", "integrity": "sha512-JlXNoZXcWzLKdDlfeF3dIj5Vtel5T9vtdBN72PJ+cjC4qNHk4Uwvc5sfOBELuibGN0bVu2bwY9nUgSwCiB1iIA==", - "dev": true, "requires": { "@parcel/fs": "2.7.0", "@parcel/logger": "2.7.0", @@ -3777,7 +3754,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.7.0.tgz", "integrity": "sha512-UTKx0jejJmmO1dwTHSJuRgrO8N6PMlkxRT6sew8N6NC3Bgv6pu0EbO+RtlWt/jCvzcdLOPdIoTzj4MMZvgcMYg==", - "dev": true, "requires": { "chalk": "^4.1.0" } @@ -3850,7 +3826,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.7.0.tgz", "integrity": "sha512-7yKZUdh314Q/kU/9+27ZYTfcnXS6VYHuG+iiUlIohnvUUybxLqVJhdMU9Q+z2QcPka1IdJWz4K4Xx0y6/4goyg==", - "dev": true, "requires": { "@mischnic/json-sourcemap": "^0.1.0", "@parcel/cache": "2.7.0", @@ -3891,7 +3866,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.7.0.tgz", "integrity": "sha512-pdq/cTwVoL0n8yuDCRXFRSQHVWdmmIXPt3R3iT4KtYDYvOrMT2dLPT79IMqQkhYPANW8GuL15n/WxRngfRdkug==", - "dev": true, "requires": { "@mischnic/json-sourcemap": "^0.1.0", "nullthrows": "^1.1.1" @@ -3900,14 +3874,12 @@ "@parcel/events": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.7.0.tgz", - "integrity": "sha512-kQDwMKgZ1U4M/G17qeDYF6bW5kybluN6ajYPc7mZcrWg+trEI/oXi81GMFaMX0BSUhwhbiN5+/Vb2wiG/Sn6ig==", - "dev": true + "integrity": "sha512-kQDwMKgZ1U4M/G17qeDYF6bW5kybluN6ajYPc7mZcrWg+trEI/oXi81GMFaMX0BSUhwhbiN5+/Vb2wiG/Sn6ig==" }, "@parcel/fs": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.7.0.tgz", "integrity": "sha512-PU5fo4Hh8y03LZgemgVREttc0wyHQUNmsJCybxTB7EjJie2CqJRumo+DFppArlvdchLwJdc9em03yQV/GNWrEg==", - "dev": true, "requires": { "@parcel/fs-search": "2.7.0", "@parcel/types": "2.7.0", @@ -3920,7 +3892,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.7.0.tgz", "integrity": "sha512-K1Hv25bnRpwQVA15RvcRuB8ZhfclnCHA8N8L6w7Ul1ncSJDxCIkIAc5hAubYNNYW3kWjCC2SOaEgFKnbvMllEQ==", - "dev": true, "requires": { "detect-libc": "^1.0.3" } @@ -3929,7 +3900,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.7.0.tgz", "integrity": "sha512-Q6E94GS6q45PtsZh+m+gvFRp/N1Qopxhu2sxjcWsGs5iBd6IWn2oYLWOH5iVzEjWuYpW2HkB08lH6J50O63uOA==", - "dev": true, "requires": { "@parcel/utils": "2.7.0", "nullthrows": "^1.1.1" @@ -3939,7 +3909,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.7.0.tgz", "integrity": "sha512-k6bSKnIlPJMPU3yjQzfgfvF9zuJZGOAlJgzpL4BbWvdbE8BTdjzLcFn0Ujrtud94EgIkiXd22sC2HpCUWoHGdA==", - "dev": true, "requires": { "detect-libc": "^1.0.3", "xxhash-wasm": "^0.4.2" @@ -3949,7 +3918,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.7.0.tgz", "integrity": "sha512-qjMY/bYo38+o+OiIrTRldU9CwL1E7J72t+xkTP8QIcUxLWz5LYR0YbynZUVulmBSfqsykjjxCy4a+8siVr+lPw==", - "dev": true, "requires": { "@parcel/diagnostic": "2.7.0", "@parcel/events": "2.7.0" @@ -3959,7 +3927,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.7.0.tgz", "integrity": "sha512-ipOX0D6FVZFEXeb/z8MnTMq2RQEIuaILY90olVIuHEFLHHfOPEn+RK3u13HA1ChF5/9E3cMD79tu6x9JL9Kqag==", - "dev": true, "requires": { "chalk": "^4.1.0" } @@ -4201,7 +4168,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.7.0.tgz", "integrity": "sha512-wmfSX1mRrTi8MeA4KrnPk/x7zGUsILCQmTo6lA4gygzAxDbM1pGuyFN8/Kt0y0SFO2lbljARtD/4an5qdotH+Q==", - "dev": true, "requires": { "@parcel/diagnostic": "2.7.0", "@parcel/fs": "2.7.0", @@ -4277,7 +4243,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.7.0.tgz", "integrity": "sha512-qqgx+nnMn6/0lRc4lKbLGmhNtBiT93S2gFNB4Eb4Pfz/SxVYoW+fmml+KdfOSiZffWOAH5L6NwhyD7N8aSikzw==", - "dev": true, "requires": { "@parcel/types": "2.7.0" } @@ -4537,7 +4502,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.7.0.tgz", "integrity": "sha512-+dhXVUnseTCpJvBTGMp0V6X13z6O/A/+CUtwEpMGZ8XSmZ4Gk44GvaTiBOp0bJpWG4fvCKp+UmC8PYbrDiiziw==", - "dev": true, "requires": { "@parcel/cache": "2.7.0", "@parcel/diagnostic": "2.7.0", @@ -4552,7 +4516,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.7.0.tgz", "integrity": "sha512-jNZ5bIGg1r1RDRKi562o4kuVwnz+XJ2Ie3b0Zwrqwvgfj6AbRFIKzDd+h85dWWmcDYzKUbHp11u6VJl1u8Vapg==", - "dev": true, "requires": { "@parcel/codeframe": "2.7.0", "@parcel/diagnostic": "2.7.0", @@ -4576,7 +4539,6 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.7.0.tgz", "integrity": "sha512-99VfaOX+89+RaoTSyH9ZQtkMBFZBFMvJmVJ/GeJT6QCd2wtKBStTHlaSnQOkLD/iRjJCNwV2xpZmm8YkTwV+hg==", - "dev": true, "requires": { "@parcel/diagnostic": "2.7.0", "@parcel/logger": "2.7.0", @@ -4610,8 +4572,7 @@ "abortcontroller-polyfill": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz", - "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==", - "dev": true + "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==" }, "acorn": { "version": "8.8.0", @@ -4667,7 +4628,6 @@ "version": "3.0.9", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -4763,8 +4723,7 @@ "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "dev": true + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" }, "color-convert": { "version": "2.0.1", @@ -4899,14 +4858,12 @@ "dotenv": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", - "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", - "dev": true + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==" }, "dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", - "dev": true + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, "electron-to-chromium": { "version": "1.4.251", @@ -5630,8 +5587,7 @@ "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "sass": { "version": "1.54.9", diff --git a/package.json b/package.json index 9a0bc0d..60f648a 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,16 @@ { "name": "cg-select", - "version": "0.1.16", + "version": "0.1.17", "description": "Feature rich Select control for React/JS with multiselect, autocomplete and styling", "author": { "name": "CraftGroup", "url": "https://github.com/apuc/" }, "homepage": "https://cg-select.itguild.info", + "main": "dist/index.js", "scripts": { - "start": "parcel src/page/index.html -p 4500 --open ", - "build": "parcel build ./src/page/index.html", + "start": "parcel example/index.html -p 4500 --open ", + "build": "parcel build index.js", "deploy": "gh-pages -d dist", "predeploy": "npm run build" }, diff --git a/src/index.js b/src/index.js deleted file mode 100644 index e28803e..0000000 --- a/src/index.js +++ /dev/null @@ -1,3 +0,0 @@ -import { DropDown } from './cg-select'; - -export default DropDown; diff --git a/src/page/example.js b/src/page/example.js deleted file mode 100644 index f807677..0000000 --- a/src/page/example.js +++ /dev/null @@ -1,50 +0,0 @@ -const firstBtn = document.getElementById('first'); -const codeFirst = document.getElementById('codeFirst'); - -const secondBtn = document.getElementById('second'); -const codeSecond = document.getElementById('codeSecond'); - -const thirdBtn = document.getElementById('third'); -const codeThird = document.getElementById('codeThird'); - -const fourthBtn = document.getElementById('fourth'); -const codeFourth = document.getElementById('codeFourth'); - -const fifthBtn = document.getElementById('fifth'); -const codeFifth = document.getElementById('codeFifth'); - -const six = document.getElementById('six') -const codeSix = document.getElementById('codeSix'); - - -const Native = document.getElementById('Native') -const codeNative = document.getElementById('codeNative') - - -firstBtn.addEventListener('click', () => { - codeFirst.classList.toggle("active") -}) - -secondBtn.addEventListener('click', () => { - codeSecond.classList.toggle("active") -}) - -thirdBtn.addEventListener('click', () => { - codeThird.classList.toggle("active") -}) - -fourthBtn.addEventListener('click', () => { - codeFourth.classList.toggle("active") -}) - -fifthBtn.addEventListener('click', () => { - codeFifth.classList.toggle("active") -}) - -six.addEventListener('click', () => { - codeSix.classList.toggle("active") -}) - -Native.addEventListener('click', () => { - codeNative.classList.toggle("active") -}) \ No newline at end of file diff --git a/src/page/example.scss b/src/page/example.scss deleted file mode 100644 index b1bd873..0000000 --- a/src/page/example.scss +++ /dev/null @@ -1,212 +0,0 @@ -@import '/src/main.scss'; - -* { - font-size: 14px; - font-family: Arial, Helvetica, sans-serif; -} - -.body-example { - background: #000000c4; -} - -.container { - margin: 0 auto; - width: 900px; - - display: -webkit-box; - display: -ms-flexbox; - display: flex; - - -webkit-box-align: baseline; - -ms-flex-align: baseline; - align-items: baseline; - - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} - -.header { - width: 100%; - border-radius: 5px; - display: flex; - align-items: center; - flex-direction: column; - background-color: #2a2f3b; - margin-bottom: 8px; - - h1 { - font-size: 57px; - color: white; - font-family: 'Times New Roman', Times, serif; - margin: 40px 0 12px 0; - } - - &__logoBox { - display: flex; - flex-direction: row; - align-items: center; - justify-content: center; - } - - &__logo { - width: 13%; - height: 16%; - border: 1px solid #525252; - border-radius: 50%; - - margin: 22px 0 0 29px; - } - - .navlist { - display: flex; - justify-content: space-around; - margin: 15px 0 30px 0; - padding: 0; - width: 230px; - - li { - display: inline; - list-style: none; - text-decoration: none; - - a { - color: white; - text-decoration: none; - - &:hover { - text-decoration: underline; - } - } - } - } -} - -.content { - margin-top: 15px; - border-radius: 5px; - -webkit-border-radius: 5px; - -moz-border-radius: 5px; - -ms-border-radius: 5px; - -o-border-radius: 5px; -} - -.example-select { - width: 100%; - background-color: #5c5c5c; - border-radius: 5px; - margin: 15px 0 0 0; - - &_title { - height: 45px; - border-top-left-radius: 5px; - border-top-right-radius: 5px; - color: white; - padding: 20px 0 0 40px; - margin: 0 0 30px 0; - background-color: #2a2f3b; - font-size: 20px; - } - - &_submit { - width: 200px; - height: 35px; - border-radius: 10px; - border: none; - margin-top: 20px; - margin: 20px 15px; - cursor: pointer; - transition: 1s; - -webkit-transition: 1s; - -moz-transition: 1s; - -ms-transition: 1s; - -o-transition: 1s; - - &:hover { - background-color: #d7d7d7; - transition: 1s; - -webkit-transition: 1s; - -moz-transition: 1s; - -ms-transition: 1s; - -o-transition: 1s; - } - } - - .layout-select { - margin: 15px; - } -} - -code { - display: none; -} - -pre { - background: #1e1e1e; - margin: 15px; - padding: 15px; - color: #88d0f7; - border-radius: 15px; - font-size: 16px; - line-height: 20px; -} - -.code { - &__class, - &__var, - &__string, - &__keyword { - font-size: 16px; - line-height: 20px; - } - &__class { - color: #4ec9b0; - } - - &__var { - color: #34a7ff; - } - - &__string { - color: #ce9178; - } - - &__keyword { - color: #5090ca; - } -} - -.check-code { - width: 200px; - height: 35px; - cursor: pointer; - border: none; - border-radius: 10px; - margin: 20px 15px; - transition: all 1s; -} - -.active { - display: block; -} - -@media (max-width: 576px) { - .container { - width: 95%; - } - - .header { - margin-top: 15px; - h1 { - font-size: 32px; - } - } - - .example-select_title { - font-size: 14px; - height: 40px; - } -} diff --git a/src/page/index.html b/src/page/index.html deleted file mode 100644 index 1f010d6..0000000 --- a/src/page/index.html +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - - - - - - - - Cg-Select - - - -

-
-
-

CG-SELECT

- -
-
- -
-
- -
-
-

Дефолтный селект

-
-
- -
- - - - - -
-              const dropdown = new DropDown({
-                selector: '.cg-dropdown_one', 
-                placeholder: 'Выберите авто', 
-                lable: 'EXAMPLE', 
-                items: [
-                  'BMW',
-                  {
-                    id: '213sade',
-                    title: 'Opel',
-                    value: 1,
-                  },
-                  'Mersedes', 
-                  'MAN',  
-                  'Ferari', 
-                ],
-                styles: {
-                  head: {
-                    width: '830px', 
-                  },
-                  list: {
-                    width: '824px', 
-                  },
-                },
-              });
-            
-
-
-
- -
-

Дефолтный селект с функцией nativeSelectMode

- -
-

- *При мобильном разрешении появляеться нативный селект. -

-
- -
- - - -
-              const dropdown = new DropDown({
-                selector: '.cg-dropdown_one', 
-                placeholder: 'Выберите авто', 
-                nativeSelectMode: true,
-                items: [
-                  'BMW',
-                  {
-                    id: '213sade',
-                    title: 'Opel',
-                    value: 1,
-                  },
-                  'Mersedes', 
-                  'MAN',  
-                  'Ferari', 
-                ],
-                styles: {
-                  head: {
-                    width: '830px', 
-                  },
-                  list: {
-                    width: '824px', 
-                  },
-                },
-              });
-            
-
-
-
- -
-

Дефолтный селект с функцией listDisplayMode

- -
-

- *При использовании данного метода лист с выбором появляеться как модальное окно. -

-
- -
- - - - -
-              const dropdown = new DropDown({
-                selector: '.cg-dropdown_listDisplayMode', 
-                placeholder: 'Выберите авто', 
-                listDisplayMode: true,
-                items: [
-                  'BMW',
-                  {
-                    id: '213sade',
-                    title: 'Opel',
-                    value: 1,
-                  },
-                  'Mersedes', 
-                  'MAN',  
-                  'Ferari', 
-                ],
-                styles: {
-                  head: {
-                    width: '830px', 
-                  },
-                  list: {
-                    width: '824px', 
-                  },
-                },
-              });
-            
-
-
-
- -
-

Селект с данными с URL

-
- -
- - - -
-            const dropdown = new DropDown({
-              selector: '.cg-dropdown_three', 
-              placeholder: 'URL', 
-              url: 'https://jsonplaceholder.typicode.com/users',            
-              searchMode: true,
-              darkTheme: false,
-              language: 'ru',
-              styles: {
-                head: {
-                  width: '830px', 
-                },
-                list: {
-                  width: '824px', 
-                },
-              },
-            });
-          
-
-
- -
-

Категории

- -
- -
- - - -
-            const dropdown = new DropDown({
-              selector: '.cg-dropdown_categories', 
-              placeholder: 'Выберите регион', 
-              searchMode: true,
-              items: [
-                {
-                  category: 'Russia',
-                  categoryItems: [
-                    {
-                      id: '28qwds',
-                      title: 'Москва',
-                      value: 0,
-                    },
-                    'Ростов-на-дону',
-                    'Саратов',
-                    'Волгоград',
-                    'Донецк',
-                  ],
-                },
-                {
-                  category: 'USA',
-                  categoryItems: [
-                    'Alabama', 
-                    'Texas', 
-                    'Colorado', 
-                    'Klirens', 
-                    'Los-Angeles'],
-                },
-                {
-                  category: 'France',
-                  categoryItems: ['Paris'],
-                },
-              ],
-              styles: {
-                head: {
-                  width: '830px', 
-                },
-                list: {
-                  width: '824px', 
-                },
-                placeholder: {
-                  maxWidth: '500px ',
-                },
-              },
-              multiselect: true,
-              multiselectTag: true,
-            });
-          
-
-
- -
-

Управление с помошью кнопок

-
- - -
- -
- -
- - - - -
-            const dropdown = new DropDown({
-              selector: '.cg-dropdown_usedBtn', 
-              placeholder: 'Выберите авто', 
-              searchMode: true,
-              items: [
-                  'BMW',
-                  {
-                    id: '213sade',
-                    title: 'Opel',
-                    value: 1,
-                  },
-                  'Mersedes', 
-                  'MAN',  
-                  'max', 
-              ],
-              styles: {
-                head: {
-                  width:  '830px',
-                  color:  'black',
-                  backgroundColor:  'rgb(176 223 167)',
-                },
-                list: {
-                  width:  '824px',
-                  color:  'black',
-                  backgroundColor:  'rgb(176 223 167)',
-                },
-                caret: {
-                  borderTop:  '6px solid black',
-                },
-                search: {
-                  backgroundColor:  '#d7ffff',
-                  borderRadius:  '5px',
-                  borderBottom:  'none',
-                  width:  '95%',
-                  color:  'black',
-                },
-              },
-              multiselect: true,
-            });
-          
-
-
- -
-

Функция disabled

- - - - -
- -
- - - -
-            const dropdown = new DropDown({
-              selector: '.cg-dropdown_checkboxDisable', 
-              placeholder: 'Выберите авто', 
-              searchMode: true,
-              items: [
-                'BMW',
-                {
-                  id: '213sade',
-                  title: 'Opel',
-                  value: 1,
-                },
-                'Mersedes', 
-                'MAN',  
-                'Ferari', 
-              ],
-              styles: {
-                head: {
-                  width: '830px', 
-                },
-                list: {
-                  width: '824px', 
-                },
-                placeholder: {
-                  maxWidth: '500px ',
-                },
-              },
-            });
-          
-
-
-
- - - diff --git a/src/page/index.js b/src/page/index.js deleted file mode 100644 index 97649f8..0000000 --- a/src/page/index.js +++ /dev/null @@ -1,232 +0,0 @@ -import DropDown from '../index'; -import './example'; - -// ------------------------------Обычный селект-------------------- -const dropdown = new DropDown({ - selector: '.cg-dropdown_one', - placeholder: 'Выберите авто', - lable: 'EXAMPLE', - items: [ - 'BMW', - { - id: '213sade', - title: 'Opel', - value: 1, - }, - 'Mersedes', - 'MAN', - 'Ferari', - ], - styles: { - head: { - width: '830px', - }, - list: { - width: '824px', - }, - }, -}); - -// ------------------------------NativeSelect----------------------- -const dropdownNativeSelect = new DropDown({ - selector: '.cg-dropdown_selectNative', - placeholder: 'Выберите авто', - nativeSelectMode: true, - items: [ - 'BMW', - { - id: '213sade', - title: 'Opel', - value: 1, - }, - 'Mersedes', - 'MAN', - 'Ferari', - 'Kamaz', - 'Ural' - ], - styles: { - head: { - width: '830px', - }, - list: { - width: '824px', - }, - }, -}); - -// ------------------------------listDisplayMode-------------------- -const dropdownlistDisplayMode = new DropDown({ - selector: '.cg-dropdown_listDisplayMode', - placeholder: 'Выберите авто', - listDisplayMode: true, - items: [ - 'BMW', - { - id: '213sade', - title: 'Opel', - value: 1, - }, - 'Mersedes', - 'MAN', - 'Ferari', - ], - styles: { - head: { - width: '830px', - }, - list: { - width: '824px', - }, - }, -}); - -// ------------------------------URL-------------------- -const dropdown3 = new DropDown({ - selector: '.cg-dropdown_three', - placeholder: 'URL', - url: 'https://jsonplaceholder.typicode.com/users', - searchMode: true, - darkTheme: false, - language: 'ru', - styles: { - head: { - width: '830px', - }, - list: { - width: '824px', - }, - }, -}); - -// --------------------------------Категории-------------------------- -const dropdown4 = new DropDown({ - selector: '.cg-dropdown_categories', - placeholder: 'Выберите регион', - searchMode: true, - items: [ - { - category: 'Russia', - categoryItems: [ - { - id: '28qwds', - title: 'Москва', - value: 0, - }, - , - 'Ростов-на-дону', - 'Саратов', - 'Волгоград', - 'Донецк', - ], - }, - { - category: 'USA', - categoryItems: ['Alabama', 'Texas', 'Colorado', 'Klirens', 'Los-Angeles'], - }, - { - category: 'France', - categoryItems: ['Paris'], - }, - ], - styles: { - head: { - width: '830px', - }, - list: { - width: '824px', - }, - placeholder: { - maxWidth: '500px ', - }, - }, - multiselect: true, - multiselectTag: true, -}); - -//----------------управление с помощью кнопок---------------------------------- -const dropdownBtn = new DropDown({ - selector: '.cg-dropdown_usedBtn', - placeholder: 'Выберите авто', - searchMode: true, - items: [ - 'BMW', - { - id: '213sade', - title: 'Opel', - value: 1, - }, - 'Mersedes', - 'MAN', - 'max', - ], - styles: { - head: { - width: '830px', - color: 'black', - backgroundColor: 'rgb(176 223 167)', - }, - list: { - width: '824px', - color: 'black', - backgroundColor: 'rgb(176 223 167)', - }, - caret: { - borderTop: '6px solid black', - }, - search: { - backgroundColor: '#d7ffff', - borderRadius: '5px', - borderBottom: 'none', - width: '95%', - color: 'black', - }, - }, - multiselect: true, -}); - -const buttonOpen = document.querySelector('.button__open'); -const buttonClose = document.querySelector('.button__close'); - -dropdownBtn.buttonControl(buttonOpen, 'open'); -dropdownBtn.buttonControl(buttonClose, 'close'); - -//-------------------------Функция Disabled---------------------------------- -const dropdownDisabled = new DropDown({ - selector: '.cg-dropdown_checkboxDisable', - placeholder: 'Выберите авто', - searchMode: true, - items: [ - 'BMW', - { - id: '213sade', - title: 'Opel', - value: 1, - }, - 'Mersedes', - 'MAN', - 'max', - ], - styles: { - head: { - width: '830px', - }, - list: { - width: '824px', - }, - placeholder: { - maxWidth: '500px ', - }, - }, - multiselect: true, -}); -dropdownDisabled.disabled(true); -let chbox = document.getElementById('checkboxDisable'); - -chbox.addEventListener('click', () => { - if (chbox.checked == true) { - dropdownDisabled.disabled(false); - } else { - dropdownDisabled.disabled(true); - } -}); From 2a269670588d8aff94326a5370d0c69009740182 Mon Sep 17 00:00:00 2001 From: MaxOvs Date: Wed, 28 Dec 2022 20:35:00 +0300 Subject: [PATCH 06/11] Fix git ignore --- .gitignore | 2 +- example/example.js | 50 ++++++ example/example.scss | 212 +++++++++++++++++++++++++ example/index.html | 359 +++++++++++++++++++++++++++++++++++++++++++ example/index.js | 232 ++++++++++++++++++++++++++++ 5 files changed, 854 insertions(+), 1 deletion(-) create mode 100644 example/example.js create mode 100644 example/example.scss create mode 100644 example/index.html create mode 100644 example/index.js diff --git a/.gitignore b/.gitignore index 4362bc4..37dab9d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ node_modules dist .parcel-cache -example + diff --git a/example/example.js b/example/example.js new file mode 100644 index 0000000..f807677 --- /dev/null +++ b/example/example.js @@ -0,0 +1,50 @@ +const firstBtn = document.getElementById('first'); +const codeFirst = document.getElementById('codeFirst'); + +const secondBtn = document.getElementById('second'); +const codeSecond = document.getElementById('codeSecond'); + +const thirdBtn = document.getElementById('third'); +const codeThird = document.getElementById('codeThird'); + +const fourthBtn = document.getElementById('fourth'); +const codeFourth = document.getElementById('codeFourth'); + +const fifthBtn = document.getElementById('fifth'); +const codeFifth = document.getElementById('codeFifth'); + +const six = document.getElementById('six') +const codeSix = document.getElementById('codeSix'); + + +const Native = document.getElementById('Native') +const codeNative = document.getElementById('codeNative') + + +firstBtn.addEventListener('click', () => { + codeFirst.classList.toggle("active") +}) + +secondBtn.addEventListener('click', () => { + codeSecond.classList.toggle("active") +}) + +thirdBtn.addEventListener('click', () => { + codeThird.classList.toggle("active") +}) + +fourthBtn.addEventListener('click', () => { + codeFourth.classList.toggle("active") +}) + +fifthBtn.addEventListener('click', () => { + codeFifth.classList.toggle("active") +}) + +six.addEventListener('click', () => { + codeSix.classList.toggle("active") +}) + +Native.addEventListener('click', () => { + codeNative.classList.toggle("active") +}) \ No newline at end of file diff --git a/example/example.scss b/example/example.scss new file mode 100644 index 0000000..b1bd873 --- /dev/null +++ b/example/example.scss @@ -0,0 +1,212 @@ +@import '/src/main.scss'; + +* { + font-size: 14px; + font-family: Arial, Helvetica, sans-serif; +} + +.body-example { + background: #000000c4; +} + +.container { + margin: 0 auto; + width: 900px; + + display: -webkit-box; + display: -ms-flexbox; + display: flex; + + -webkit-box-align: baseline; + -ms-flex-align: baseline; + align-items: baseline; + + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; + + -ms-flex-wrap: wrap; + flex-wrap: wrap; +} + +.header { + width: 100%; + border-radius: 5px; + display: flex; + align-items: center; + flex-direction: column; + background-color: #2a2f3b; + margin-bottom: 8px; + + h1 { + font-size: 57px; + color: white; + font-family: 'Times New Roman', Times, serif; + margin: 40px 0 12px 0; + } + + &__logoBox { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + } + + &__logo { + width: 13%; + height: 16%; + border: 1px solid #525252; + border-radius: 50%; + + margin: 22px 0 0 29px; + } + + .navlist { + display: flex; + justify-content: space-around; + margin: 15px 0 30px 0; + padding: 0; + width: 230px; + + li { + display: inline; + list-style: none; + text-decoration: none; + + a { + color: white; + text-decoration: none; + + &:hover { + text-decoration: underline; + } + } + } + } +} + +.content { + margin-top: 15px; + border-radius: 5px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + -ms-border-radius: 5px; + -o-border-radius: 5px; +} + +.example-select { + width: 100%; + background-color: #5c5c5c; + border-radius: 5px; + margin: 15px 0 0 0; + + &_title { + height: 45px; + border-top-left-radius: 5px; + border-top-right-radius: 5px; + color: white; + padding: 20px 0 0 40px; + margin: 0 0 30px 0; + background-color: #2a2f3b; + font-size: 20px; + } + + &_submit { + width: 200px; + height: 35px; + border-radius: 10px; + border: none; + margin-top: 20px; + margin: 20px 15px; + cursor: pointer; + transition: 1s; + -webkit-transition: 1s; + -moz-transition: 1s; + -ms-transition: 1s; + -o-transition: 1s; + + &:hover { + background-color: #d7d7d7; + transition: 1s; + -webkit-transition: 1s; + -moz-transition: 1s; + -ms-transition: 1s; + -o-transition: 1s; + } + } + + .layout-select { + margin: 15px; + } +} + +code { + display: none; +} + +pre { + background: #1e1e1e; + margin: 15px; + padding: 15px; + color: #88d0f7; + border-radius: 15px; + font-size: 16px; + line-height: 20px; +} + +.code { + &__class, + &__var, + &__string, + &__keyword { + font-size: 16px; + line-height: 20px; + } + &__class { + color: #4ec9b0; + } + + &__var { + color: #34a7ff; + } + + &__string { + color: #ce9178; + } + + &__keyword { + color: #5090ca; + } +} + +.check-code { + width: 200px; + height: 35px; + cursor: pointer; + border: none; + border-radius: 10px; + margin: 20px 15px; + transition: all 1s; +} + +.active { + display: block; +} + +@media (max-width: 576px) { + .container { + width: 95%; + } + + .header { + margin-top: 15px; + h1 { + font-size: 32px; + } + } + + .example-select_title { + font-size: 14px; + height: 40px; + } +} diff --git a/example/index.html b/example/index.html new file mode 100644 index 0000000..b36fe6f --- /dev/null +++ b/example/index.html @@ -0,0 +1,359 @@ + + + + + + + + + + + + + Cg-Select + + + +
+
+
+

CG-SELECT

+ +
+
+ +
+
+ +
+
+

Дефолтный селект

+
+
+ +
+ + + + + +
+              const dropdown = new DropDown({
+                selector: '.cg-dropdown_one', 
+                placeholder: 'Выберите авто', 
+                lable: 'EXAMPLE', 
+                items: [
+                  'BMW',
+                  {
+                    id: '213sade',
+                    title: 'Opel',
+                    value: 1,
+                  },
+                  'Mersedes', 
+                  'MAN',  
+                  'Ferari', 
+                ],
+                styles: {
+                  head: {
+                    width: '830px', 
+                  },
+                  list: {
+                    width: '824px', 
+                  },
+                },
+              });
+            
+
+
+
+ +
+

Дефолтный селект с функцией nativeSelectMode

+ +
+

+ *При мобильном разрешении появляеться нативный селект. +

+
+ +
+ + + +
+              const dropdown = new DropDown({
+                selector: '.cg-dropdown_one', 
+                placeholder: 'Выберите авто', 
+                nativeSelectMode: true,
+                items: [
+                  'BMW',
+                  {
+                    id: '213sade',
+                    title: 'Opel',
+                    value: 1,
+                  },
+                  'Mersedes', 
+                  'MAN',  
+                  'Ferari', 
+                ],
+                styles: {
+                  head: {
+                    width: '830px', 
+                  },
+                  list: {
+                    width: '824px', 
+                  },
+                },
+              });
+            
+
+
+
+ +
+

Дефолтный селект с функцией listDisplayMode

+ +
+

+ *При использовании данного метода лист с выбором появляеться как модальное окно. +

+
+ +
+ + + + +
+              const dropdown = new DropDown({
+                selector: '.cg-dropdown_listDisplayMode', 
+                placeholder: 'Выберите авто', 
+                listDisplayMode: true,
+                items: [
+                  'BMW',
+                  {
+                    id: '213sade',
+                    title: 'Opel',
+                    value: 1,
+                  },
+                  'Mersedes', 
+                  'MAN',  
+                  'Ferari', 
+                ],
+                styles: {
+                  head: {
+                    width: '830px', 
+                  },
+                  list: {
+                    width: '824px', 
+                  },
+                },
+              });
+            
+
+
+
+ +
+

Селект с данными с URL

+
+ +
+ + + +
+            const dropdown = new DropDown({
+              selector: '.cg-dropdown_three', 
+              placeholder: 'URL', 
+              url: 'https://jsonplaceholder.typicode.com/users',            
+              searchMode: true,
+              darkTheme: false,
+              language: 'ru',
+              styles: {
+                head: {
+                  width: '830px', 
+                },
+                list: {
+                  width: '824px', 
+                },
+              },
+            });
+          
+
+
+ +
+

Категории

+ +
+ +
+ + + +
+            const dropdown = new DropDown({
+              selector: '.cg-dropdown_categories', 
+              placeholder: 'Выберите регион', 
+              searchMode: true,
+              items: [
+                {
+                  category: 'Russia',
+                  categoryItems: [
+                    {
+                      id: '28qwds',
+                      title: 'Москва',
+                      value: 0,
+                    },
+                    'Ростов-на-дону',
+                    'Саратов',
+                    'Волгоград',
+                    'Донецк',
+                  ],
+                },
+                {
+                  category: 'USA',
+                  categoryItems: [
+                    'Alabama', 
+                    'Texas', 
+                    'Colorado', 
+                    'Klirens', 
+                    'Los-Angeles'],
+                },
+                {
+                  category: 'France',
+                  categoryItems: ['Paris'],
+                },
+              ],
+              styles: {
+                head: {
+                  width: '830px', 
+                },
+                list: {
+                  width: '824px', 
+                },
+                placeholder: {
+                  maxWidth: '500px ',
+                },
+              },
+              multiselect: true,
+              multiselectTag: true,
+            });
+          
+
+
+ +
+

Управление с помошью кнопок

+
+ + +
+ +
+ +
+ + + + +
+            const dropdown = new DropDown({
+              selector: '.cg-dropdown_usedBtn', 
+              placeholder: 'Выберите авто', 
+              searchMode: true,
+              items: [
+                  'BMW',
+                  {
+                    id: '213sade',
+                    title: 'Opel',
+                    value: 1,
+                  },
+                  'Mersedes', 
+                  'MAN',  
+                  'max', 
+              ],
+              styles: {
+                head: {
+                  width:  '830px',
+                  color:  'black',
+                  backgroundColor:  'rgb(176 223 167)',
+                },
+                list: {
+                  width:  '824px',
+                  color:  'black',
+                  backgroundColor:  'rgb(176 223 167)',
+                },
+                caret: {
+                  borderTop:  '6px solid black',
+                },
+                search: {
+                  backgroundColor:  '#d7ffff',
+                  borderRadius:  '5px',
+                  borderBottom:  'none',
+                  width:  '95%',
+                  color:  'black',
+                },
+              },
+              multiselect: true,
+            });
+          
+
+
+ +
+

Функция disabled

+ + + + +
+ +
+ + + +
+            const dropdown = new DropDown({
+              selector: '.cg-dropdown_checkboxDisable', 
+              placeholder: 'Выберите авто', 
+              searchMode: true,
+              items: [
+                'BMW',
+                {
+                  id: '213sade',
+                  title: 'Opel',
+                  value: 1,
+                },
+                'Mersedes', 
+                'MAN',  
+                'Ferari', 
+              ],
+              styles: {
+                head: {
+                  width: '830px', 
+                },
+                list: {
+                  width: '824px', 
+                },
+                placeholder: {
+                  maxWidth: '500px ',
+                },
+              },
+            });
+          
+
+
+
+ + + diff --git a/example/index.js b/example/index.js new file mode 100644 index 0000000..97649f8 --- /dev/null +++ b/example/index.js @@ -0,0 +1,232 @@ +import DropDown from '../index'; +import './example'; + +// ------------------------------Обычный селект-------------------- +const dropdown = new DropDown({ + selector: '.cg-dropdown_one', + placeholder: 'Выберите авто', + lable: 'EXAMPLE', + items: [ + 'BMW', + { + id: '213sade', + title: 'Opel', + value: 1, + }, + 'Mersedes', + 'MAN', + 'Ferari', + ], + styles: { + head: { + width: '830px', + }, + list: { + width: '824px', + }, + }, +}); + +// ------------------------------NativeSelect----------------------- +const dropdownNativeSelect = new DropDown({ + selector: '.cg-dropdown_selectNative', + placeholder: 'Выберите авто', + nativeSelectMode: true, + items: [ + 'BMW', + { + id: '213sade', + title: 'Opel', + value: 1, + }, + 'Mersedes', + 'MAN', + 'Ferari', + 'Kamaz', + 'Ural' + ], + styles: { + head: { + width: '830px', + }, + list: { + width: '824px', + }, + }, +}); + +// ------------------------------listDisplayMode-------------------- +const dropdownlistDisplayMode = new DropDown({ + selector: '.cg-dropdown_listDisplayMode', + placeholder: 'Выберите авто', + listDisplayMode: true, + items: [ + 'BMW', + { + id: '213sade', + title: 'Opel', + value: 1, + }, + 'Mersedes', + 'MAN', + 'Ferari', + ], + styles: { + head: { + width: '830px', + }, + list: { + width: '824px', + }, + }, +}); + +// ------------------------------URL-------------------- +const dropdown3 = new DropDown({ + selector: '.cg-dropdown_three', + placeholder: 'URL', + url: 'https://jsonplaceholder.typicode.com/users', + searchMode: true, + darkTheme: false, + language: 'ru', + styles: { + head: { + width: '830px', + }, + list: { + width: '824px', + }, + }, +}); + +// --------------------------------Категории-------------------------- +const dropdown4 = new DropDown({ + selector: '.cg-dropdown_categories', + placeholder: 'Выберите регион', + searchMode: true, + items: [ + { + category: 'Russia', + categoryItems: [ + { + id: '28qwds', + title: 'Москва', + value: 0, + }, + , + 'Ростов-на-дону', + 'Саратов', + 'Волгоград', + 'Донецк', + ], + }, + { + category: 'USA', + categoryItems: ['Alabama', 'Texas', 'Colorado', 'Klirens', 'Los-Angeles'], + }, + { + category: 'France', + categoryItems: ['Paris'], + }, + ], + styles: { + head: { + width: '830px', + }, + list: { + width: '824px', + }, + placeholder: { + maxWidth: '500px ', + }, + }, + multiselect: true, + multiselectTag: true, +}); + +//----------------управление с помощью кнопок---------------------------------- +const dropdownBtn = new DropDown({ + selector: '.cg-dropdown_usedBtn', + placeholder: 'Выберите авто', + searchMode: true, + items: [ + 'BMW', + { + id: '213sade', + title: 'Opel', + value: 1, + }, + 'Mersedes', + 'MAN', + 'max', + ], + styles: { + head: { + width: '830px', + color: 'black', + backgroundColor: 'rgb(176 223 167)', + }, + list: { + width: '824px', + color: 'black', + backgroundColor: 'rgb(176 223 167)', + }, + caret: { + borderTop: '6px solid black', + }, + search: { + backgroundColor: '#d7ffff', + borderRadius: '5px', + borderBottom: 'none', + width: '95%', + color: 'black', + }, + }, + multiselect: true, +}); + +const buttonOpen = document.querySelector('.button__open'); +const buttonClose = document.querySelector('.button__close'); + +dropdownBtn.buttonControl(buttonOpen, 'open'); +dropdownBtn.buttonControl(buttonClose, 'close'); + +//-------------------------Функция Disabled---------------------------------- +const dropdownDisabled = new DropDown({ + selector: '.cg-dropdown_checkboxDisable', + placeholder: 'Выберите авто', + searchMode: true, + items: [ + 'BMW', + { + id: '213sade', + title: 'Opel', + value: 1, + }, + 'Mersedes', + 'MAN', + 'max', + ], + styles: { + head: { + width: '830px', + }, + list: { + width: '824px', + }, + placeholder: { + maxWidth: '500px ', + }, + }, + multiselect: true, +}); +dropdownDisabled.disabled(true); +let chbox = document.getElementById('checkboxDisable'); + +chbox.addEventListener('click', () => { + if (chbox.checked == true) { + dropdownDisabled.disabled(false); + } else { + dropdownDisabled.disabled(true); + } +}); From e24d1951e5d739b345c03dc4d8d07fcf02fadeec Mon Sep 17 00:00:00 2001 From: MaxOvs Date: Thu, 29 Dec 2022 17:15:19 +0300 Subject: [PATCH 07/11] Fixed documentation and package.json --- documentation/DropDown.html | 9 +- documentation/cg-dropdown.js.html | 158 ++- ...D0%B0%20DropDown.html => constructor.html} | 87 +- documentation/create-element.js.html | 9 +- documentation/global.html | 113 +- documentation/index.html | 14 +- documentation/module-Utils.html | 9 +- documentation/module-createElementChips.html | 9 +- documentation/utils.js.html | 9 +- package-lock.json | 986 +++++++++++++++++- package.json | 1 + src/cg-select.js | 14 +- 12 files changed, 1306 insertions(+), 112 deletions(-) rename documentation/{%D0%9A%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D0%BE%D1%80%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0%20DropDown.html => constructor.html} (78%) diff --git a/documentation/DropDown.html b/documentation/DropDown.html index 6c4b60a..6302d9e 100644 --- a/documentation/DropDown.html +++ b/documentation/DropDown.html @@ -110,10 +110,7 @@

Modules

@@ -134,10 +131,12 @@
  • #render
  • #renderUrl
  • #searchMode
  • +
  • #displayMode
  • +
  • #selectMode
  • Public methods

      -
    • addLenguage
    • +
    • addLanguage
    • addItem
    • buttonControl
    • deleteItem
    • diff --git a/documentation/cg-dropdown.js.html b/documentation/cg-dropdown.js.html index 0cdaf02..926a887 100644 --- a/documentation/cg-dropdown.js.html +++ b/documentation/cg-dropdown.js.html @@ -2,7 +2,7 @@ - JSDoc: Source: cg-dropdown.js + JSDoc: Source: cg-select.js @@ -15,7 +15,7 @@
      -

      Source: cg-dropdown.js

      +

      Source: cg-select.js

      @@ -40,7 +40,7 @@ /** * @class Описание класса DropDown * @description Этот класс реализовывает функционал кастомного селекта, с возможностями кастомизации. - *@author Овсяников Максим + * @author Овсяников Максим */ export class DropDown { /** @@ -116,7 +116,9 @@ darkTheme: true/false, searchMode: true/false, closeOnSelect: true/false, - lenguage: 'ru/en', + nativeSelectMode: true/false, + listDisplayMode: true/false, + language: 'ru/en', styles: { head: { background: '...', @@ -238,11 +240,14 @@ } const select = this.#element.querySelector('.cg-select'); + const nativeSelect = this.#element.querySelector('.nativeSelect'); if (value === true) { this.#element.setAttribute('disabled', true); + nativeSelect.setAttribute('disabled', true); select.classList.add('disabled'); } else { this.#element.removeAttribute('disabled'); + nativeSelect.removeAttribute('disabled'); select.classList.remove('disabled'); } } @@ -255,11 +260,18 @@ * @method buttonControl */ buttonControl(button, method) { + const {listDisplayMode} = this.#options; + + + if(listDisplayMode === true){ + return + } + this.btn = button; button.addEventListener('click', () => { - if (method === 'open') { + if (method.toLowerCase() === 'open') { this.#open(true); - } else if (method === 'close') { + } else if (method.toLowerCase() === 'close') { this.#close(); } else { return; @@ -269,14 +281,18 @@ /** * Метод экземпляра класса DropDown - * @param {object} lenguage объект в котором находятся поля для подключения языка имеет два обязательных поля placeholder, textInListSearch + * @param {object} language объект в котором находятся поля для подключения языка имеет два обязательных поля placeholder, textInListSearch * @description метод позволяющий заменить плейсхолдер в поиске и текст который выводится если нет результата - * @method addLenguage + * @method addLanguage */ - addLenguage(lenguage) { - const { placeholder, textInListSearch } = lenguage; + addLanguage(language) { + const { placeholder, textInListSearch, selectPlaceholder } = language; const { searchMode } = this.#options; + const select = this.#element.querySelector('.selected'); + const textNodeSelect = document.createTextNode(selectPlaceholder); + select.appendChild(textNodeSelect); + if (searchMode && searchMode == true) { const search = this.#element.querySelector('.inputSearch'); const textNoRezult = this.#element.querySelector('.noRezult'); @@ -323,9 +339,10 @@ const elem = document.querySelector(options.selector); - if (!elem) { - throw new Error(`Element with selector ${options.selector}`); - } + //TODO: для теста в реакте нужно пересмотреть необходимость этой проверки! + // if (!elem) { + // throw new Error(`Element with selector ${options.selector}`); + // } this.#element = elem; @@ -368,14 +385,18 @@ * @protected */ #initSelected(select) { - const { styles, selected, placeholder, lable } = this.#options; + const { styles, selected, placeholder, lable, language } = this.#options; if (selected) { createSelected(this.#element, selected); } else if (placeholder) { createSelected(this.#element, placeholder); } else { - createSelected(this.#element, 'Select...'); + if (language && language === 'ru') { + createSelected(this.#element, ru.selectPlaceholder); + } else { + createSelected(this.#element, en.selectPlaceholder); + } } if (select) { @@ -405,7 +426,13 @@ * @description Рендер елементов в селекте. */ #render(select) { - const { styles, multiselect, searchMode, multiselectTag, darkTheme, lenguage } = this.#options; + const { + styles, multiselect, + searchMode, multiselectTag, + darkTheme, language, + nativeSelectMode, listDisplayMode + } = this.#options; + const random = Math.random().toString(36).substring(2, 10); if (select || (select && styles)) { @@ -422,12 +449,13 @@ this.random = random; if (searchMode) { - if (lenguage === 'ru') { + if (language === 'ru') { inputSearch = createInputSearch(random, ru.placeholder); } else { inputSearch = createInputSearch(random, en.placeholder); } - + const { search } = styles; + customStylesFormat(search, inputSearch); ulList.appendChild(inputSearch); } @@ -491,9 +519,19 @@ this.#checkTheme(); } + if(nativeSelectMode === true){ + this.#selectMode(nativeSelectMode); + } + + + this.#list = this.#element.querySelector('.list'); this.#caret = this.#element.querySelector('.caret'); + if(listDisplayMode === true){ + this.#displayMode(listDisplayMode) + } + this.#addOptionsBehaviour(); } @@ -751,14 +789,14 @@ * @method #searchMode */ #searchMode(random) { - const { lenguage } = this.#options; + const { language } = this.#options; const input = this.#element.querySelector(`#searchSelect-${random}`); const searchSelect = this.#element.querySelectorAll('.list__item'); const result = document.createElement('p'); let textNode = ''; - if (lenguage === 'ru') { + if (language && language === 'ru') { textNode = document.createTextNode(`${ru.textInListSearch}`); } else { textNode = document.createTextNode(`${en.textInListSearch}`); @@ -774,17 +812,22 @@ }); input.oninput = function () { - let val = this.value.trim(); + let valueSearch = this.value.trim().toLowerCase(); + let anyMatch = false; - if (val != '') { + if (valueSearch != '') { searchSelect.forEach((elem) => { - if (elem.innerText.search(val) == -1) { + let isMatching = new RegExp(valueSearch, 'gi').test(elem.textContent); + anyMatch = anyMatch || isMatching; + + if (elem.textContent.toLowerCase().search(valueSearch) == -1) { elem.classList.add('displayHide'); - result.classList.remove('displayHide'); } else { elem.classList.remove('displayHide'); } }); + + result.classList.toggle('displayHide', anyMatch); } else { searchSelect.forEach((elem) => { elem.classList.remove('displayHide'); @@ -838,6 +881,64 @@ } }); } + + /** + * Приватный метод экземпляра класса DropDown + * @protected + * @param {boolean} nativeSelectMode параметр отвечающий за добавления нативного селекта. + * @description Изменяет отображение селекта на мобильных устройствах + * @method #selectMode + */ + #selectMode(nativeSelectMode){ + let win = window.outerWidth; + + if(nativeSelectMode === true){ + const select = this.#element.querySelector('.cg-select'); + const list = this.#element.querySelector('.list'); + const nativeSelect = this.#element.querySelector('.nativeSelect') + + if(win < 576){ + select.classList.add('displayHide'); + list.classList.add('displayHide'); + nativeSelect.classList.add('nativeSelectActive'); + } else if( win > 576){ + select.classList.remove('displayHide'); + list.classList.remove('displayHide'); + nativeSelect.classList.remove('nativeSelectActive'); + nativeSelect.classList.add('displayHide'); + } + } else{ + return + } + + } + + /** + * Приватный метод экземпляра класса DropDown + * @protected + * @param {boolean} listDisplayMode параметр отвечающий за отображение выбора в виде модального окна. + * @description Изменяет отображение листа с выбором в виде модального окна. + * @method #displayMode + */ + #displayMode(listDisplayMode){ + if(listDisplayMode === true){ + const modal = document.createElement('div'); + const body = document.querySelector('body') + const list = this.#list; + + modal.appendChild(list); + this.#element.appendChild(modal); + + this.#element.addEventListener('click', () => { + modal.classList.toggle('modal'); + list.classList.toggle('listModal'); + body.classList.toggle('overflowHide') + }); + } else{ + return + } + + } }
      @@ -850,10 +951,7 @@

      Modules

      @@ -874,10 +972,12 @@
    • #render
    • #renderUrl
    • #searchMode
    • +
    • #displayMode
    • +
    • #selectMode

    Public methods

      -
    • addLenguage
    • +
    • addLanguage
    • addItem
    • buttonControl
    • deleteItem
    • diff --git a/documentation/%D0%9A%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D0%BE%D1%80%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0%20DropDown.html b/documentation/constructor.html similarity index 78% rename from documentation/%D0%9A%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D0%BE%D1%80%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0%20DropDown.html rename to documentation/constructor.html index 4bf47c8..b45b164 100644 --- a/documentation/%D0%9A%D0%BE%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BA%D1%82%D0%BE%D1%80%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D0%B0%20DropDown.html +++ b/documentation/constructor.html @@ -79,29 +79,31 @@
      Example
      options = {
      -      selector: 'Уникальный селектор',
      -      selected: 'Выбранный элемент',
      -      placeholder: '...',
      -      items: [string|number|object],
      -      darkTheme: true/false,
      -      searchMode: true/false,
      -      closeOnSelect:  true/false,
      -      lenguage: 'ru/en',
      -      styles: {
      -        head: {
      -          background: '...',
      -        },
      -        list: {...},
      -        chips: {...},
      -        caret: {...},
      -        placeholder: {...},
      -        lable: {..},
      -      },
      -      event: '...',
      -      url: 'http/...',
      -      multiselect: true/false,
      -      multiselectTag: true/false,
      -}
      + selector: 'Уникальный селектор', + selected: 'Выбранный элемент', + placeholder: '...', + items: [string|number|object], + darkTheme: true/false, + searchMode: true/false, + closeOnSelect: true/false, + nativeSelectMode: true/false, + listDisplayMode: true/false, + language: 'ru/en', + styles: { + head: { + background: '...', + }, + list: {...}, + chips: {...}, + caret: {...}, + placeholder: {...}, + lable: {..}, + }, + event: '...', + url: 'http/...', + multiselect: true/false, + multiselectTag: true/false, + }
    @@ -112,28 +114,34 @@ selector - *обязательный параметр(индефикатор), который задаеться при создании селекта. +
  • selected - необязательный параметр, в который передается элемент который будет выбран изначально в селекте.
  • +
  • placeholder - необязательный параметр, в который передается текст плейсхолдера селекта.
  • +
  • items - *обязательный параметр(эсли не указан другой способ получения данных (url)), это массив елементов, которые будут отображаться в селекте при выборе.
  • +
  • darkTheme - необязательный параметр, который отвечает за включение светлой/темной темы по умолчанию, стоит темная тема(darkTheme == true).
  • +
  • searchMode - необязательный параметр, который добавляет живой поиск по элеметам селекта.
  • +
  • closeOnSelect - необязательный параметр, который отвечает за поведения селекта при открытии, если closeOnSelect: false, тогда при выборе елемента в @@ -142,16 +150,33 @@
  • - lenguage - необязательный параметр, отвечающий за локализацию + nativeSelectMode - необязательный параметр, который отвечает за + поведения селекта при открытии на мобильных усторйствах, если nativeSelectMode: false, + тогда на мобильном устройстве будет отображаться и работать дефолтное поведение как на + десктопной версии, а если nativeSelectMode: true, то на мобильном устройстве будет + отображаться нативный селект из HTML 5; +
  • + +
  • + listDisplayMode - необязательный параметр, который отвечает за + поведения селекта при открытии, если listDisplayMode: false, тогда лист с выбором + опции отображаться как обычный выпадающий список. Если listDisplayMode: true, то лист + с выбором опции будет отображаться как модальное окно. +
  • + +
  • + language - необязательный параметр, отвечающий за локализацию некоторых текстовых элементов. по умолчанию стоит 'en'. Можно добавить свою - локализацию, с помощью функции addLanguage(), + локализацию, с помощью функции addLanguage(), передав туда объект с полями для текста.
  • +
  • event - необязательный параметр, который отвечает за поведения селекта, передавая в этот параметр, евент по типу 'mouseenter', селект будет открываться при наведении.
  • +
  • url - htylthbn данные которые приходят с бекэнда в формате {id:"", title: "", value: ""}.
  • +
  • multiselect - необязательный параметр, который отвечает за поведения селекта, добавляет возможность выбирать несколько элементов. Выбранные элементы отрисовываются как обычный текст, через запятую.
  • +
  • multiselectTag - необязательный параметр, который отвечает за поведения селекта, для него, ***работает только в месте с подключением multiselect.
  • +
  • styles - необязательный параметр, который отвечает за кастомизацию элементов селекта, в него передаются обьекты с CSS свойствами для кастомизируемых @@ -186,10 +214,7 @@

    Modules

    @@ -210,10 +235,12 @@
  • #render
  • #renderUrl
  • #searchMode
  • +
  • #displayMode
  • +
  • #selectMode
  • Public methods

    Public methods

      -
    • addLenguage
    • +
    • addLanguage
    • addItem
    • buttonControl
    • deleteItem
    • diff --git a/documentation/global.html b/documentation/global.html index f768fe3..c89fe8d 100644 --- a/documentation/global.html +++ b/documentation/global.html @@ -158,6 +158,104 @@ +

      + (protected) #displayMode(listDisplayMode) +

      + +
      + Изменяет отображение листа с выбором в виде модального окна. +
      + +
      Parameters:
      + + + + + + + + + + + + + + + + + + + + + +
      NameTypeDescription
      listDisplayMode + boolean + + параметр отвечающий за отображение выбора в виде модального окна. +
      + +
      +
      Source:
      +
      + +
      +
      + +

      + (protected) #selectMode(nativeSelectMode) +

      + +
      Изменяет отображение селекта на мобильных устройствах
      + +
      Parameters:
      + + + + + + + + + + + + + + + + + + + + + +
      NameTypeDescription
      nativeSelectMode + boolean + + параметр отвечающий за добавления нативного селекта. +
      + +
      +
      Source:
      +
      + +
      +
      +

      (protected) #initEvent()

      - addLenguage(lenguage)addLanguage(language)

      @@ -464,7 +562,7 @@ - lenguage + language object @@ -758,7 +856,7 @@
      @@ -774,10 +872,7 @@

      Modules

      @@ -798,10 +893,12 @@
    • #render
    • #renderUrl
    • #searchMode
    • +
    • #displayMode
    • +
    • #selectMode

    Public methods

    *Все настройки можно посмореть в вкладке - Конструктор класса + Конструктор класса

    Доступна возможность кастомизации основных элементов, таких как:
    @@ -59,10 +56,7 @@

    Modules

    @@ -83,10 +77,12 @@
  • #render
  • #renderUrl
  • #searchMode
  • +
  • #displayMode
  • +
  • #selectMode
  • Public methods

    Public methods

    Public methods

    Public methods

      -
    • addLenguage
    • +
    • addLanguage
    • addItem
    • buttonControl
    • deleteItem
    • diff --git a/package-lock.json b/package-lock.json index 1e9db79..5d17e5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cg-select", - "version": "0.1.16", + "version": "0.1.17", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cg-select", - "version": "0.1.16", + "version": "0.1.17", "license": "ISC", "dependencies": { "@parcel/optimizer-css": "^2.8.0", @@ -14,6 +14,7 @@ }, "devDependencies": { "@parcel/transformer-sass": "^2.7.0", + "jsdoc": "^4.0.0", "parcel": "^2.7.0", "prettier": "^2.7.1" } @@ -115,6 +116,18 @@ "node": ">=4" } }, + "node_modules/@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", @@ -173,6 +186,18 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@jsdoc/salty": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.2.tgz", + "integrity": "sha512-A1FrVnc7L9qI2gUGsfN0trTiJNK72Y0CL/VAyrmYEmeKI3pnHDawP64CEev31XLyAAOx2xmDo3tbadPxC0CSbw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, "node_modules/@lezer/common": { "version": "0.15.12", "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", @@ -368,6 +393,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.7.0.tgz", "integrity": "sha512-JlXNoZXcWzLKdDlfeF3dIj5Vtel5T9vtdBN72PJ+cjC4qNHk4Uwvc5sfOBELuibGN0bVu2bwY9nUgSwCiB1iIA==", + "dev": true, "dependencies": { "@parcel/fs": "2.7.0", "@parcel/logger": "2.7.0", @@ -389,6 +415,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.7.0.tgz", "integrity": "sha512-UTKx0jejJmmO1dwTHSJuRgrO8N6PMlkxRT6sew8N6NC3Bgv6pu0EbO+RtlWt/jCvzcdLOPdIoTzj4MMZvgcMYg==", + "dev": true, "dependencies": { "chalk": "^4.1.0" }, @@ -489,6 +516,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.7.0.tgz", "integrity": "sha512-7yKZUdh314Q/kU/9+27ZYTfcnXS6VYHuG+iiUlIohnvUUybxLqVJhdMU9Q+z2QcPka1IdJWz4K4Xx0y6/4goyg==", + "dev": true, "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", "@parcel/cache": "2.7.0", @@ -543,6 +571,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.7.0.tgz", "integrity": "sha512-pdq/cTwVoL0n8yuDCRXFRSQHVWdmmIXPt3R3iT4KtYDYvOrMT2dLPT79IMqQkhYPANW8GuL15n/WxRngfRdkug==", + "dev": true, "dependencies": { "@mischnic/json-sourcemap": "^0.1.0", "nullthrows": "^1.1.1" @@ -559,6 +588,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.7.0.tgz", "integrity": "sha512-kQDwMKgZ1U4M/G17qeDYF6bW5kybluN6ajYPc7mZcrWg+trEI/oXi81GMFaMX0BSUhwhbiN5+/Vb2wiG/Sn6ig==", + "dev": true, "engines": { "node": ">= 12.0.0" }, @@ -571,6 +601,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.7.0.tgz", "integrity": "sha512-PU5fo4Hh8y03LZgemgVREttc0wyHQUNmsJCybxTB7EjJie2CqJRumo+DFppArlvdchLwJdc9em03yQV/GNWrEg==", + "dev": true, "dependencies": { "@parcel/fs-search": "2.7.0", "@parcel/types": "2.7.0", @@ -593,6 +624,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.7.0.tgz", "integrity": "sha512-K1Hv25bnRpwQVA15RvcRuB8ZhfclnCHA8N8L6w7Ul1ncSJDxCIkIAc5hAubYNNYW3kWjCC2SOaEgFKnbvMllEQ==", + "dev": true, "dependencies": { "detect-libc": "^1.0.3" }, @@ -608,6 +640,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.7.0.tgz", "integrity": "sha512-Q6E94GS6q45PtsZh+m+gvFRp/N1Qopxhu2sxjcWsGs5iBd6IWn2oYLWOH5iVzEjWuYpW2HkB08lH6J50O63uOA==", + "dev": true, "dependencies": { "@parcel/utils": "2.7.0", "nullthrows": "^1.1.1" @@ -624,6 +657,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.7.0.tgz", "integrity": "sha512-k6bSKnIlPJMPU3yjQzfgfvF9zuJZGOAlJgzpL4BbWvdbE8BTdjzLcFn0Ujrtud94EgIkiXd22sC2HpCUWoHGdA==", + "dev": true, "dependencies": { "detect-libc": "^1.0.3", "xxhash-wasm": "^0.4.2" @@ -640,6 +674,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.7.0.tgz", "integrity": "sha512-qjMY/bYo38+o+OiIrTRldU9CwL1E7J72t+xkTP8QIcUxLWz5LYR0YbynZUVulmBSfqsykjjxCy4a+8siVr+lPw==", + "dev": true, "dependencies": { "@parcel/diagnostic": "2.7.0", "@parcel/events": "2.7.0" @@ -656,6 +691,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.7.0.tgz", "integrity": "sha512-ipOX0D6FVZFEXeb/z8MnTMq2RQEIuaILY90olVIuHEFLHHfOPEn+RK3u13HA1ChF5/9E3cMD79tu6x9JL9Kqag==", + "dev": true, "dependencies": { "chalk": "^4.1.0" }, @@ -763,6 +799,304 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.8.2.tgz", + "integrity": "sha512-ZGuq6p+Lzx6fgufaVsuOBwgpU3hgskTvIDIMdIDi9gOZyhGPK7U2srXdX+VYUL5ZSGbX04/P6QlB9FMAXK+nEg==", + "peer": true, + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.8.2", + "@parcel/diagnostic": "2.8.2", + "@parcel/events": "2.8.2", + "@parcel/fs": "2.8.2", + "@parcel/graph": "2.8.2", + "@parcel/hash": "2.8.2", + "@parcel/logger": "2.8.2", + "@parcel/package-manager": "2.8.2", + "@parcel/plugin": "2.8.2", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.8.2", + "@parcel/utils": "2.8.2", + "@parcel/workers": "2.8.2", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json5": "^2.2.0", + "msgpackr": "^1.5.4", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/cache": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.8.2.tgz", + "integrity": "sha512-kiyoOgh1RXp5qp+wlb8Pi/Z7o9D82Oj5RlHnKSAauyR7jgnI8Vq8JTeBmlLqrf+kHxcDcp2p86hidSeANhlQNg==", + "peer": true, + "dependencies": { + "@parcel/fs": "2.8.2", + "@parcel/logger": "2.8.2", + "@parcel/utils": "2.8.2", + "lmdb": "2.5.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.8.2" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/codeframe": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.8.2.tgz", + "integrity": "sha512-U2GT9gq1Zs3Gr83j8JIs10bLbGOHFl57Y8D57nrdR05F4iilV/UR6K7jkhdoiFc9WiHh3ewvrko5+pSdAVFPgQ==", + "peer": true, + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/diagnostic": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.2.tgz", + "integrity": "sha512-tGSMwM2rSYLjJW0fCd9gb3tNjfCX/83PZ10/5u2E33UZVkk8OIHsQmsrtq2H2g4oQL3rFxkfEx6nGPDGHwlx7A==", + "peer": true, + "dependencies": { + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.8.2.tgz", + "integrity": "sha512-o5etrsKm16y8iRPnjtEBNy4lD0WAigD66yt/RZl9Rx0vPVDly/63Rr9+BrXWVW7bJ7x0S0VVpWW4j3f/qZOsXg==", + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/fs": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.8.2.tgz", + "integrity": "sha512-aN8znbMndSqn1xwZEmMblzqmJsxcExv2jKLl/a9RUHAP7LaPYcPZIykDL3YwGCiKTCzjmRpXnNoyosjFFeBaHA==", + "peer": true, + "dependencies": { + "@parcel/fs-search": "2.8.2", + "@parcel/types": "2.8.2", + "@parcel/utils": "2.8.2", + "@parcel/watcher": "^2.0.7", + "@parcel/workers": "2.8.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.8.2" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/fs-search": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.8.2.tgz", + "integrity": "sha512-ovQnupRm/MoE/tbgH0Ivknk0QYenXAewjcog+T5umDmUlTmnIRZjURrgDf5Xtw8T/CD5Xv+HmIXpJ9Ez/LzJpw==", + "peer": true, + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/hash": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.2.tgz", + "integrity": "sha512-NBnP8Hu0xvAqAfZXRaMM66i8nJyxpKS86BbhwkbgTGbwO1OY87GERliHeREJfcER0E0ZzwNow7MNR8ZDm6IvJQ==", + "peer": true, + "dependencies": { + "detect-libc": "^1.0.3", + "xxhash-wasm": "^0.4.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/logger": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.8.2.tgz", + "integrity": "sha512-zlhK6QHxfFJMlVJxxcCw0xxBDrYPFPOhMxSD6p6b0z9Yct1l3NdpmfabgjKX8wnZmHokFsil6daleM+M80n2Ew==", + "peer": true, + "dependencies": { + "@parcel/diagnostic": "2.8.2", + "@parcel/events": "2.8.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/markdown-ansi": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.8.2.tgz", + "integrity": "sha512-5y29TXgRgG0ybuXaDsDk4Aofg/nDUeAAyVl9/toYCDDhxpQV4yZt8WNPu4PaNYKGLuNgXwsmz+ryZQHGmfbAIQ==", + "peer": true, + "dependencies": { + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/package-manager": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.8.2.tgz", + "integrity": "sha512-hx4Imi0yhsSS0aNZkEANPYNNKqBuR63EUNWSxMyHh4ZOvbHoOXnMn1ySGdx6v0oi9HvKymNsLMQ1T5CuI4l4Bw==", + "peer": true, + "dependencies": { + "@parcel/diagnostic": "2.8.2", + "@parcel/fs": "2.8.2", + "@parcel/logger": "2.8.2", + "@parcel/types": "2.8.2", + "@parcel/utils": "2.8.2", + "@parcel/workers": "2.8.2", + "semver": "^5.7.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.8.2" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/plugin": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.8.2.tgz", + "integrity": "sha512-YG7TWfKsoNm72jbz3b3TLec0qJHVkuAWSzGzowdIhX37cP1kRfp6BU2VcH+qYPP/KYJLzhcZa9n3by147mGcxw==", + "peer": true, + "dependencies": { + "@parcel/types": "2.8.2" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/types": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.8.2.tgz", + "integrity": "sha512-HAYhokWxM10raIhqaYj9VR9eAvJ+xP2sNfQ1IcQybHpq3qblcBe/4jDeuUpwIyKeQ4gorp7xY+q8KDoR20j43w==", + "peer": true, + "dependencies": { + "@parcel/cache": "2.8.2", + "@parcel/diagnostic": "2.8.2", + "@parcel/fs": "2.8.2", + "@parcel/package-manager": "2.8.2", + "@parcel/source-map": "^2.1.1", + "@parcel/workers": "2.8.2", + "utility-types": "^3.10.0" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/utils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.8.2.tgz", + "integrity": "sha512-Ufax7wZxC9FNsUpR0EU7Z22LEY/q9jjsDTwswctCdfpWb7TE/NudOfM9myycfRvwBVEYN50lPbkt1QltEVnXQQ==", + "peer": true, + "dependencies": { + "@parcel/codeframe": "2.8.2", + "@parcel/diagnostic": "2.8.2", + "@parcel/hash": "2.8.2", + "@parcel/logger": "2.8.2", + "@parcel/markdown-ansi": "2.8.2", + "@parcel/source-map": "^2.1.1", + "chalk": "^4.1.0" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/workers": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.8.2.tgz", + "integrity": "sha512-Eg6CofIrJSNBa2fjXwvnzVLPKwR/6fkfQTFAm3Jl+4JYLVknBtTSFzQNp/Fa+HUEG889H9ucTk2CBi/fVPBAFw==", + "peer": true, + "dependencies": { + "@parcel/diagnostic": "2.8.2", + "@parcel/logger": "2.8.2", + "@parcel/types": "2.8.2", + "@parcel/utils": "2.8.2", + "chrome-trace-event": "^1.0.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "peerDependencies": { + "@parcel/core": "^2.8.2" + } + }, "node_modules/@parcel/optimizer-css/node_modules/@parcel/diagnostic": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.0.tgz", @@ -828,6 +1162,22 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/@parcel/optimizer-css/node_modules/@parcel/graph": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.8.2.tgz", + "integrity": "sha512-SLEvBQBgfkXgU4EBu30+CNanpuKjcNuEv/x8SwobCF0i3Rk+QKbe7T36bNR7727mao++2Ha69q93Dd9dTPw0kQ==", + "peer": true, + "dependencies": { + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@parcel/optimizer-css/node_modules/@parcel/hash": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.0.tgz", @@ -1060,6 +1410,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.7.0.tgz", "integrity": "sha512-wmfSX1mRrTi8MeA4KrnPk/x7zGUsILCQmTo6lA4gygzAxDbM1pGuyFN8/Kt0y0SFO2lbljARtD/4an5qdotH+Q==", + "dev": true, "dependencies": { "@parcel/diagnostic": "2.7.0", "@parcel/fs": "2.7.0", @@ -1185,6 +1536,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.7.0.tgz", "integrity": "sha512-qqgx+nnMn6/0lRc4lKbLGmhNtBiT93S2gFNB4Eb4Pfz/SxVYoW+fmml+KdfOSiZffWOAH5L6NwhyD7N8aSikzw==", + "dev": true, "dependencies": { "@parcel/types": "2.7.0" }, @@ -1608,6 +1960,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.7.0.tgz", "integrity": "sha512-+dhXVUnseTCpJvBTGMp0V6X13z6O/A/+CUtwEpMGZ8XSmZ4Gk44GvaTiBOp0bJpWG4fvCKp+UmC8PYbrDiiziw==", + "dev": true, "dependencies": { "@parcel/cache": "2.7.0", "@parcel/diagnostic": "2.7.0", @@ -1622,6 +1975,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.7.0.tgz", "integrity": "sha512-jNZ5bIGg1r1RDRKi562o4kuVwnz+XJ2Ie3b0Zwrqwvgfj6AbRFIKzDd+h85dWWmcDYzKUbHp11u6VJl1u8Vapg==", + "dev": true, "dependencies": { "@parcel/codeframe": "2.7.0", "@parcel/diagnostic": "2.7.0", @@ -1660,6 +2014,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.7.0.tgz", "integrity": "sha512-99VfaOX+89+RaoTSyH9ZQtkMBFZBFMvJmVJ/GeJT6QCd2wtKBStTHlaSnQOkLD/iRjJCNwV2xpZmm8YkTwV+hg==", + "dev": true, "dependencies": { "@parcel/diagnostic": "2.7.0", "@parcel/logger": "2.7.0", @@ -1697,6 +2052,28 @@ "node": ">=10.13.0" } }, + "node_modules/@types/linkify-it": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "dev": true + }, "node_modules/@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", @@ -1747,6 +2124,12 @@ "node": ">= 8" } }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "node_modules/array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", @@ -1796,6 +2179,12 @@ "node": ">=8" } }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -1880,6 +2269,18 @@ } ] }, + "node_modules/catharsis": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -2544,6 +2945,53 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, + "node_modules/js2xmlparser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", + "dev": true, + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, + "node_modules/jsdoc": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.0.tgz", + "integrity": "sha512-tzTgkklbWKrlaQL2+e3NNgLcZu3NaK2vsHRx7tyHQ+H5jcB9Gx0txSd2eJWlMC/xU1+7LQu4s58Ry0RkuaEQVg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.9.4", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsdoc/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -2569,6 +3017,15 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, "node_modules/lightningcss": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.16.1.tgz", @@ -2752,6 +3209,15 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, "node_modules/lmdb": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.5.2.tgz", @@ -2816,12 +3282,65 @@ "semver": "bin/semver.js" } }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.6", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.6.tgz", + "integrity": "sha512-jRW30YGywD2ESXDc+l17AiritL0uVaSnWsb26f+68qaW9zgbIIr1f4v2Nsvc0+s0Z2N3uX6t/yAw7BwCQ1wMsA==", + "dev": true, + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/marked": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.5.tgz", + "integrity": "sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -2833,6 +3352,18 @@ "node": "*" } }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/msgpackr": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.6.3.tgz", @@ -3217,6 +3748,15 @@ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, + "node_modules/requizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + } + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -3305,6 +3845,18 @@ "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", "dev": true }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-outer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", @@ -3431,6 +3983,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "dev": true + }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -3488,6 +4052,12 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, + "node_modules/xmlcreate": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "dev": true + }, "node_modules/xxhash-wasm": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", @@ -3582,6 +4152,12 @@ } } }, + "@babel/parser": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz", + "integrity": "sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==", + "dev": true + }, "@jridgewell/gen-mapping": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", @@ -3631,6 +4207,15 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "@jsdoc/salty": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.2.tgz", + "integrity": "sha512-A1FrVnc7L9qI2gUGsfN0trTiJNK72Y0CL/VAyrmYEmeKI3pnHDawP64CEev31XLyAAOx2xmDo3tbadPxC0CSbw==", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, "@lezer/common": { "version": "0.15.12", "resolved": "https://registry.npmjs.org/@lezer/common/-/common-0.15.12.tgz", @@ -3743,6 +4328,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.7.0.tgz", "integrity": "sha512-JlXNoZXcWzLKdDlfeF3dIj5Vtel5T9vtdBN72PJ+cjC4qNHk4Uwvc5sfOBELuibGN0bVu2bwY9nUgSwCiB1iIA==", + "dev": true, "requires": { "@parcel/fs": "2.7.0", "@parcel/logger": "2.7.0", @@ -3754,6 +4340,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.7.0.tgz", "integrity": "sha512-UTKx0jejJmmO1dwTHSJuRgrO8N6PMlkxRT6sew8N6NC3Bgv6pu0EbO+RtlWt/jCvzcdLOPdIoTzj4MMZvgcMYg==", + "dev": true, "requires": { "chalk": "^4.1.0" } @@ -3826,6 +4413,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.7.0.tgz", "integrity": "sha512-7yKZUdh314Q/kU/9+27ZYTfcnXS6VYHuG+iiUlIohnvUUybxLqVJhdMU9Q+z2QcPka1IdJWz4K4Xx0y6/4goyg==", + "dev": true, "requires": { "@mischnic/json-sourcemap": "^0.1.0", "@parcel/cache": "2.7.0", @@ -3866,6 +4454,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.7.0.tgz", "integrity": "sha512-pdq/cTwVoL0n8yuDCRXFRSQHVWdmmIXPt3R3iT4KtYDYvOrMT2dLPT79IMqQkhYPANW8GuL15n/WxRngfRdkug==", + "dev": true, "requires": { "@mischnic/json-sourcemap": "^0.1.0", "nullthrows": "^1.1.1" @@ -3874,12 +4463,14 @@ "@parcel/events": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.7.0.tgz", - "integrity": "sha512-kQDwMKgZ1U4M/G17qeDYF6bW5kybluN6ajYPc7mZcrWg+trEI/oXi81GMFaMX0BSUhwhbiN5+/Vb2wiG/Sn6ig==" + "integrity": "sha512-kQDwMKgZ1U4M/G17qeDYF6bW5kybluN6ajYPc7mZcrWg+trEI/oXi81GMFaMX0BSUhwhbiN5+/Vb2wiG/Sn6ig==", + "dev": true }, "@parcel/fs": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.7.0.tgz", "integrity": "sha512-PU5fo4Hh8y03LZgemgVREttc0wyHQUNmsJCybxTB7EjJie2CqJRumo+DFppArlvdchLwJdc9em03yQV/GNWrEg==", + "dev": true, "requires": { "@parcel/fs-search": "2.7.0", "@parcel/types": "2.7.0", @@ -3892,6 +4483,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.7.0.tgz", "integrity": "sha512-K1Hv25bnRpwQVA15RvcRuB8ZhfclnCHA8N8L6w7Ul1ncSJDxCIkIAc5hAubYNNYW3kWjCC2SOaEgFKnbvMllEQ==", + "dev": true, "requires": { "detect-libc": "^1.0.3" } @@ -3900,6 +4492,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.7.0.tgz", "integrity": "sha512-Q6E94GS6q45PtsZh+m+gvFRp/N1Qopxhu2sxjcWsGs5iBd6IWn2oYLWOH5iVzEjWuYpW2HkB08lH6J50O63uOA==", + "dev": true, "requires": { "@parcel/utils": "2.7.0", "nullthrows": "^1.1.1" @@ -3909,6 +4502,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.7.0.tgz", "integrity": "sha512-k6bSKnIlPJMPU3yjQzfgfvF9zuJZGOAlJgzpL4BbWvdbE8BTdjzLcFn0Ujrtud94EgIkiXd22sC2HpCUWoHGdA==", + "dev": true, "requires": { "detect-libc": "^1.0.3", "xxhash-wasm": "^0.4.2" @@ -3918,6 +4512,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.7.0.tgz", "integrity": "sha512-qjMY/bYo38+o+OiIrTRldU9CwL1E7J72t+xkTP8QIcUxLWz5LYR0YbynZUVulmBSfqsykjjxCy4a+8siVr+lPw==", + "dev": true, "requires": { "@parcel/diagnostic": "2.7.0", "@parcel/events": "2.7.0" @@ -3927,6 +4522,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.7.0.tgz", "integrity": "sha512-ipOX0D6FVZFEXeb/z8MnTMq2RQEIuaILY90olVIuHEFLHHfOPEn+RK3u13HA1ChF5/9E3cMD79tu6x9JL9Kqag==", + "dev": true, "requires": { "chalk": "^4.1.0" } @@ -3987,6 +4583,196 @@ "chalk": "^4.1.0" } }, + "@parcel/core": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.8.2.tgz", + "integrity": "sha512-ZGuq6p+Lzx6fgufaVsuOBwgpU3hgskTvIDIMdIDi9gOZyhGPK7U2srXdX+VYUL5ZSGbX04/P6QlB9FMAXK+nEg==", + "peer": true, + "requires": { + "@mischnic/json-sourcemap": "^0.1.0", + "@parcel/cache": "2.8.2", + "@parcel/diagnostic": "2.8.2", + "@parcel/events": "2.8.2", + "@parcel/fs": "2.8.2", + "@parcel/graph": "2.8.2", + "@parcel/hash": "2.8.2", + "@parcel/logger": "2.8.2", + "@parcel/package-manager": "2.8.2", + "@parcel/plugin": "2.8.2", + "@parcel/source-map": "^2.1.1", + "@parcel/types": "2.8.2", + "@parcel/utils": "2.8.2", + "@parcel/workers": "2.8.2", + "abortcontroller-polyfill": "^1.1.9", + "base-x": "^3.0.8", + "browserslist": "^4.6.6", + "clone": "^2.1.1", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "json5": "^2.2.0", + "msgpackr": "^1.5.4", + "nullthrows": "^1.1.1", + "semver": "^5.7.1" + }, + "dependencies": { + "@parcel/cache": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.8.2.tgz", + "integrity": "sha512-kiyoOgh1RXp5qp+wlb8Pi/Z7o9D82Oj5RlHnKSAauyR7jgnI8Vq8JTeBmlLqrf+kHxcDcp2p86hidSeANhlQNg==", + "peer": true, + "requires": { + "@parcel/fs": "2.8.2", + "@parcel/logger": "2.8.2", + "@parcel/utils": "2.8.2", + "lmdb": "2.5.2" + } + }, + "@parcel/codeframe": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.8.2.tgz", + "integrity": "sha512-U2GT9gq1Zs3Gr83j8JIs10bLbGOHFl57Y8D57nrdR05F4iilV/UR6K7jkhdoiFc9WiHh3ewvrko5+pSdAVFPgQ==", + "peer": true, + "requires": { + "chalk": "^4.1.0" + } + }, + "@parcel/diagnostic": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.2.tgz", + "integrity": "sha512-tGSMwM2rSYLjJW0fCd9gb3tNjfCX/83PZ10/5u2E33UZVkk8OIHsQmsrtq2H2g4oQL3rFxkfEx6nGPDGHwlx7A==", + "peer": true, + "requires": { + "@mischnic/json-sourcemap": "^0.1.0", + "nullthrows": "^1.1.1" + } + }, + "@parcel/events": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.8.2.tgz", + "integrity": "sha512-o5etrsKm16y8iRPnjtEBNy4lD0WAigD66yt/RZl9Rx0vPVDly/63Rr9+BrXWVW7bJ7x0S0VVpWW4j3f/qZOsXg==", + "peer": true + }, + "@parcel/fs": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.8.2.tgz", + "integrity": "sha512-aN8znbMndSqn1xwZEmMblzqmJsxcExv2jKLl/a9RUHAP7LaPYcPZIykDL3YwGCiKTCzjmRpXnNoyosjFFeBaHA==", + "peer": true, + "requires": { + "@parcel/fs-search": "2.8.2", + "@parcel/types": "2.8.2", + "@parcel/utils": "2.8.2", + "@parcel/watcher": "^2.0.7", + "@parcel/workers": "2.8.2" + } + }, + "@parcel/fs-search": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.8.2.tgz", + "integrity": "sha512-ovQnupRm/MoE/tbgH0Ivknk0QYenXAewjcog+T5umDmUlTmnIRZjURrgDf5Xtw8T/CD5Xv+HmIXpJ9Ez/LzJpw==", + "peer": true, + "requires": { + "detect-libc": "^1.0.3" + } + }, + "@parcel/hash": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.2.tgz", + "integrity": "sha512-NBnP8Hu0xvAqAfZXRaMM66i8nJyxpKS86BbhwkbgTGbwO1OY87GERliHeREJfcER0E0ZzwNow7MNR8ZDm6IvJQ==", + "peer": true, + "requires": { + "detect-libc": "^1.0.3", + "xxhash-wasm": "^0.4.2" + } + }, + "@parcel/logger": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.8.2.tgz", + "integrity": "sha512-zlhK6QHxfFJMlVJxxcCw0xxBDrYPFPOhMxSD6p6b0z9Yct1l3NdpmfabgjKX8wnZmHokFsil6daleM+M80n2Ew==", + "peer": true, + "requires": { + "@parcel/diagnostic": "2.8.2", + "@parcel/events": "2.8.2" + } + }, + "@parcel/markdown-ansi": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.8.2.tgz", + "integrity": "sha512-5y29TXgRgG0ybuXaDsDk4Aofg/nDUeAAyVl9/toYCDDhxpQV4yZt8WNPu4PaNYKGLuNgXwsmz+ryZQHGmfbAIQ==", + "peer": true, + "requires": { + "chalk": "^4.1.0" + } + }, + "@parcel/package-manager": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.8.2.tgz", + "integrity": "sha512-hx4Imi0yhsSS0aNZkEANPYNNKqBuR63EUNWSxMyHh4ZOvbHoOXnMn1ySGdx6v0oi9HvKymNsLMQ1T5CuI4l4Bw==", + "peer": true, + "requires": { + "@parcel/diagnostic": "2.8.2", + "@parcel/fs": "2.8.2", + "@parcel/logger": "2.8.2", + "@parcel/types": "2.8.2", + "@parcel/utils": "2.8.2", + "@parcel/workers": "2.8.2", + "semver": "^5.7.1" + } + }, + "@parcel/plugin": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.8.2.tgz", + "integrity": "sha512-YG7TWfKsoNm72jbz3b3TLec0qJHVkuAWSzGzowdIhX37cP1kRfp6BU2VcH+qYPP/KYJLzhcZa9n3by147mGcxw==", + "peer": true, + "requires": { + "@parcel/types": "2.8.2" + } + }, + "@parcel/types": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.8.2.tgz", + "integrity": "sha512-HAYhokWxM10raIhqaYj9VR9eAvJ+xP2sNfQ1IcQybHpq3qblcBe/4jDeuUpwIyKeQ4gorp7xY+q8KDoR20j43w==", + "peer": true, + "requires": { + "@parcel/cache": "2.8.2", + "@parcel/diagnostic": "2.8.2", + "@parcel/fs": "2.8.2", + "@parcel/package-manager": "2.8.2", + "@parcel/source-map": "^2.1.1", + "@parcel/workers": "2.8.2", + "utility-types": "^3.10.0" + } + }, + "@parcel/utils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.8.2.tgz", + "integrity": "sha512-Ufax7wZxC9FNsUpR0EU7Z22LEY/q9jjsDTwswctCdfpWb7TE/NudOfM9myycfRvwBVEYN50lPbkt1QltEVnXQQ==", + "peer": true, + "requires": { + "@parcel/codeframe": "2.8.2", + "@parcel/diagnostic": "2.8.2", + "@parcel/hash": "2.8.2", + "@parcel/logger": "2.8.2", + "@parcel/markdown-ansi": "2.8.2", + "@parcel/source-map": "^2.1.1", + "chalk": "^4.1.0" + } + }, + "@parcel/workers": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.8.2.tgz", + "integrity": "sha512-Eg6CofIrJSNBa2fjXwvnzVLPKwR/6fkfQTFAm3Jl+4JYLVknBtTSFzQNp/Fa+HUEG889H9ucTk2CBi/fVPBAFw==", + "peer": true, + "requires": { + "@parcel/diagnostic": "2.8.2", + "@parcel/logger": "2.8.2", + "@parcel/types": "2.8.2", + "@parcel/utils": "2.8.2", + "chrome-trace-event": "^1.0.2", + "nullthrows": "^1.1.1" + } + } + } + }, "@parcel/diagnostic": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.0.tgz", @@ -4021,6 +4807,15 @@ "detect-libc": "^1.0.3" } }, + "@parcel/graph": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.8.2.tgz", + "integrity": "sha512-SLEvBQBgfkXgU4EBu30+CNanpuKjcNuEv/x8SwobCF0i3Rk+QKbe7T36bNR7727mao++2Ha69q93Dd9dTPw0kQ==", + "peer": true, + "requires": { + "nullthrows": "^1.1.1" + } + }, "@parcel/hash": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.0.tgz", @@ -4168,6 +4963,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.7.0.tgz", "integrity": "sha512-wmfSX1mRrTi8MeA4KrnPk/x7zGUsILCQmTo6lA4gygzAxDbM1pGuyFN8/Kt0y0SFO2lbljARtD/4an5qdotH+Q==", + "dev": true, "requires": { "@parcel/diagnostic": "2.7.0", "@parcel/fs": "2.7.0", @@ -4243,6 +5039,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.7.0.tgz", "integrity": "sha512-qqgx+nnMn6/0lRc4lKbLGmhNtBiT93S2gFNB4Eb4Pfz/SxVYoW+fmml+KdfOSiZffWOAH5L6NwhyD7N8aSikzw==", + "dev": true, "requires": { "@parcel/types": "2.7.0" } @@ -4502,6 +5299,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.7.0.tgz", "integrity": "sha512-+dhXVUnseTCpJvBTGMp0V6X13z6O/A/+CUtwEpMGZ8XSmZ4Gk44GvaTiBOp0bJpWG4fvCKp+UmC8PYbrDiiziw==", + "dev": true, "requires": { "@parcel/cache": "2.7.0", "@parcel/diagnostic": "2.7.0", @@ -4516,6 +5314,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.7.0.tgz", "integrity": "sha512-jNZ5bIGg1r1RDRKi562o4kuVwnz+XJ2Ie3b0Zwrqwvgfj6AbRFIKzDd+h85dWWmcDYzKUbHp11u6VJl1u8Vapg==", + "dev": true, "requires": { "@parcel/codeframe": "2.7.0", "@parcel/diagnostic": "2.7.0", @@ -4539,6 +5338,7 @@ "version": "2.7.0", "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.7.0.tgz", "integrity": "sha512-99VfaOX+89+RaoTSyH9ZQtkMBFZBFMvJmVJ/GeJT6QCd2wtKBStTHlaSnQOkLD/iRjJCNwV2xpZmm8YkTwV+hg==", + "dev": true, "requires": { "@parcel/diagnostic": "2.7.0", "@parcel/logger": "2.7.0", @@ -4563,6 +5363,28 @@ "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true }, + "@types/linkify-it": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.2.tgz", + "integrity": "sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==", + "dev": true + }, + "@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "requires": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "dev": true + }, "@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", @@ -4598,6 +5420,12 @@ "picomatch": "^2.0.4" } }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", @@ -4638,6 +5466,12 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -4690,6 +5524,15 @@ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001400.tgz", "integrity": "sha512-Mv659Hn65Z4LgZdJ7ge5JTVbE3rqbJaaXgW5LEI9/tOaXclfIZ8DW7D7FCWWWmWiiPS7AC48S8kf3DApSxQdgA==" }, + "catharsis": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -5146,6 +5989,46 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, + "js2xmlparser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", + "dev": true, + "requires": { + "xmlcreate": "^2.0.4" + } + }, + "jsdoc": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.0.tgz", + "integrity": "sha512-tzTgkklbWKrlaQL2+e3NNgLcZu3NaK2vsHRx7tyHQ+H5jcB9Gx0txSd2eJWlMC/xU1+7LQu4s58Ry0RkuaEQVg==", + "dev": true, + "requires": { + "@babel/parser": "^7.9.4", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -5165,6 +6048,15 @@ "graceful-fs": "^4.1.6" } }, + "klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, "lightningcss": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.16.1.tgz", @@ -5235,6 +6127,15 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, + "linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "requires": { + "uc.micro": "^1.0.1" + } + }, "lmdb": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.5.2.tgz", @@ -5288,12 +6189,52 @@ } } }, + "markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "requires": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "dependencies": { + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true + } + } + }, + "markdown-it-anchor": { + "version": "8.6.6", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.6.tgz", + "integrity": "sha512-jRW30YGywD2ESXDc+l17AiritL0uVaSnWsb26f+68qaW9zgbIIr1f4v2Nsvc0+s0Z2N3uX6t/yAw7BwCQ1wMsA==", + "dev": true, + "requires": {} + }, + "marked": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.5.tgz", + "integrity": "sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ==", + "dev": true + }, "mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", "dev": true }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -5302,6 +6243,12 @@ "brace-expansion": "^1.1.7" } }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, "msgpackr": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.6.3.tgz", @@ -5578,6 +6525,15 @@ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, + "requizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -5633,6 +6589,12 @@ "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", "dev": true }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, "strip-outer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", @@ -5725,6 +6687,18 @@ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true }, + "uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "dev": true + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -5760,6 +6734,12 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, + "xmlcreate": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "dev": true + }, "xxhash-wasm": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-0.4.2.tgz", diff --git a/package.json b/package.json index 60f648a..a82e8e5 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ }, "devDependencies": { "@parcel/transformer-sass": "^2.7.0", + "jsdoc": "^4.0.0", "parcel": "^2.7.0", "prettier": "^2.7.1" }, diff --git a/src/cg-select.js b/src/cg-select.js index 2c2336b..a9ead64 100644 --- a/src/cg-select.js +++ b/src/cg-select.js @@ -499,7 +499,7 @@ export class DropDown { } if(nativeSelectMode === true){ - this.#SelectMode(nativeSelectMode); + this.#selectMode(nativeSelectMode); } @@ -508,7 +508,7 @@ export class DropDown { this.#caret = this.#element.querySelector('.caret'); if(listDisplayMode === true){ - this.#DisplayMode(listDisplayMode) + this.#displayMode(listDisplayMode) } this.#addOptionsBehaviour(); @@ -866,9 +866,9 @@ export class DropDown { * @protected * @param {boolean} nativeSelectMode параметр отвечающий за добавления нативного селекта. * @description Изменяет отображение селекта на мобильных устройствах - * @method #SelectMode + * @method #selectMode */ - #SelectMode(nativeSelectMode){ + #selectMode(nativeSelectMode){ let win = window.outerWidth; if(nativeSelectMode === true){ @@ -897,10 +897,9 @@ export class DropDown { * @protected * @param {boolean} listDisplayMode параметр отвечающий за отображение выбора в виде модального окна. * @description Изменяет отображение листа с выбором в виде модального окна. - * @method #DisplayMode - * @returns + * @method #displayMode */ - #DisplayMode(listDisplayMode){ + #displayMode(listDisplayMode){ if(listDisplayMode === true){ const modal = document.createElement('div'); const body = document.querySelector('body') @@ -914,7 +913,6 @@ export class DropDown { list.classList.toggle('listModal'); body.classList.toggle('overflowHide') }); - } else{ return } From 189d5eb02040ff7c2241965c847d187f1bc9ef4b Mon Sep 17 00:00:00 2001 From: MaxOvs19 <88626313+MaxOvs19@users.noreply.github.com> Date: Thu, 29 Dec 2022 17:23:15 +0300 Subject: [PATCH 08/11] Update CHANGELOG.md --- CHANGELOG.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ea242d..6796be1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # CG-SELECT -## 16.12.2022 - релиз версии 0.1.0! +### 16.12.2022 - релиз версии 0.1.0! ### 20.12.2022 - обновление 0.1.12. @@ -13,7 +13,10 @@ - Изменеия в расположении файлов scss. - Исправлено влияние стилей селекта на JS приложение. -### ..... - обновление 0.1.17 +### 29.12.2022 - обновление 0.1.17 - Добавленна возможность менять отображения селекта на телефонах (нативный/cg-select). -- Добавленна возможность менять отображения листа с выбором (обычный/модальное окно) +- Добавленна возможность менять отображения листа с выбором (обычный/модальное окно). +- Исправленны выявленные баги. +- Исправленно отображение страницы с примером на мобильных устройствах. +- Обновленна документация! From b0ce468f304d8f077f93538443b52a50e9c61ab4 Mon Sep 17 00:00:00 2001 From: MaxOvs19 <88626313+MaxOvs19@users.noreply.github.com> Date: Thu, 29 Dec 2022 17:25:02 +0300 Subject: [PATCH 09/11] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3949fa3..8af1769 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # CG-SELECT -## version ~ 0.1.16 +## version ~ 0.1.17 Этот компонент позволяет создать кастомный селект. Он предлагает более гибкую настройку и использование селекта. Доступна кастомизация, мультивыбор и живой поиск по елементам. @@ -74,7 +74,7 @@ const dropdown = new DropDown({ ![image](https://github.com/apuc/cg-select/blob/main/src/images/WhiteTheme.png) ![image](https://github.com/apuc/cg-select/blob/main/src/images/Categories.png) -Вся документация по CG-SELECT находится в одноименной папке. В документации описаны все методы и переменные, также есть примеры передачи настроек в select. +Вся документация по CG-SELECT находится в одноименной папке. В документации описаны все методы и переменные, также есть примеры передачи настроек в select. Так же её можно открыть на странице с примером, или перейти по ссылке ниже. **Чтобы ознакомиться с ней, перейдите по ссылке -** https://cg-select.itguild.info/up_/up_/documentation/index.html From d36b96087658b454e8c353db06b75acd603eedd5 Mon Sep 17 00:00:00 2001 From: Victor Date: Fri, 30 Dec 2022 22:00:13 +0300 Subject: [PATCH 10/11] fix dist --- index.js | 1 - package-lock.json | 542 ++-------------------------------------------- package.json | 1 - src/cg-select.js | 61 +++--- 4 files changed, 50 insertions(+), 555 deletions(-) diff --git a/index.js b/index.js index 5f6d2ca..f7f8241 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,3 @@ import { DropDown } from './src/cg-select'; - export default DropDown; diff --git a/package-lock.json b/package-lock.json index 5d17e5c..25ef20a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -799,304 +799,6 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.8.2.tgz", - "integrity": "sha512-ZGuq6p+Lzx6fgufaVsuOBwgpU3hgskTvIDIMdIDi9gOZyhGPK7U2srXdX+VYUL5ZSGbX04/P6QlB9FMAXK+nEg==", - "peer": true, - "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/cache": "2.8.2", - "@parcel/diagnostic": "2.8.2", - "@parcel/events": "2.8.2", - "@parcel/fs": "2.8.2", - "@parcel/graph": "2.8.2", - "@parcel/hash": "2.8.2", - "@parcel/logger": "2.8.2", - "@parcel/package-manager": "2.8.2", - "@parcel/plugin": "2.8.2", - "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.8.2", - "@parcel/utils": "2.8.2", - "@parcel/workers": "2.8.2", - "abortcontroller-polyfill": "^1.1.9", - "base-x": "^3.0.8", - "browserslist": "^4.6.6", - "clone": "^2.1.1", - "dotenv": "^7.0.0", - "dotenv-expand": "^5.1.0", - "json5": "^2.2.0", - "msgpackr": "^1.5.4", - "nullthrows": "^1.1.1", - "semver": "^5.7.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/cache": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.8.2.tgz", - "integrity": "sha512-kiyoOgh1RXp5qp+wlb8Pi/Z7o9D82Oj5RlHnKSAauyR7jgnI8Vq8JTeBmlLqrf+kHxcDcp2p86hidSeANhlQNg==", - "peer": true, - "dependencies": { - "@parcel/fs": "2.8.2", - "@parcel/logger": "2.8.2", - "@parcel/utils": "2.8.2", - "lmdb": "2.5.2" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.8.2" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/codeframe": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.8.2.tgz", - "integrity": "sha512-U2GT9gq1Zs3Gr83j8JIs10bLbGOHFl57Y8D57nrdR05F4iilV/UR6K7jkhdoiFc9WiHh3ewvrko5+pSdAVFPgQ==", - "peer": true, - "dependencies": { - "chalk": "^4.1.0" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/diagnostic": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.2.tgz", - "integrity": "sha512-tGSMwM2rSYLjJW0fCd9gb3tNjfCX/83PZ10/5u2E33UZVkk8OIHsQmsrtq2H2g4oQL3rFxkfEx6nGPDGHwlx7A==", - "peer": true, - "dependencies": { - "@mischnic/json-sourcemap": "^0.1.0", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/events": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.8.2.tgz", - "integrity": "sha512-o5etrsKm16y8iRPnjtEBNy4lD0WAigD66yt/RZl9Rx0vPVDly/63Rr9+BrXWVW7bJ7x0S0VVpWW4j3f/qZOsXg==", - "peer": true, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/fs": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.8.2.tgz", - "integrity": "sha512-aN8znbMndSqn1xwZEmMblzqmJsxcExv2jKLl/a9RUHAP7LaPYcPZIykDL3YwGCiKTCzjmRpXnNoyosjFFeBaHA==", - "peer": true, - "dependencies": { - "@parcel/fs-search": "2.8.2", - "@parcel/types": "2.8.2", - "@parcel/utils": "2.8.2", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.8.2" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.8.2" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/fs-search": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.8.2.tgz", - "integrity": "sha512-ovQnupRm/MoE/tbgH0Ivknk0QYenXAewjcog+T5umDmUlTmnIRZjURrgDf5Xtw8T/CD5Xv+HmIXpJ9Ez/LzJpw==", - "peer": true, - "dependencies": { - "detect-libc": "^1.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/hash": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.2.tgz", - "integrity": "sha512-NBnP8Hu0xvAqAfZXRaMM66i8nJyxpKS86BbhwkbgTGbwO1OY87GERliHeREJfcER0E0ZzwNow7MNR8ZDm6IvJQ==", - "peer": true, - "dependencies": { - "detect-libc": "^1.0.3", - "xxhash-wasm": "^0.4.2" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/logger": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.8.2.tgz", - "integrity": "sha512-zlhK6QHxfFJMlVJxxcCw0xxBDrYPFPOhMxSD6p6b0z9Yct1l3NdpmfabgjKX8wnZmHokFsil6daleM+M80n2Ew==", - "peer": true, - "dependencies": { - "@parcel/diagnostic": "2.8.2", - "@parcel/events": "2.8.2" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/markdown-ansi": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.8.2.tgz", - "integrity": "sha512-5y29TXgRgG0ybuXaDsDk4Aofg/nDUeAAyVl9/toYCDDhxpQV4yZt8WNPu4PaNYKGLuNgXwsmz+ryZQHGmfbAIQ==", - "peer": true, - "dependencies": { - "chalk": "^4.1.0" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/package-manager": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.8.2.tgz", - "integrity": "sha512-hx4Imi0yhsSS0aNZkEANPYNNKqBuR63EUNWSxMyHh4ZOvbHoOXnMn1ySGdx6v0oi9HvKymNsLMQ1T5CuI4l4Bw==", - "peer": true, - "dependencies": { - "@parcel/diagnostic": "2.8.2", - "@parcel/fs": "2.8.2", - "@parcel/logger": "2.8.2", - "@parcel/types": "2.8.2", - "@parcel/utils": "2.8.2", - "@parcel/workers": "2.8.2", - "semver": "^5.7.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.8.2" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/plugin": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.8.2.tgz", - "integrity": "sha512-YG7TWfKsoNm72jbz3b3TLec0qJHVkuAWSzGzowdIhX37cP1kRfp6BU2VcH+qYPP/KYJLzhcZa9n3by147mGcxw==", - "peer": true, - "dependencies": { - "@parcel/types": "2.8.2" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/types": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.8.2.tgz", - "integrity": "sha512-HAYhokWxM10raIhqaYj9VR9eAvJ+xP2sNfQ1IcQybHpq3qblcBe/4jDeuUpwIyKeQ4gorp7xY+q8KDoR20j43w==", - "peer": true, - "dependencies": { - "@parcel/cache": "2.8.2", - "@parcel/diagnostic": "2.8.2", - "@parcel/fs": "2.8.2", - "@parcel/package-manager": "2.8.2", - "@parcel/source-map": "^2.1.1", - "@parcel/workers": "2.8.2", - "utility-types": "^3.10.0" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/utils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.8.2.tgz", - "integrity": "sha512-Ufax7wZxC9FNsUpR0EU7Z22LEY/q9jjsDTwswctCdfpWb7TE/NudOfM9myycfRvwBVEYN50lPbkt1QltEVnXQQ==", - "peer": true, - "dependencies": { - "@parcel/codeframe": "2.8.2", - "@parcel/diagnostic": "2.8.2", - "@parcel/hash": "2.8.2", - "@parcel/logger": "2.8.2", - "@parcel/markdown-ansi": "2.8.2", - "@parcel/source-map": "^2.1.1", - "chalk": "^4.1.0" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/core/node_modules/@parcel/workers": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.8.2.tgz", - "integrity": "sha512-Eg6CofIrJSNBa2fjXwvnzVLPKwR/6fkfQTFAm3Jl+4JYLVknBtTSFzQNp/Fa+HUEG889H9ucTk2CBi/fVPBAFw==", - "peer": true, - "dependencies": { - "@parcel/diagnostic": "2.8.2", - "@parcel/logger": "2.8.2", - "@parcel/types": "2.8.2", - "@parcel/utils": "2.8.2", - "chrome-trace-event": "^1.0.2", - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "peerDependencies": { - "@parcel/core": "^2.8.2" - } - }, "node_modules/@parcel/optimizer-css/node_modules/@parcel/diagnostic": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.0.tgz", @@ -1162,22 +864,6 @@ "url": "https://opencollective.com/parcel" } }, - "node_modules/@parcel/optimizer-css/node_modules/@parcel/graph": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.8.2.tgz", - "integrity": "sha512-SLEvBQBgfkXgU4EBu30+CNanpuKjcNuEv/x8SwobCF0i3Rk+QKbe7T36bNR7727mao++2Ha69q93Dd9dTPw0kQ==", - "peer": true, - "dependencies": { - "nullthrows": "^1.1.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, "node_modules/@parcel/optimizer-css/node_modules/@parcel/hash": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.0.tgz", @@ -2083,7 +1769,8 @@ "node_modules/abortcontroller-polyfill": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz", - "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==" + "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==", + "dev": true }, "node_modules/acorn": { "version": "8.8.0", @@ -2166,6 +1853,7 @@ "version": "3.0.9", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dev": true, "dependencies": { "safe-buffer": "^5.0.1" } @@ -2335,6 +2023,7 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, "engines": { "node": ">=0.8" } @@ -2522,6 +2211,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "dev": true, "engines": { "node": ">=6" } @@ -2529,7 +2219,8 @@ "node_modules/dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true }, "node_modules/electron-to-chromium": { "version": "1.4.251", @@ -3770,6 +3461,7 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, "funding": [ { "type": "github", @@ -4583,196 +4275,6 @@ "chalk": "^4.1.0" } }, - "@parcel/core": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/core/-/core-2.8.2.tgz", - "integrity": "sha512-ZGuq6p+Lzx6fgufaVsuOBwgpU3hgskTvIDIMdIDi9gOZyhGPK7U2srXdX+VYUL5ZSGbX04/P6QlB9FMAXK+nEg==", - "peer": true, - "requires": { - "@mischnic/json-sourcemap": "^0.1.0", - "@parcel/cache": "2.8.2", - "@parcel/diagnostic": "2.8.2", - "@parcel/events": "2.8.2", - "@parcel/fs": "2.8.2", - "@parcel/graph": "2.8.2", - "@parcel/hash": "2.8.2", - "@parcel/logger": "2.8.2", - "@parcel/package-manager": "2.8.2", - "@parcel/plugin": "2.8.2", - "@parcel/source-map": "^2.1.1", - "@parcel/types": "2.8.2", - "@parcel/utils": "2.8.2", - "@parcel/workers": "2.8.2", - "abortcontroller-polyfill": "^1.1.9", - "base-x": "^3.0.8", - "browserslist": "^4.6.6", - "clone": "^2.1.1", - "dotenv": "^7.0.0", - "dotenv-expand": "^5.1.0", - "json5": "^2.2.0", - "msgpackr": "^1.5.4", - "nullthrows": "^1.1.1", - "semver": "^5.7.1" - }, - "dependencies": { - "@parcel/cache": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/cache/-/cache-2.8.2.tgz", - "integrity": "sha512-kiyoOgh1RXp5qp+wlb8Pi/Z7o9D82Oj5RlHnKSAauyR7jgnI8Vq8JTeBmlLqrf+kHxcDcp2p86hidSeANhlQNg==", - "peer": true, - "requires": { - "@parcel/fs": "2.8.2", - "@parcel/logger": "2.8.2", - "@parcel/utils": "2.8.2", - "lmdb": "2.5.2" - } - }, - "@parcel/codeframe": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.8.2.tgz", - "integrity": "sha512-U2GT9gq1Zs3Gr83j8JIs10bLbGOHFl57Y8D57nrdR05F4iilV/UR6K7jkhdoiFc9WiHh3ewvrko5+pSdAVFPgQ==", - "peer": true, - "requires": { - "chalk": "^4.1.0" - } - }, - "@parcel/diagnostic": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.2.tgz", - "integrity": "sha512-tGSMwM2rSYLjJW0fCd9gb3tNjfCX/83PZ10/5u2E33UZVkk8OIHsQmsrtq2H2g4oQL3rFxkfEx6nGPDGHwlx7A==", - "peer": true, - "requires": { - "@mischnic/json-sourcemap": "^0.1.0", - "nullthrows": "^1.1.1" - } - }, - "@parcel/events": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/events/-/events-2.8.2.tgz", - "integrity": "sha512-o5etrsKm16y8iRPnjtEBNy4lD0WAigD66yt/RZl9Rx0vPVDly/63Rr9+BrXWVW7bJ7x0S0VVpWW4j3f/qZOsXg==", - "peer": true - }, - "@parcel/fs": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-2.8.2.tgz", - "integrity": "sha512-aN8znbMndSqn1xwZEmMblzqmJsxcExv2jKLl/a9RUHAP7LaPYcPZIykDL3YwGCiKTCzjmRpXnNoyosjFFeBaHA==", - "peer": true, - "requires": { - "@parcel/fs-search": "2.8.2", - "@parcel/types": "2.8.2", - "@parcel/utils": "2.8.2", - "@parcel/watcher": "^2.0.7", - "@parcel/workers": "2.8.2" - } - }, - "@parcel/fs-search": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.8.2.tgz", - "integrity": "sha512-ovQnupRm/MoE/tbgH0Ivknk0QYenXAewjcog+T5umDmUlTmnIRZjURrgDf5Xtw8T/CD5Xv+HmIXpJ9Ez/LzJpw==", - "peer": true, - "requires": { - "detect-libc": "^1.0.3" - } - }, - "@parcel/hash": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.2.tgz", - "integrity": "sha512-NBnP8Hu0xvAqAfZXRaMM66i8nJyxpKS86BbhwkbgTGbwO1OY87GERliHeREJfcER0E0ZzwNow7MNR8ZDm6IvJQ==", - "peer": true, - "requires": { - "detect-libc": "^1.0.3", - "xxhash-wasm": "^0.4.2" - } - }, - "@parcel/logger": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-2.8.2.tgz", - "integrity": "sha512-zlhK6QHxfFJMlVJxxcCw0xxBDrYPFPOhMxSD6p6b0z9Yct1l3NdpmfabgjKX8wnZmHokFsil6daleM+M80n2Ew==", - "peer": true, - "requires": { - "@parcel/diagnostic": "2.8.2", - "@parcel/events": "2.8.2" - } - }, - "@parcel/markdown-ansi": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.8.2.tgz", - "integrity": "sha512-5y29TXgRgG0ybuXaDsDk4Aofg/nDUeAAyVl9/toYCDDhxpQV4yZt8WNPu4PaNYKGLuNgXwsmz+ryZQHGmfbAIQ==", - "peer": true, - "requires": { - "chalk": "^4.1.0" - } - }, - "@parcel/package-manager": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.8.2.tgz", - "integrity": "sha512-hx4Imi0yhsSS0aNZkEANPYNNKqBuR63EUNWSxMyHh4ZOvbHoOXnMn1ySGdx6v0oi9HvKymNsLMQ1T5CuI4l4Bw==", - "peer": true, - "requires": { - "@parcel/diagnostic": "2.8.2", - "@parcel/fs": "2.8.2", - "@parcel/logger": "2.8.2", - "@parcel/types": "2.8.2", - "@parcel/utils": "2.8.2", - "@parcel/workers": "2.8.2", - "semver": "^5.7.1" - } - }, - "@parcel/plugin": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.8.2.tgz", - "integrity": "sha512-YG7TWfKsoNm72jbz3b3TLec0qJHVkuAWSzGzowdIhX37cP1kRfp6BU2VcH+qYPP/KYJLzhcZa9n3by147mGcxw==", - "peer": true, - "requires": { - "@parcel/types": "2.8.2" - } - }, - "@parcel/types": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/types/-/types-2.8.2.tgz", - "integrity": "sha512-HAYhokWxM10raIhqaYj9VR9eAvJ+xP2sNfQ1IcQybHpq3qblcBe/4jDeuUpwIyKeQ4gorp7xY+q8KDoR20j43w==", - "peer": true, - "requires": { - "@parcel/cache": "2.8.2", - "@parcel/diagnostic": "2.8.2", - "@parcel/fs": "2.8.2", - "@parcel/package-manager": "2.8.2", - "@parcel/source-map": "^2.1.1", - "@parcel/workers": "2.8.2", - "utility-types": "^3.10.0" - } - }, - "@parcel/utils": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-2.8.2.tgz", - "integrity": "sha512-Ufax7wZxC9FNsUpR0EU7Z22LEY/q9jjsDTwswctCdfpWb7TE/NudOfM9myycfRvwBVEYN50lPbkt1QltEVnXQQ==", - "peer": true, - "requires": { - "@parcel/codeframe": "2.8.2", - "@parcel/diagnostic": "2.8.2", - "@parcel/hash": "2.8.2", - "@parcel/logger": "2.8.2", - "@parcel/markdown-ansi": "2.8.2", - "@parcel/source-map": "^2.1.1", - "chalk": "^4.1.0" - } - }, - "@parcel/workers": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-2.8.2.tgz", - "integrity": "sha512-Eg6CofIrJSNBa2fjXwvnzVLPKwR/6fkfQTFAm3Jl+4JYLVknBtTSFzQNp/Fa+HUEG889H9ucTk2CBi/fVPBAFw==", - "peer": true, - "requires": { - "@parcel/diagnostic": "2.8.2", - "@parcel/logger": "2.8.2", - "@parcel/types": "2.8.2", - "@parcel/utils": "2.8.2", - "chrome-trace-event": "^1.0.2", - "nullthrows": "^1.1.1" - } - } - } - }, "@parcel/diagnostic": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.0.tgz", @@ -4807,15 +4309,6 @@ "detect-libc": "^1.0.3" } }, - "@parcel/graph": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/@parcel/graph/-/graph-2.8.2.tgz", - "integrity": "sha512-SLEvBQBgfkXgU4EBu30+CNanpuKjcNuEv/x8SwobCF0i3Rk+QKbe7T36bNR7727mao++2Ha69q93Dd9dTPw0kQ==", - "peer": true, - "requires": { - "nullthrows": "^1.1.1" - } - }, "@parcel/hash": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.0.tgz", @@ -5394,7 +4887,8 @@ "abortcontroller-polyfill": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz", - "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==" + "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==", + "dev": true }, "acorn": { "version": "8.8.0", @@ -5456,6 +4950,7 @@ "version": "3.0.9", "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", + "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -5566,7 +5061,8 @@ "clone": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==" + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true }, "color-convert": { "version": "2.0.1", @@ -5701,12 +5197,14 @@ "dotenv": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", - "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==" + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "dev": true }, "dotenv-expand": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true }, "electron-to-chromium": { "version": "1.4.251", @@ -6214,8 +5712,7 @@ "version": "8.6.6", "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.6.tgz", "integrity": "sha512-jRW30YGywD2ESXDc+l17AiritL0uVaSnWsb26f+68qaW9zgbIIr1f4v2Nsvc0+s0Z2N3uX6t/yAw7BwCQ1wMsA==", - "dev": true, - "requires": {} + "dev": true }, "marked": { "version": "4.2.5", @@ -6543,7 +6040,8 @@ "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true }, "sass": { "version": "1.54.9", diff --git a/package.json b/package.json index a82e8e5..54feff6 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,6 @@ "url": "https://github.com/apuc/" }, "homepage": "https://cg-select.itguild.info", - "main": "dist/index.js", "scripts": { "start": "parcel example/index.html -p 4500 --open ", "build": "parcel build index.js", diff --git a/src/cg-select.js b/src/cg-select.js index a9ead64..001802e 100644 --- a/src/cg-select.js +++ b/src/cg-select.js @@ -239,11 +239,10 @@ export class DropDown { * @method buttonControl */ buttonControl(button, method) { - const {listDisplayMode} = this.#options; + const { listDisplayMode } = this.#options; - - if(listDisplayMode === true){ - return + if (listDisplayMode === true) { + return; } this.btn = button; @@ -405,11 +404,15 @@ export class DropDown { * @description Рендер елементов в селекте. */ #render(select) { - const { - styles, multiselect, - searchMode, multiselectTag, - darkTheme, language, - nativeSelectMode, listDisplayMode + const { + styles, + multiselect, + searchMode, + multiselectTag, + darkTheme, + language, + nativeSelectMode, + listDisplayMode, } = this.#options; const random = Math.random().toString(36).substring(2, 10); @@ -498,17 +501,15 @@ export class DropDown { this.#checkTheme(); } - if(nativeSelectMode === true){ + if (nativeSelectMode === true) { this.#selectMode(nativeSelectMode); } - - this.#list = this.#element.querySelector('.list'); this.#caret = this.#element.querySelector('.caret'); - if(listDisplayMode === true){ - this.#displayMode(listDisplayMode) + if (listDisplayMode === true) { + this.#displayMode(listDisplayMode); } this.#addOptionsBehaviour(); @@ -868,28 +869,27 @@ export class DropDown { * @description Изменяет отображение селекта на мобильных устройствах * @method #selectMode */ - #selectMode(nativeSelectMode){ + #selectMode(nativeSelectMode) { let win = window.outerWidth; - if(nativeSelectMode === true){ + if (nativeSelectMode === true) { const select = this.#element.querySelector('.cg-select'); const list = this.#element.querySelector('.list'); - const nativeSelect = this.#element.querySelector('.nativeSelect') + const nativeSelect = this.#element.querySelector('.nativeSelect'); - if(win < 576){ + if (win < 576) { select.classList.add('displayHide'); list.classList.add('displayHide'); - nativeSelect.classList.add('nativeSelectActive'); - } else if( win > 576){ + nativeSelect.classList.add('nativeSelectActive'); + } else if (win > 576) { select.classList.remove('displayHide'); list.classList.remove('displayHide'); nativeSelect.classList.remove('nativeSelectActive'); nativeSelect.classList.add('displayHide'); } - } else{ - return + } else { + return; } - } /** @@ -899,23 +899,22 @@ export class DropDown { * @description Изменяет отображение листа с выбором в виде модального окна. * @method #displayMode */ - #displayMode(listDisplayMode){ - if(listDisplayMode === true){ + #displayMode(listDisplayMode) { + if (listDisplayMode === true) { const modal = document.createElement('div'); - const body = document.querySelector('body') + const body = document.querySelector('body'); const list = this.#list; - + modal.appendChild(list); this.#element.appendChild(modal); this.#element.addEventListener('click', () => { modal.classList.toggle('modal'); list.classList.toggle('listModal'); - body.classList.toggle('overflowHide') + body.classList.toggle('overflowHide'); }); - } else{ - return + } else { + return; } - } } From 4af10dd4764a1a8c2607841dd7d2a95e747cd9ac Mon Sep 17 00:00:00 2001 From: MaxOvs Date: Fri, 30 Dec 2022 23:17:33 +0300 Subject: [PATCH 11/11] Fixed styles and href doc --- README.md | 4 ++-- example/index.html | 2 +- package-lock.json | 4 ++-- package.json | 2 +- src/cg-select.js | 1 + 5 files changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8af1769..72986a5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # CG-SELECT -## version ~ 0.1.17 +## version ~ 0.1.171 Этот компонент позволяет создать кастомный селект. Он предлагает более гибкую настройку и использование селекта. Доступна кастомизация, мультивыбор и живой поиск по елементам. @@ -76,7 +76,7 @@ const dropdown = new DropDown({ Вся документация по CG-SELECT находится в одноименной папке. В документации описаны все методы и переменные, также есть примеры передачи настроек в select. Так же её можно открыть на странице с примером, или перейти по ссылке ниже. -**Чтобы ознакомиться с ней, перейдите по ссылке -** https://cg-select.itguild.info/up_/up_/documentation/index.html +**Чтобы ознакомиться с ней, перейдите по ссылке -** https://cg-select.itguild.info/up_/documentation/index.html ## Contributing diff --git a/example/index.html b/example/index.html index b36fe6f..fc867c5 100644 --- a/example/index.html +++ b/example/index.html @@ -27,7 +27,7 @@ diff --git a/package-lock.json b/package-lock.json index 25ef20a..75f0f49 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cg-select", - "version": "0.1.17", + "version": "0.1.171", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "cg-select", - "version": "0.1.17", + "version": "0.1.171", "license": "ISC", "dependencies": { "@parcel/optimizer-css": "^2.8.0", diff --git a/package.json b/package.json index 54feff6..407c559 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cg-select", - "version": "0.1.17", + "version": "0.1.171", "description": "Feature rich Select control for React/JS with multiselect, autocomplete and styling", "author": { "name": "CraftGroup", diff --git a/src/cg-select.js b/src/cg-select.js index 001802e..5a41e7c 100644 --- a/src/cg-select.js +++ b/src/cg-select.js @@ -15,6 +15,7 @@ import { createNativeSelect, } from './components/create-element'; import { ru, en } from './language/language'; +import './main.scss' /** * @class Описание класса DropDown