solid-ui 2.4.22-d939d9d0 → 2.4.22-e594bdfb
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/main.js +2083 -662
- package/dist/main.js.map +1 -1
- package/lib/chat/bookmarks.js +1 -2
- package/lib/chat/bookmarks.js.map +1 -1
- package/lib/iconBase.js +3 -2
- package/lib/iconBase.js.map +1 -1
- package/lib/login/login.d.ts +11 -7
- package/lib/login/login.d.ts.map +1 -1
- package/lib/login/login.js +259 -309
- package/lib/login/login.js.map +1 -1
- package/lib/style_multiSelect.js +67 -0
- package/lib/style_multiSelect.js.map +1 -0
- package/lib/tabs.d.ts +1 -1
- package/lib/tabs.d.ts.map +1 -1
- package/lib/tabs.js +34 -21
- package/lib/tabs.js.map +1 -1
- package/lib/utils/label.js +1 -1
- package/lib/utils/label.js.map +1 -1
- package/lib/versionInfo.js +4 -4
- package/lib/versionInfo.js.map +1 -1
- package/lib/widgets/error.d.ts +0 -12
- package/lib/widgets/error.d.ts.map +1 -1
- package/lib/widgets/error.js +5 -0
- package/lib/widgets/error.js.map +1 -1
- package/lib/widgets/forms.js +410 -187
- package/lib/widgets/forms.js.map +1 -1
- package/lib/widgets/multiSelect.js +784 -0
- package/lib/widgets/multiSelect.js.map +1 -0
- package/package.json +8 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/widgets/multiSelect.js"],"names":["IconicMultiSelect","data","itemTemplate","noData","noResults","placeholder","select","container","tagTemplate","textField","valueField","_data","_itemTemplate","_noData","_noResults","_placeholder","_select","_selectContainer","_tagTemplate","_textField","_valueField","nodeName","length","Error","_options","_getDataFromSettings","_getDataFromSelectTag","_renderMultiselect","_renderOptionsList","_domElements","clear","_multiselect","querySelector","input","optionsContainer","optionsContainerList","options","list","querySelectorAll","find","callbackFn","i","node","undefined","some","_enableEventListenners","_initSelectedList","callback","_event","option","index","html","style","multiselect__selected","value","_processTemplate","text","multiselect__remove_btn","_cross","insertAdjacentHTML","removeBtn","lastElementChild","addEventListener","target","el","dataset","_handleOption","_selectedOptions","classList","remove","setAttribute","multiselect__options","_removeOptionFromList","_handleClearSelectionBtn","_handlePlaceholder","_dispatchEvent","action","selection","_filterOptions","_removeAllArrowSelected","event","document","contains","_closeList","_clearSelection","add","multiselect__options_visible","e","_handleArrows","_handleBackspace","_handleEnter","isOpen","valueLowerCase","toLowerCase","textContent","substring","appendChild","parentNode","removeChild","hasResults","_showNoResults","result","characters","charactersLength","charAt","Math","floor","random","arr","item","push","selected","hasAttribute","isValueFieldValid","isTextFieldValid","keyCode","preventDefault","firstElementChild","multiselect__options_ul_li_arrow_selected","scrollIntoView","ArrowUp","Up","ArrowDown","Down","multiselect__options_ul_li","key","children","_scrollIntoView","lastSelectedOption","targetLastSelectedOption","display","dispatchEvent","splice","multiselect__options_selected","_addOptionToList","hasItemsSelected","template","processedTemplate","objAttr","match","map","replace","attr","className","optionDom","multiselect__options_ul","join","_showNoData","id","_generateId","createElement","multiselect__container","multiselect__wrapper","multiselect__input","multiselect__clear_btn","innerHTML","parent","child","rectParent","getBoundingClientRect","rectChild","top","bottom","offsetHeight","scrollTop","clientHeight","offsetTop","condition","multiselect__options_ul_p_multiselect__options_no_data","dom","multiselect__options_ul_p_multiselect__options_no_results"],"mappings":"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","sourcesContent":["/*\n * IconicMultiSelect v0.7.0\n * Licence: MIT\n * (c) 2021 Sidney Wimart.\n * repo & configuration: https://github.com/sidneywm/iconic-multiselect\n */\n\n/**\n * @version IconicMultiSelect v0.7.0\n * @licence MIT\n */\nimport * as style from '../style_multiSelect'\n\nexport class IconicMultiSelect {\n _data\n _domElements\n _event = () => {}\n _itemTemplate\n _multiselect\n _noData\n _noResults\n _options = []\n _placeholder\n _select\n _selectContainer\n _selectedOptions = []\n _tagTemplate\n _textField\n _valueField\n _cross = `\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.2253 4.81108C5.83477 4.42056 5.20161 4.42056 4.81108 4.81108C4.42056 5.20161 4.42056 5.83477 4.81108 6.2253L10.5858 12L4.81114 17.7747C4.42062 18.1652 4.42062 18.7984 4.81114 19.1889C5.20167 19.5794 5.83483 19.5794 6.22535 19.1889L12 13.4142L17.7747 19.1889C18.1652 19.5794 18.7984 19.5794 19.1889 19.1889C19.5794 18.7984 19.5794 18.1652 19.1889 17.7747L13.4142 12L19.189 6.2253C19.5795 5.83477 19.5795 5.20161 19.189 4.81108C18.7985 4.42056 18.1653 4.42056 17.7748 4.81108L12 10.5858L6.2253 4.81108Z\"\n fill=\"currentColor\"\n />\n </svg>\n `\n\n /**\n * Iconic Multiselect constructor.\n * @param { Object[] } data - Array of objects.\n * @param { string } noData - Defines the message when there is no data input.\n * @param { string } noResults - Defines the message when there is no result if options are filtered.\n * @param { string } placeholder - Defines the placeholder's text.\n * @param { string } select - DOM element to be selected. It must be a HTML Select tag - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select\n * @param { string } textField - Field to select in the object for the text.\n * @param { string } valueField - Field to select in the object for the value.\n */\n constructor ({ data, itemTemplate, noData, noResults, placeholder, select, container, tagTemplate, textField, valueField }) {\n this._data = data ?? []\n this._itemTemplate = itemTemplate ?? null\n this._noData = noData ?? 'No data found.'\n this._noResults = noResults ?? 'No results found.'\n this._placeholder = placeholder ?? 'Select...'\n this._select = select\n // Timea added a container here\n this._selectContainer = container\n this._tagTemplate = tagTemplate ?? null\n this._textField = textField ?? null\n this._valueField = valueField ?? null\n }\n\n /**\n * Initialize the Iconic Multiselect component.\n * @public\n */\n init () {\n // Timea change to use this._select instead of this._selectContainer\n if (this._select && this._select.nodeName === 'SELECT') {\n if (this._itemTemplate && this._data.length === 0) { throw new Error('itemTemplate must be initialized with data from the component settings') }\n if (this._tagTemplate && this._data.length === 0) { throw new Error('tagTemplate must be initialized with data from the component settings') }\n\n this._options = this._data.length > 0 ? this._getDataFromSettings() : this._getDataFromSelectTag()\n\n this._renderMultiselect()\n this._renderOptionsList()\n\n this._domElements = {\n clear: this._multiselect.querySelector('.multiselect__clear-btn'),\n input: this._multiselect.querySelector('.multiselect__input'),\n optionsContainer: this._multiselect.querySelector('.multiselect__options'),\n optionsContainerList: this._multiselect.querySelector('.multiselect__options > ul'),\n options: {\n list: this._multiselect.querySelectorAll('.multiselect__options > ul > li'),\n find: function (callbackFn) {\n for (let i = 0; i < this.list.length; i++) {\n const node = this.list[i]\n if (callbackFn(node)) return node\n }\n return undefined\n },\n some: function (callbackFn) {\n for (let i = 0; i < this.list.length; i++) {\n const node = this.list[i]\n if (callbackFn(node, i)) return true\n }\n return false\n }\n }\n }\n\n this._enableEventListenners()\n this._initSelectedList()\n } else {\n throw new Error(`The selector '${this._select}' did not select any valid select tag.`)\n }\n }\n\n /**\n * Subscribes to the emitted events.\n * @param { Function } callback - Callback function which emits a custom event object.\n * @public\n */\n subscribe (callback) {\n if (typeof callback === 'function') {\n this._event = callback\n } else {\n throw new Error('parameter in the subscribe method is not a function')\n }\n }\n\n /**\n * Add an option to the selection list.\n * @param { Object: { text: string; value: string; }} option\n * @private\n */\n _addOptionToList (option, index) {\n const html = `<span class=\"multiselect__selected\" style=\"${style.multiselect__selected}\" data-value=\"${option.value}\">${\n this._tagTemplate ? this._processTemplate(this._tagTemplate, index) : option.text\n }<span class=\"multiselect__remove-btn\" style=\"${style.multiselect__remove_btn}\">${this._cross}</span></span>`\n\n this._domElements.input.insertAdjacentHTML('beforebegin', html)\n\n const { lastElementChild: removeBtn } = this._multiselect.querySelector(`span[data-value=\"${option.value}\"]`)\n removeBtn.addEventListener('click', () => {\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n this._handleOption(target)\n })\n }\n\n /**\n * Clears all selected options.\n * @private\n */\n _clearSelection () {\n for (let i = 0; i < this._selectedOptions.length; i++) {\n const option = this._selectedOptions[i]\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n target.classList.remove('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options)\n this._removeOptionFromList(target.dataset.value)\n }\n this._selectedOptions = []\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n this._dispatchEvent({\n action: 'CLEAR_ALL_OPTIONS',\n selection: this._selectedOptions\n })\n }\n\n /**\n * Close the options container.\n * @private\n */\n _closeList () {\n this._domElements.input.value = ''\n this._domElements.optionsContainer.classList.remove('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options)\n this._filterOptions('')\n this._removeAllArrowSelected()\n }\n\n /**\n * Dispatches new events.\n * @param { object : { action: string; selection: { option: string; text: string; }[]; value?: string; } } event\n * @private\n */\n _dispatchEvent (event) {\n this._event(event)\n }\n\n /**\n * Enables all main event listenners.\n * @private\n */\n _enableEventListenners () {\n document.addEventListener('mouseup', ({ target }) => {\n if (!this._multiselect.contains(target)) {\n this._filterOptions('')\n this._closeList()\n this._handlePlaceholder()\n }\n })\n\n this._domElements.clear.addEventListener('click', () => {\n this._clearSelection()\n })\n\n for (let i = 0; i < this._domElements.options.list.length; i++) {\n const option = this._domElements.options.list[i]\n option.addEventListener('click', ({ target }) => {\n this._handleOption(target)\n this._closeList()\n })\n }\n\n this._domElements.input.addEventListener('focus', () => {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n })\n\n this._domElements.input.addEventListener('input', ({ target: { value } }) => {\n if (this._domElements.options.list.length > 0) {\n this._filterOptions(value)\n }\n })\n\n this._domElements.input.addEventListener('keydown', (e) => {\n this._handleArrows(e)\n this._handleBackspace(e)\n this._handleEnter(e)\n })\n }\n\n /**\n * Filters user input.\n * @param { string } value\n * @private\n */\n _filterOptions (value) {\n const isOpen = this._domElements.optionsContainer.classList.contains('visible')\n const valueLowerCase = value.toLowerCase()\n\n if (!isOpen && value.length > 0) {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n }\n\n if (this._domElements.options.list.length > 0) {\n for (let i = 0; i < this._domElements.options.list.length; i++) {\n const el = this._domElements.options.list[i]\n const text = this._itemTemplate ? this._data[i][this._textField] : el.textContent\n\n if (text.toLowerCase().substring(0, valueLowerCase.length) === valueLowerCase) {\n this._domElements.optionsContainerList.appendChild(el)\n } else {\n el.parentNode && el.parentNode.removeChild(el)\n }\n }\n\n const hasResults = this._domElements.options.some(\n (el, index) =>\n (this._itemTemplate ? this._data[index][this._textField] : el.textContent)\n .toLowerCase()\n .substring(0, valueLowerCase.length) === valueLowerCase\n )\n this._showNoResults(!hasResults)\n }\n }\n\n _generateId (length) {\n let result = ''\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n const charactersLength = characters.length\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength))\n }\n return result\n }\n\n /**\n * Gets data from select tag.\n * @private\n */\n _getDataFromSelectTag () {\n const arr = []\n const { options } = this._select\n for (let i = 0; i < options.length; i++) {\n const item = options[i]\n arr.push({\n text: item.text,\n value: item.value,\n selected: item.hasAttribute('selected')\n })\n }\n return arr\n }\n\n /**\n * Gets data from settings.\n * @private\n */\n _getDataFromSettings () {\n if (this._data.length > 0 && this._valueField && this._textField) {\n const isValueFieldValid = typeof this._valueField === 'string'\n const isTextFieldValid = typeof this._textField === 'string'\n const arr = []\n\n if (!isValueFieldValid || !isTextFieldValid) {\n throw new Error('textField and valueField must be of type string')\n }\n\n for (let i = 0; i < this._data.length; i++) {\n const item = this._data[i]\n arr.push({\n value: item[this._valueField],\n text: item[this._textField],\n selected: typeof item.selected === 'boolean' ? item.selected : false\n })\n }\n return arr\n } else {\n return null\n }\n }\n\n /**\n * Handles Arrow up & Down. Selection of an option is also possible with these keys.\n * @param { Event } event\n * @private\n */\n _handleArrows (event) {\n if (event.keyCode === 40 || event.keyCode === 38) {\n event.preventDefault()\n const isOpen = this._domElements.optionsContainer.classList.contains('visible')\n // An updated view of the container is needed because of the filtering option\n const optionsContainerList = this._multiselect.querySelector('.multiselect__options > ul')\n\n if (!isOpen) {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n optionsContainerList.firstElementChild.classList.add('arrow-selected')\n optionsContainerList.firstElementChild.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n optionsContainerList.firstElementChild.scrollIntoView(false)\n } else {\n let selected = this._multiselect.querySelector('.multiselect__options ul li.arrow-selected')\n const action = {\n ArrowUp: 'previous',\n Up: 'previous',\n ArrowDown: 'next',\n Down: 'next'\n }\n\n if (!selected) {\n optionsContainerList.firstElementChild.classList.add('arrow-selected')\n optionsContainerList.firstElementChild.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n optionsContainerList.firstElementChild.scrollIntoView(false)\n return\n }\n\n selected.classList.remove('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li)\n\n selected = selected[action[event.key] + 'ElementSibling']\n\n // Go to start or end of the popup list\n if (!selected) {\n selected =\n optionsContainerList.children[action[event.key] === 'next' ? 0 : optionsContainerList.children.length - 1]\n selected.classList.add('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n this._scrollIntoView(optionsContainerList, selected)\n return\n }\n\n selected.classList.add('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n this._scrollIntoView(optionsContainerList, selected)\n }\n }\n }\n\n /**\n * Handles the backspace key event - Deletes the preceding option in the selection list.\n * @param { Event } e\n * @private\n */\n _handleBackspace (e) {\n if (e.keyCode === 8 && e.target.value === '') {\n const lastSelectedOption =\n this._selectedOptions.length > 0 ? this._selectedOptions[this._selectedOptions.length - 1] : null\n\n if (lastSelectedOption) {\n const targetLastSelectedOption = this._multiselect.querySelector(\n `li[data-value=\"${lastSelectedOption.value}\"]`\n )\n this._handleOption(targetLastSelectedOption)\n\n if (this._selectedOptions.length === 0) {\n this._domElements.optionsContainer.classList.remove('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options)\n }\n }\n }\n }\n\n /**\n * Shows clear selection button if some options are selected.\n * @private\n */\n _handleClearSelectionBtn () {\n if (this._selectedOptions.length > 0) {\n this._domElements.clear.style.display = 'flex'\n } else {\n this._domElements.clear.style.display = 'none'\n }\n }\n\n /**\n * Handles the enter key event.\n * @param { Event } event\n * @private\n */\n _handleEnter (event) {\n if (event.keyCode === 13) {\n const selected = this._multiselect.querySelector('.multiselect__options ul li.arrow-selected')\n if (selected) {\n this._handleOption(selected)\n this._closeList()\n }\n }\n }\n\n _handleOption (target, dispatchEvent = true) {\n // Remove\n for (let i = 0; i < this._selectedOptions.length; i++) {\n const el = this._selectedOptions[i]\n if (el.value === target.dataset.value) {\n target.classList.remove('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options)\n this._selectedOptions.splice(i, 1)\n this._removeOptionFromList(target.dataset.value)\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n\n return (\n dispatchEvent &&\n this._dispatchEvent({\n action: 'REMOVE_OPTION',\n value: target.dataset.value,\n selection: this._selectedOptions\n })\n )\n }\n }\n\n // Add\n for (let i = 0; i < this._options.length; i++) {\n const option = this._options[i]\n if (option.value === target.dataset.value) {\n target.classList.add('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options_selected)\n this._selectedOptions = [...this._selectedOptions, option]\n this._addOptionToList(option, i)\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n\n return (\n dispatchEvent &&\n this._dispatchEvent({\n action: 'ADD_OPTION',\n value: target.dataset.value,\n selection: this._selectedOptions\n })\n )\n }\n }\n }\n\n /**\n * Shows the placeholder if no options are selected.\n * @private\n */\n _handlePlaceholder () {\n this._domElements.input.placeholder = this._placeholder\n }\n\n _initSelectedList () {\n let hasItemsSelected = false\n\n for (let i = 0; i < this._options.length; i++) {\n const option = this._options[i]\n if (option.selected) {\n hasItemsSelected = true\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n target.classList.add('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options_selected)\n this._selectedOptions = [...this._selectedOptions, option]\n this._addOptionToList(option, i)\n }\n }\n\n if (hasItemsSelected) { this._handleClearSelectionBtn() }\n this._handlePlaceholder()\n }\n\n /**\n * Process the custom template.\n * @param { string } template\n * @private\n */\n _processTemplate (template, index) {\n let processedTemplate = template\n const objAttr = template.match(/\\$\\{(\\w+)\\}/g).map((e) => e.replace(/\\$\\{|\\}/g, ''))\n\n for (let i = 0; i < objAttr.length; i++) {\n const attr = objAttr[i]\n // eslint-disable-next-line no-useless-escape\n processedTemplate = processedTemplate.replace(`\\$\\{${attr}\\}`, this._data[index][attr] ?? '')\n }\n\n return processedTemplate\n }\n\n _removeAllArrowSelected () {\n const className = 'arrow-selected'\n const target = this._domElements.options.find((el) => el.classList.contains(className))\n target && target.classList.remove(className) && target.setAttribute('style', style.multiselect__options_ul_li)\n }\n\n /**\n * Removes an option from the list.\n * @param { string } value\n * @private\n */\n _removeOptionFromList (value) {\n const optionDom = this._multiselect.querySelector(`span[data-value=\"${value}\"]`)\n optionDom && optionDom.parentNode && optionDom.parentNode.removeChild(optionDom)\n }\n\n /**\n * Renders the multiselect options list view.\n * @private\n */\n _renderOptionsList () {\n const html = `\n <div class=\"multiselect__options\" style=\"${style.multiselect__options}\">\n <ul style=\"${style.multiselect__options_ul}\">\n ${\n this._options.length > 0 && !this._itemTemplate\n ? this._options\n .map((option) => {\n return `\n <li data-value=\"${option.value}\" style=\"${style.multiselect__options_ul_li}\">${option.text}</li>\n `\n })\n .join('')\n : ''\n }\n\n ${\n this._options.length > 0 && this._itemTemplate\n ? this._options\n .map((option, index) => {\n return `\n <li data-value=\"${option.value}\" style=\"${style.multiselect__options_ul_li}\">${this._processTemplate(this._itemTemplate, index)}</li>\n `\n })\n .join('')\n : ''\n }\n ${this._showNoData(this._options.length === 0)}\n </ul>\n </div>\n `\n\n this._multiselect.insertAdjacentHTML('beforeend', html)\n }\n\n /**\n * Renders the multiselect view.\n * @private\n */\n _renderMultiselect () {\n this._select.style.display = 'none'\n const id = 'iconic-' + this._generateId(20)\n // Timea created dedicated div element because previous code was not rendering\n this._multiselect = document.createElement('div')\n this._multiselect.setAttribute('id', id)\n this._multiselect.setAttribute('class', 'multiselect__container')\n this._multiselect.setAttribute('style', style.multiselect__container)\n const html = `\n <div class=\"multiselect__wrapper\" style=\"${style.multiselect__wrapper}\">\n <input class=\"multiselect__input\" style=\"${style.multiselect__input}\" placeholder=\"${this._placeholder}\" />\n </div>\n <span style=\"display: none;\" class=\"multiselect__clear-btn\" style=\"${style.multiselect__clear_btn}\">${this._cross}</span>\n `\n this._multiselect.innerHTML = html\n this._selectContainer.appendChild(this._multiselect)\n }\n\n /**\n * ScrollIntoView - This small utility reproduces the behavior of .scrollIntoView({ block: \"nearest\", inline: \"nearest\" })\n * This is for IE compatibility without a need of a polyfill\n * @private\n */\n _scrollIntoView (parent, child) {\n const rectParent = parent.getBoundingClientRect()\n const rectChild = child.getBoundingClientRect()\n\n // Detect if not visible at top and then scroll to the top\n if (!(rectParent.top < rectChild.bottom - child.offsetHeight)) {\n parent.scrollTop = child.clientHeight + (child.offsetTop - child.offsetHeight)\n }\n\n // Detect if not visible at bottom and then scroll to the bottom\n if (!(rectParent.bottom > rectChild.top + child.offsetHeight)) {\n parent.scrollTop =\n child.clientHeight +\n (child.offsetTop - child.offsetHeight) -\n (parent.offsetHeight - (child.offsetHeight + (child.offsetHeight - child.clientHeight)))\n }\n }\n\n /**\n * Shows a no data message.\n * @param { boolean } condition\n * @private\n */\n _showNoData (condition) {\n return condition ? `<p class=\"multiselect__options--no-data\" style=\"${style.multiselect__options_ul_p_multiselect__options_no_data}\">${this._noData}</p>` : ''\n }\n\n /**\n * Shows a no results message.\n * @param { boolean } condition\n * @private\n */\n _showNoResults (condition) {\n const dom = this._multiselect.querySelector('.multiselect__options--no-results')\n if (condition) {\n const html = `<p class=\"multiselect__options--no-results\" style=\"${style.multiselect__options_ul_p_multiselect__options_no_results}\">${this._noResults}</p>`\n !dom && this._domElements.optionsContainerList.insertAdjacentHTML('beforeend', html)\n } else {\n dom && dom.parentNode && dom.parentNode.removeChild(dom)\n }\n }\n}\n"],"file":"multiSelect.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-ui",
|
|
3
|
-
"version": "2.4.22-
|
|
3
|
+
"version": "2.4.22-e594bdfb",
|
|
4
4
|
"description": "UI library for writing Solid read-write-web applications",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"clean": "rm -rf lib dist ./Documentation/form-examples/main.js",
|
|
20
20
|
"coverage": "jest --coverage --collectCoverageFrom=src/**/*.[jt]s",
|
|
21
21
|
"lint": "eslint \"src/**/*.js\" \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
22
|
-
"lint-fix": "eslint \"src/**/*.js\" \"src/**/*.ts\" --fix",
|
|
22
|
+
"lint-fix": "eslint \"src/**/*.js\" \"src/**/*.ts\" \"test/**/*.ts\" --fix",
|
|
23
23
|
"jest": "jest",
|
|
24
24
|
"test:debug": "node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --watch",
|
|
25
25
|
"test": "npm run build-version && npm run lint && npm run jest",
|
|
@@ -55,12 +55,13 @@
|
|
|
55
55
|
"homepage": "https://github.com/solidos/solid-ui",
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"escape-html": "^1.0.3",
|
|
58
|
+
"eslint-plugin-n": "^15.2.2",
|
|
58
59
|
"jss": "^10.9.0",
|
|
59
60
|
"jss-preset-default": "^10.9.0",
|
|
60
61
|
"mime-types": "^2.1.35",
|
|
61
62
|
"pane-registry": "^2.4.10",
|
|
62
63
|
"rdflib": "^2.2.19",
|
|
63
|
-
"solid-logic": "
|
|
64
|
+
"solid-logic": "1.3.17-d95df8aa",
|
|
64
65
|
"solid-namespace": "^0.5.2",
|
|
65
66
|
"uuid": "^8.3.2"
|
|
66
67
|
},
|
|
@@ -75,8 +76,9 @@
|
|
|
75
76
|
"@babel/preset-typescript": "^7.16.7",
|
|
76
77
|
"@babel/runtime": "^7.17.8",
|
|
77
78
|
"@mdx-js/react": "^2.1.1",
|
|
78
|
-
"@storybook/addon-
|
|
79
|
-
"@storybook/addon-
|
|
79
|
+
"@storybook/addon-actions": "6.4.19",
|
|
80
|
+
"@storybook/addon-docs": "6.4.19",
|
|
81
|
+
"@storybook/addon-essentials": "6.4.19",
|
|
80
82
|
"@storybook/addon-links": "^6.4.19",
|
|
81
83
|
"@storybook/builder-webpack5": "^6.4.19",
|
|
82
84
|
"@storybook/html": "^6.4.19",
|
|
@@ -95,7 +97,6 @@
|
|
|
95
97
|
"eslint-import-resolver-typescript": "^2.7.0",
|
|
96
98
|
"eslint-plugin-import": "^2.25.4",
|
|
97
99
|
"eslint-plugin-jest": "^26.1.3",
|
|
98
|
-
"eslint-plugin-n": "^15.1.0",
|
|
99
100
|
"eslint-plugin-node": "^11.1.0",
|
|
100
101
|
"eslint-plugin-promise": "^6.0.0",
|
|
101
102
|
"html-webpack-plugin": "^5.5.0",
|
|
@@ -107,6 +108,7 @@
|
|
|
107
108
|
"react": "^17.0.2",
|
|
108
109
|
"react-dom": "^17.0.2",
|
|
109
110
|
"react-is": "^17.0.2",
|
|
111
|
+
"test-usehooks-ts": "^3.0.0-beta",
|
|
110
112
|
"ts-jest": "^27.1.4",
|
|
111
113
|
"typedoc": "^0.22.13",
|
|
112
114
|
"typescript": "^4.6.3",
|